2
คำนวณ SVD ที่ถูกตัดทอนหนึ่งค่า / เวกเตอร์หนึ่งตัวในแต่ละครั้ง
มีอัลกอริทึม SVD ที่ถูกตัดทอนที่คำนวณค่าเอกพจน์ทีละหนึ่งหรือไม่ ปัญหาของฉัน: ผมอยากจะคำนวณแรกค่าเอกพจน์ (และเวกเตอร์เอกพจน์) ของขนาดใหญ่ที่หนาแน่นเมทริกซ์แต่ผมไม่ทราบว่าสิ่งที่มีค่าที่เหมาะสมของจะเป็น มีขนาดใหญ่ดังนั้นด้วยเหตุผลด้านประสิทธิภาพฉันไม่อยากประเมิน SVD แบบเต็มเพียงเพื่อตัดทอน SV ที่เล็กที่สุดหลังจากนั้นM k MkkkMMMkkkMMM เป็นการดีที่จะมีวิธีคำนวณค่าเอกพจน์ลำดับจากมากที่สุด ( ) ถึงน้อยที่สุด ( ) ด้วยวิธีนี้ฉันสามารถหยุดการคำนวณหลังจากคำนวณค่าเอกพจน์ th หากต่ำกว่าเกณฑ์σ 1 σ n k σ k / σ 1σ1, σ2, ...σ1,σ2,...\sigma_1, \sigma_2,\ldotsσ1σ1\sigma_1σnσn\sigma_nkkkσk/ σ1σk/σ1\sigma_k/\sigma_1 มีอัลกอริทึมดังกล่าวอยู่หรือไม่ (โดยเฉพาะอย่างยิ่งเมื่อใช้ Python) ใน googling ของฉันฉันพบเฉพาะฟังก์ชัน SVD ที่ถูกตัดทอนซึ่งใช้ k เป็นพารามิเตอร์ดังนั้นบังคับให้คุณคาดเดาว่าเป็นนิรนัย