คำถามติดแท็ก matrix-factorization

10
อัลกอริทึมที่แข็งแกร่งสำหรับ
อัลกอริธึมง่ายๆสำหรับการคำนวณ SVD ของเมทริกซ์คืออะไร?2×22×22 \times 2 เป็นการดีที่ฉันต้องการอัลกอริทึมที่มีประสิทธิภาพเป็นตัวเลข แต่ฉันต้องการเห็นการใช้งานที่เรียบง่ายและไม่ง่าย ยอมรับรหัส C การอ้างอิงใด ๆ กับเอกสารหรือรหัส?

4
พิจารณาอย่างรวดเร็วว่าเมทริกซ์หนาแน่นหรือไม่นั้นอยู่ในระดับต่ำ
ในโครงการซอฟต์แวร์ที่ฉันกำลังดำเนินการการคำนวณบางอย่างง่ายขึ้นอย่างมากสำหรับเมทริกซ์ระดับต่ำที่หนาแน่น อินสแตนซ์ปัญหาบางอย่างเกี่ยวข้องกับเมทริกซ์อันดับต่ำหนาแน่น แต่พวกเขามอบให้ฉันเต็มแทนที่จะเป็นปัจจัยดังนั้นฉันจะต้องตรวจสอบอันดับและปัจจัยเมทริกซ์ถ้าฉันต้องการใช้ประโยชน์จากโครงสร้างระดับต่ำ . โดยทั่วไปแล้วเมทริกซ์ในคำถามจะเต็มหรือเกือบจะหนาแน่นเกือบสมบูรณ์โดยมี n ตั้งแต่หนึ่งร้อยถึงไม่กี่พัน หากเมทริกซ์มีอันดับต่ำ (พูดน้อยกว่า 5 ถึง 10) การคำนวณ SVD และใช้รูปแบบการแยกตัวประกอบอันดับต่ำนั้นคุ้มค่ากับความพยายาม อย่างไรก็ตามหากเมทริกซ์ไม่ได้อยู่ในอันดับต่ำความพยายามก็จะสูญเปล่า ดังนั้นฉันต้องการค้นหาวิธีที่รวดเร็วและเชื่อถือได้อย่างสมเหตุสมผลในการพิจารณาว่าอันดับอยู่ในระดับต่ำหรือไม่ก่อนที่จะลงทุนในการแยกตัวประกอบ SVD แบบเต็ม หาก ณ จุดใด ๆ เห็นได้ชัดว่าอันดับอยู่เหนือทางลัดกระบวนการสามารถหยุดได้ทันที หากโพรซีเดอร์แจ้งว่าเมทริกซ์อยู่ในระดับต่ำเมื่อไม่ผิดนี่ไม่ใช่ปัญหาใหญ่เพราะฉันยังคงทำ SVD แบบเต็มเพื่อยืนยันอันดับต่ำและค้นหาการแยกตัวประกอบต่ำ ตัวเลือกที่ฉันถือว่ามีอันดับที่เปิดเผย LU หรือ QR ตัวประกอบตามด้วย SVD แบบเต็มเป็นเช็ค มีวิธีอื่นที่ฉันควรพิจารณาอีกหรือไม่

1
เร็วและเสถียร (ซ้าย)
ฉันต้องคำนวณจำนวนมาก 3×33×33\times3 เมทริกซ์ผกผัน (สำหรับการสลายตัวแบบวนซ้ำของนิวตันโดยมีจำนวนผู้ป่วยที่เสื่อมสภาพน้อยมาก (&lt;0.1%&lt;0.1%<0.1\%) การผกผันอย่างชัดเจน (ผ่านผู้เยาว์เมทริกซ์หารด้วยดีเทอร์แนนต์) ดูเหมือนว่าจะทำงานได้และประมาณ ~ 32 ~ 40 หลอมรวม flops (ขึ้นอยู่กับว่าฉันคำนวณคำนวณส่วนกลับกันอย่างไร) การไม่คำนึงถึงปัจจัยระดับสเกลเป็นเพียง 18 ฟิวชั่นฟิกซ์ (แต่ละองค์ประกอบ 9 รายการมีรูปแบบ ab-cd, 2 หลอมรวมฟลอป) คำถาม: มีวิธีคำนวณค่าผกผันของ 3×33×33\times 3 ใช้น้อยกว่า 18 (กับขนาดโดยพลการ) หรือ 32 (ด้วยขนาดที่เหมาะสมพิจารณา 1 ซึ่งกันและกัน) flops ผสม? มีวิธีการประหยัดหรือไม่ (ใช้ ~ 50 f-flops) เพื่อคำนวณค่าอินเวอร์สซ้ายหลังที่เสถียรของ a 3×33×33\times 3 เมทริกซ์? ฉันกำลังใช้โฟลทแม่นยำ (เกม …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.