PCA ยังทำผ่าน eigendecomposition ของเมทริกซ์ความแปรปรวนร่วมเมื่อมีมิติข้อมูลมากกว่าจำนวนการสังเกตหรือไม่?


10

ฉันมีเมทริกซ์Xที่มีN = 20ตัวอย่างในD = 100มิติมิติ ตอนนี้ฉันต้องการเขียนรหัสการวิเคราะห์องค์ประกอบหลักของตัวเอง (PCA) ใน Matlab ฉันดูถูกXถึงX 0ก่อน20×100Xยังไม่มีข้อความ=20D=100XX0

ฉันอ่านจากรหัสของใครบางคนซึ่งในสถานการณ์เช่นนี้ที่เรามีมิติมากกว่าการสังเกตเราไม่ได้สลายตัวค่าความแปรปรวนร่วมของอีกต่อไป แต่เราย่อยสลายไอเก็น1X0 0 ทำไมมันถูกต้อง?1N1X0X0T

เมทริกซ์ความแปรปรวนร่วมปกติมีขนาดแต่ละองค์ประกอบที่บอกความแปรปรวนร่วมระหว่างสองมิติกับเรา สำหรับฉัน1D×Dไม่ได้เป็นขนาดที่ถูกต้อง! มันเป็นN×Nเมทริกซ์เพื่อให้สิ่งที่มันจะบอกเรา? ความแปรปรวนระหว่างการสังเกตสองครั้ง!1N1X0X0TN×N


คำตอบสำหรับคำถามของคุณอยู่ในสถานการณ์ที่ตามมาจากการวางตัวของคุณคุณไม่ต้องการเมทริกซ์ความแปรปรวนร่วมของคอลัมน์สำหรับตัวเอง คุณต้องการเพียงแค่เป็นเส้นทางในการรับพีซี ขวา? แต่ผลลัพธ์ PCA เดียวกันสามารถรับได้ผ่าน eigen ของX'XและXX'(รวมถึง svd ของXและX') สิ่งที่เรียกว่า "การโหลด" ในกรณีหนึ่งจะถูกเรียกว่า "คะแนนพีซี" ในอีกกรณีหนึ่งและในทางกลับกัน เนื่องจากทั้งคู่เป็นเพียงพิกัด ( ดูตัวอย่าง ) และแกนดังนั้น "มิติหลัก" จึงเหมือนกัน
ttnphns

1
(ต่อ) หากเป็นเช่นนั้นและคุณมีอิสระที่จะเลือกว่าจะแยกย่อยแบบไหน - ก็ควรที่จะย่อยสลายสิ่งที่ต้องทำเร็วกว่า / มีประสิทธิภาพมากขึ้น เมื่อn<pใช้แรมน้อยลงและใช้เวลาน้อยลงในการย่อยสลายXX'เนื่องจากมีขนาดเล็กลง
ttnphns

@ttnphns คำอธิบายที่ดี ฉันเห็นจุดนี้แล้ว อย่างไรก็ตามฉันยังคงมีปัญหาจาก eigen ของXX'ไปยังพีซี คุณกรุณาช่วยแสดงให้ฉันดูได้ในเวลาสั้น ๆ เมื่อพิจารณาว่าพีซีเป็นเพียงลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วมฉันจึงพยายามเปลี่ยนจากค่าไอเกนของXX'ไปเป็นค่าเริ่มต้นของเมทริกซ์ความแปรปรวนร่วมX'Xแต่ไม่สำเร็จ
การพนัน Sibbs

1
ฉันต้องไปแล้ว. บางที @amoeba (ผู้ซึ่งมีความคล่องแคล่วในพีชคณิตมากกว่าฉัน) หรือผู้อ่านรายอื่นจะเข้ามาที่นี่ในไม่ช้าและช่วยคุณได้ ไชโย
ttnphns

1
@ttnphns: เสร็จแล้ว :)
อะมีบา

คำตอบ:


22

เมทริกซ์ความแปรปรวนเป็นขนาดและจะได้รับจากC = 1D×D

C=1N1X0X0.

เมทริกซ์ที่คุณกำลังพูดถึงนั้นแน่นอนว่าไม่ใช่เมทริกซ์ความแปรปรวนร่วม มันถูกเรียกว่าแกรมแมทริกซ์และมีขนาด: G = 1N×N

G=1N1X0X0.

การวิเคราะห์องค์ประกอบหลัก (PCA) สามารถดำเนินการผ่าน eigendecomposition ของเมทริกซ์เหล่านี้ นี่เป็นเพียงสองวิธีในการคำนวณสิ่งเดียวกัน

วิธีที่มีประโยชน์มากที่สุดที่เห็นนี้ที่ง่ายและใช้งานการสลายตัวมูลค่าเอกพจน์เมทริกซ์ข้อมูล เสียบสิ่งนี้เข้ากับนิพจน์สำหรับCและGเราจะได้รับ: CX=ยูSVG

=VS2ยังไม่มีข้อความ-1VG=ยูS2ยังไม่มีข้อความ-1ยู.

Eigenvectors ของเมทริกซ์ความแปรปรวนร่วมเป็นทิศทางหลัก ประมาณการของข้อมูลเกี่ยวกับ eigenvector เหล่านี้เป็นองค์ประกอบหลัก การคาดการณ์เหล่านี้จะได้รับจากU S องค์ประกอบหลักปรับขนาดให้หน่วยความยาวจะได้รับจากU อย่างที่คุณเห็น eigenvectors ของเมทริกซ์แกรมเป็นส่วนประกอบหลักที่ปรับขนาดเหล่านี้ และค่าลักษณะเฉพาะของCและGตรงกันVยูSยูG

ยังไม่มีข้อความ<DDDยังไม่มีข้อความ<D



1
คำตอบที่ดี! ฉันไม่รู้ว่ามันมีชื่อ! ขอบคุณมาก! ตอนนี้ฉันมั่นใจที่จะใช้มันเพื่อเร่งการคำนวณของฉัน
การพนัน Sibbs

3
คำตอบของฉันอนุมานว่าสิ่งที่คุณต้องการที่จะได้รับคือและบางทีอาจจะยังS / ( n - 1 ) หากคุณต้องการได้Vแล้วคุณสามารถคำนวณได้ผ่านยูS/(n-1)VยูXยู

คำตอบนี้ชัดเจนว่ามีงานแสดงสินค้ามากมายที่ฉันเคยเห็นในหนังสือ ขอบคุณ
usεr11852

เพื่อจุดประสงค์ในการอ้างอิงอย่างแท้จริง: ฉันคิดว่ากระดาษ 1969 Technometrics ของ IJ Good "การประยุกต์บางส่วนของการสลายตัวเอกพจน์ของเมทริกซ์ " เป็นหนึ่งในคนแรกที่อ้างอิงแรกนี้อย่างเต็มที่
usεr11852

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