3
PCA ช้าเกินไปเมื่อทั้ง n, p มีขนาดใหญ่: ทางเลือก?
การตั้งค่าปัญหา ฉันมีจุดข้อมูล (ภาพ) ที่มีมิติสูง (4096) ซึ่งฉันกำลังพยายามมองเห็นเป็น 2D ด้วยเหตุนี้ผมใช้เสื้อ sne ในลักษณะที่คล้ายกับต่อไปนี้โค้ดตัวอย่างโดย Karpathy เอกสาร scikit เรียนรู้แนะนำให้ใช้ PCA แรกลดขนาดของข้อมูล: ขอแนะนำให้ใช้วิธีการลดขนาดแบบอื่น (เช่น PCA สำหรับข้อมูลหนาแน่นหรือ TruncatedSVD สำหรับข้อมูลแบบเบาบาง) เพื่อลดจำนวนมิติเป็นจำนวนที่เหมาะสม (เช่น 50) หากจำนวนคุณลักษณะสูงมาก ฉันใช้รหัสนี้โดย Darks.Liu เพื่อดำเนินการ PCA ใน Java: //C=X*X^t / m DoubleMatrix covMatrix = source.mmul(source.transpose()).div(source.columns); ComplexDoubleMatrix eigVal = Eigen.eigenvalues(covMatrix); ComplexDoubleMatrix[] eigVectorsVal = Eigen.eigenvectors(covMatrix); ComplexDoubleMatrix eigVectors = …