ความเร็ว, ค่าใช้จ่ายในการคำนวณของ PCA, LASSO, elastic net


18

ฉันกำลังพยายามเปรียบเทียบความซับซ้อนของการคำนวณ / ความเร็วในการประมาณค่าของวิธีการสามกลุ่มสำหรับการถดถอยเชิงเส้นตามที่ระบุไว้ใน Hastie et al "องค์ประกอบของการเรียนรู้ทางสถิติ" (2nd ed.), บทที่ 3:

  1. การเลือกชุดย่อย
  2. วิธีการหดตัว
  3. วิธีการที่ใช้ทิศทางอินพุตที่ได้รับ (PCR, PLS)

การเปรียบเทียบอาจหยาบมากเพียงแค่ให้ความคิด ฉันรวบรวมว่าคำตอบอาจขึ้นอยู่กับขนาดของปัญหาและวิธีการที่เหมาะสมกับสถาปัตยกรรมคอมพิวเตอร์ดังนั้นสำหรับตัวอย่างที่เป็นรูปธรรมเราอาจพิจารณาขนาดตัวอย่างของผู้ลงทะเบียนผู้สมัคร 500 และ 50 คน ฉันส่วนใหญ่สนใจในแรงจูงใจเบื้องหลังความซับซ้อนของการคำนวณ / ความเร็วในการประมาณค่า แต่ไม่นานเท่าไรที่จะใช้กับโพรเซสเซอร์บางตัวสำหรับตัวอย่างที่กำหนด


เมื่อใช้ PCR หรือ PLS จำนวนของส่วนประกอบคือพารามิเตอร์การปรับ (คล้ายกับในการถดถอยของสันเขา) ดังนั้นวิธีการเหล่านี้จะต้องผ่านการตรวจสอบข้ามเพื่อหาจำนวนที่เหมาะสมของส่วนประกอบ LASSO ยังมีพารามิเตอร์การทำให้เป็นมาตรฐานเพียงอย่างเดียว แต่อีลาสติกเน็ตมีสอง (อีลาสติก = ริดจ์ + LASSO) ดังนั้นการตรวจสอบข้ามจึงมีราคาแพงกว่า นอกจากนั้น LASSO อาจจะช้ากว่ารุ่นอื่น ๆ เพราะมันไม่มีโซลูชั่นแบบปิด λ
อะมีบาพูดว่า Reinstate Monica

ขอขอบคุณ! คุณแสดงความคิดเห็นจะทำให้คำตอบที่ดีถ้าคุณรวมสองรายละเอียดเพิ่มเติม: (1) วิธีที่มีราคาแพงเป็นหนึ่งซ้ำของ PCR และ PLS เมื่อเทียบกับ OLS หนึ่งวิ่งของการถดถอยปกติ (2) คำนวณความเร็วของ LASSO ให้แม่นยำมากขึ้นเพื่อให้สามารถเปรียบเทียบกับความเร็วของการถดถอยปกติ (เป็นแบบพหุนามแบบเอกซ์โปเนนเชียลหรือแบบเส้นตรงที่มีราคาแพงกว่าและทำไม)
Richard Hardy

น่าเสียดายที่ฉันไม่มีคำตอบที่พร้อมสำหรับเรื่องนี้โดยเฉพาะอย่างยิ่งกับ (2) นั่นเป็นเหตุผลที่ฉันเพียงแค่แสดงความคิดเห็น +1 โดยวิธีการและขอแสดงความยินดีกับตัวแทน 5k!
อะมีบาพูดว่า Reinstate Monica

1
@ amoeba ขอบคุณ! ฉันคาดว่าจะไม่ถึง 5k เมื่อฉันเริ่มต้น (ช้ามาก) เมื่อปีที่แล้ว แต่มันเป็นเรื่องที่น่าตื่นเต้นและเป็นรางวัลที่ได้เป็นสมาชิกที่กระตือรือร้นที่ Cross Validated!
Richard Hardy

@ amoeba ฉันคิดว่าฉันได้รับความซับซ้อนของ LASSO หากใช้ LARS algorithm ฉันปรับปรุงโพสต์ของฉันตาม แต่ผมไม่ได้อ่านกระดาษ LARS อย่างรอบคอบดังนั้นผมไม่แน่ใจว่ามันถูกต้อง ...
ริชาร์ดฮาร์ดี

คำตอบ:


5

