ฉันมีเมทริกซ์Xที่มีN = 20ตัวอย่างในD = 100มิติมิติ ตอนนี้ฉันต้องการเขียนรหัสการวิเคราะห์องค์ประกอบหลักของตัวเอง (PCA) ใน Matlab ฉันดูถูกXถึงX 0ก่อน
ฉันอ่านจากรหัสของใครบางคนซึ่งในสถานการณ์เช่นนี้ที่เรามีมิติมากกว่าการสังเกตเราไม่ได้สลายตัวค่าความแปรปรวนร่วมของอีกต่อไป แต่เราย่อยสลายไอเก็น1 0 ทำไมมันถูกต้อง?
เมทริกซ์ความแปรปรวนร่วมปกติมีขนาดแต่ละองค์ประกอบที่บอกความแปรปรวนร่วมระหว่างสองมิติกับเรา สำหรับฉัน1ไม่ได้เป็นขนาดที่ถูกต้อง! มันเป็นN×Nเมทริกซ์เพื่อให้สิ่งที่มันจะบอกเรา? ความแปรปรวนระหว่างการสังเกตสองครั้ง!
n<p
ใช้แรมน้อยลงและใช้เวลาน้อยลงในการย่อยสลายXX'
เนื่องจากมีขนาดเล็กลง
XX'
ไปยังพีซี คุณกรุณาช่วยแสดงให้ฉันดูได้ในเวลาสั้น ๆ เมื่อพิจารณาว่าพีซีเป็นเพียงลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วมฉันจึงพยายามเปลี่ยนจากค่าไอเกนของXX'
ไปเป็นค่าเริ่มต้นของเมทริกซ์ความแปรปรวนร่วมX'X
แต่ไม่สำเร็จ
X'X
และXX'
(รวมถึง svd ของX
และX'
) สิ่งที่เรียกว่า "การโหลด" ในกรณีหนึ่งจะถูกเรียกว่า "คะแนนพีซี" ในอีกกรณีหนึ่งและในทางกลับกัน เนื่องจากทั้งคู่เป็นเพียงพิกัด ( ดูตัวอย่าง ) และแกนดังนั้น "มิติหลัก" จึงเหมือนกัน