ฉันมีเมทริกซ์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') สิ่งที่เรียกว่า "การโหลด" ในกรณีหนึ่งจะถูกเรียกว่า "คะแนนพีซี" ในอีกกรณีหนึ่งและในทางกลับกัน เนื่องจากทั้งคู่เป็นเพียงพิกัด ( ดูตัวอย่าง ) และแกนดังนั้น "มิติหลัก" จึงเหมือนกัน