กลุ่มที่1 :
ความซับซ้อน / ความเร็วของกลุ่มที่ 1 ดูเหมือนจะไม่ยากเกินกว่าที่จะเข้าใจว่ามีการใช้อัลกอริทึมแรงเดรัจฉานหรือไม่ (แม้ว่าอาจจะมีทางเลือกที่มีประสิทธิภาพมากกว่าเช่นอัลกอริทึม ตัวอย่างเช่นการเลือกชุดย่อยแบบเต็มจะต้องใช้การถดถอยเพื่อให้เหมาะสมกับกลุ่มของคุณสมบัติผู้สมัครK OLS พอดีของการถดถอยเชิงเส้นเดียวมีความซับซ้อนของO ( K 2 n ) (ตามโพสต์นี้ ) โดยที่nคือขนาดตัวอย่าง ดังนั้นความซับซ้อนโดยรวมของการเลือกชุดย่อยแบบ brute-force ควรเป็นO ( 2 K K 22KKO(K2n)n )O(2KK2n)

กลุ่มที่2 :
ความซับซ้อน / ความเร็วของกลุ่มที่ 2 ถูกกล่าวถึงในหัวข้อ 3.8 และ 3.9 ของหนังสือเล่มนี้ ยกตัวอย่างเช่นสันเขาถดถอยมีโทษให้มีความซับซ้อนของคอมพิวเตอร์เช่นเดียวกับการถดถอยปกติ เนื่องจากλจำเป็นต้องพบโดยใช้การตรวจสอบความถูกต้องของการโหลดการคำนวณเพิ่มขึ้นเป็นเส้นตรงในจำนวนของการแยกข้อมูลที่ใช้ในการตรวจสอบความถูกต้องข้าม (พูด, S ) ถ้าλตารางมีLจุดรวมความซับซ้อนของการถดถอยสันกับจูนλพารามิเตอร์จะเป็นO ( L S K 2 n )λλSλLλO(LSK2n)
มีบางเรื่องที่พูดถึงLASSOในหนังสือ แต่ฉันไม่สามารถหาสิ่งที่ฉันต้องการได้ อย่างไรก็ตามฉันพบในหน้า 443 ของ Efron และคณะ "อย่างน้อยมุมถดถอย" (2004) ที่ซับซ้อนเชือกสำหรับให้เป็นเช่นเดียวกับความซับซ้อนของ OLS นั้นพอดีของการถดถอยเชิงเส้นหากวิธี LARS ถูกนำมาใช้ จากนั้นซับซ้อนรวมของเชือกที่มีการปรับλพารามิเตอร์จะเป็นO ( L S K 2 n ) (ฉันไม่ได้อ่านบทความนั้นอย่างถี่ถ้วนดังนั้นโปรดแก้ไขให้ฉันถ้าฉันทำผิดนี้) ตาข่ายยืดหยุ่นรวมสันและ LASSO; ทั้งสองมีความซับซ้อนในการคำนวณเหมือนกัน ดังนั้นความซับซ้อนของตาข่ายยืดหยุ่นควรจะเป็นλλO(LSK2n)
โดยที่ Aคือขนาดกริดของพารามิเตอร์การปรับแต่ง αที่ปรับสมดุลน้ำหนักของสันเขากับ LASSOO(ALSK2n)Aα

กลุ่มที่3 :
ฉันยังคงคิดถึงโน้ตใด ๆ เกี่ยวกับความซับซ้อน / ความเร็วของกลุ่มที่ 3 ซึ่งประกอบด้วยการถดถอยส่วนประกอบหลัก (PCR) และกำลังสองน้อยที่สุด (PLS)


2

เป็นเพียงส่วนหนึ่งของคำถาม 2 ในกลุ่ม 3 ด้านบน (คือ PLS) แต่อาจมีข้อมูลอย่างไรก็ตาม Srinivasan et al (2010 รายงานทางเทคนิคดูhttps://www.umiacs.umd.edu/~balajiv/Papers/) UMD_CS_TR_Pls_Gpu.pdfทำการวัดบางอย่างบน PLS โดยใช้อัลกอริทึม NIPALS ซึ่งระบุเวลา (และที่ว่าง) ของความซับซ้อนของอัลกอริทึมนี้ว่าเป็น O (dN) - สำหรับการแยกและรวมถึงสิ่งเหล่านี้ในแบบจำลองต่างๆ ) การจดจำใบหน้า ทำการวัดโดยใช้การใช้งาน GPU ของตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.