เหตุใดเราจึงใช้ PCA เพื่อเพิ่มความเร็วในการเรียนรู้อัลกอริธึมเมื่อเราสามารถลดจำนวนฟีเจอร์ได้?


12

ในหลักสูตรการเรียนรู้ของเครื่องฉันได้เรียนรู้ว่าการใช้งานทั่วไปของ PCA ( การวิเคราะห์องค์ประกอบหลัก ) คือการเร่งความเร็วอัลกอริทึมการเรียนรู้ของเครื่อง ตัวอย่างเช่นสมมติว่าคุณกำลังฝึกอบรมโมเดลการถดถอยแบบโลจิสติกส์ หากคุณมีชุดฝึกอบรมสำหรับ i จาก 1 ถึง n และปรากฎมิติของเวกเตอร์ x ของคุณใหญ่มาก (สมมุติว่าส่วนหนึ่ง) คุณสามารถใช้ PCA เพื่อรับ ขนาดเล็กลง (สมมุติว่าขนาด k) เวกเตอร์ของคุณลักษณะ z จากนั้นคุณสามารถฝึกรูปแบบการถดถอยโลจิสติกของคุณในชุดฝึกอบรม( z ( i ) , y ( i )(x(i),y(i))สำหรับฉันตั้งแต่ 1 ถึง n การฝึกอบรมโมเดลนี้จะเร็วขึ้นเนื่องจากฟีเจอร์ของคุณมีขนาดน้อย(z(i),y(i))

อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมคุณไม่สามารถลดขนาดของคุณลักษณะเวกเตอร์ของคุณเป็นขนาด k ได้เพียงแค่เลือกคุณสมบัติของคุณแบบสุ่มและกำจัดส่วนที่เหลือ

เวกเตอร์ z คือการรวมกันเชิงเส้นของเวกเตอร์คุณลักษณะของคุณ เนื่องจากเวกเตอร์ z ถูก จำกัด ไว้ที่พื้นผิว k-มิติคุณสามารถเขียนค่าคุณลักษณะที่ถูกกำจัด ak เป็นฟังก์ชันเชิงเส้นของค่าคุณลักษณะ k ที่เหลืออยู่และทำให้ z ทั้งหมดสามารถเกิดขึ้นได้จากการรวมกันเชิงเส้นของคุณสมบัติ k ของคุณ ดังนั้นโมเดลที่ไม่ผ่านการฝึกอบรมในชุดการฝึกอบรมที่มีคุณสมบัติการกำจัดควรมีพลังเช่นเดียวกับแบบจำลองการฝึกอบรมในชุดการฝึกอบรมที่มี PCA ลดขนาดลงหรือไม่ มันขึ้นอยู่กับประเภทของแบบจำลองและมันอาศัยการผสมผสานเชิงเส้นบางประเภทหรือไม่?


1
คอลัมน์แบบหล่นจะนำไปสู่การสูญเสียข้อมูลเพิ่มเติมเมื่อเปรียบเทียบกับการใช้ PCA
Haitao Du

2
ปฏิกิริยาลูกโซ่พอลิเมอเรสเกี่ยวข้องกับอะไร? :-) --- ในความจริงจังคุณควรสะกดคำก่อนที่จะใช้คำย่อ
Carl Witthoft

คุณสามารถดู eigenvectors ที่ได้รับจาก PCA เป็นคุณลักษณะใหม่ดังนั้น PCA จึงอนุญาตให้มีการลดคุณสมบัติ - โดยรวมสิ่งที่เราได้เป็นสิ่งที่จับความแปรปรวนมากกว่าที่เราเริ่มต้น
คณิตศาสตร์ที่

1
ที่เกี่ยวข้องมาก: stats.stackexchange.com/questions/141864
อะมีบาพูดว่า Reinstate Monica

คำตอบ:


26

pd<pdXXDD{0,1}p×dXXVVRp×dVXVXXdpp

XX


2
+1 มันก็ยังคงทำให้ความรู้สึกที่จะถามว่าทำไมการเปลี่ยนแปลงใน X (PCA ที่พยายามที่จะรักษา) ควรจะเกี่ยวข้องในการทำนาย Y ... นี้เป็นหัวข้อที่เกี่ยวข้อง: stats.stackexchange.com/questions/141864
อะมีบาพูดว่า Reinstate Monica

4

PCA ลดคุณสมบัติในขณะที่รักษาความแปรปรวน / ข้อมูลในข้อมูลต้นฉบับ สิ่งนี้ช่วยในการเปิดใช้งานการคำนวณในขณะที่ไม่สูญเสียความคล้ายคลึงกันของข้อมูลจริง


2

PCA solution

ก่อนอื่นให้ระวังเมื่อใช้ PCA เพื่อจุดประสงค์นี้ ตามที่ฉันเขียนเพื่อตอบคำถามที่เกี่ยวข้อง PCA ไม่จำเป็นต้องนำไปสู่การเลือกคุณสมบัติที่มีข้อมูลสำหรับการถดถอยที่คุณตั้งใจจะทำ (ดูJolliffe 1982 ด้วย )

OP เสนอวิธีแก้ปัญหา

reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.dimension of your vector x is very largep

pCkkpp=1000k=58.25×1012k=5k=6p

ทางออกที่แนะนำ

p

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