MatrixSolveLs

MatrixSolveLs คลาสสุดท้ายสาธารณะ

แก้ปัญหากำลังสองน้อยที่สุดเชิงเส้นอย่างน้อยหนึ่งข้อ

`เมทริกซ์` คือเทนเซอร์ของรูปร่าง `[..., M, N]` ซึ่ง 2 มิติที่อยู่ด้านในสุดจะก่อตัวเป็นเมทริกซ์จริงหรือเมทริกซ์เชิงซ้อนที่มีขนาด `[M, N]` `Rhs` เป็นเมตริกซ์ชนิดเดียวกับ `เมทริกซ์` และรูปร่าง `[..., M, K]` ผลลัพธ์จะเป็นรูปร่างเทนเซอร์ `[..., N, K]` โดยที่เมทริกซ์เอาต์พุตแต่ละตัวจะแก้สมการแต่ละสมการ `เมทริกซ์[..., :, :]` * `output[..., :, :] ` = `rhs[..., :, :]` ในความหมายกำลังสองน้อยที่สุด

เราใช้สัญลักษณ์ต่อไปนี้สำหรับเมทริกซ์ (เชิงซ้อน) และด้านขวามือในชุด:

`matrix`=\\(A \in \mathbb{C}^{m \times n}\\), `rhs`=\\(B \in \mathbb{C}^{m \times k}\\), `output`=\\(X \in \mathbb{C}^{n \times k}\\), `l2_regularizer`=\\(\lambda \in \mathbb{R}\\)

หาก 'เร็ว' เป็น 'จริง' แสดงว่าคำตอบจะถูกคำนวณโดยการแก้สมการปกติโดยใช้การสลายตัวของโชเลสกี้ โดยเฉพาะอย่างยิ่ง ถ้า \\(m \ge n\\) แล้ว \\(X = (A^H A + \lambda I)^{-1} A^H B\\)ซึ่งแก้ปัญหากำลังสองน้อยที่สุด \\(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||A Z - B||_F^2 + \lambda ||Z||_F^2\\)ถ้า \\(m \lt n\\) ดังนั้น `output` จะถูกคำนวณเป็น \\(X = A^H (A A^H + \lambda I)^{-1} B\\)ซึ่ง (สำหรับ \\(\lambda = 0\\)) เป็นวิธีแก้ปัญหาบรรทัดฐานขั้นต่ำสำหรับระบบเชิงเส้นที่กำหนดไว้ต่ำกว่า นั่นคือ \\(X = \mathrm{argmin}_{Z \in \mathbb{C}^{n \times k} } ||Z||_F^2 \\)ขึ้นอยู่กับ \\(A Z = B\\)โปรดสังเกตว่าเส้นทางด่วนจะเสถียรเฉพาะตัวเลขเมื่อ \\(A\\) เป็นตัวเลขเต็มอันดับและมีหมายเลขเงื่อนไข \\(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\\) หรือ \\(\lambda\\) มีขนาดใหญ่เพียงพอ

หาก 'เร็ว' เป็น 'เท็จ' จะใช้อัลกอริธึมที่ยึดตามการสลายตัวเชิงมุมฉากที่สมบูรณ์เชิงตัวเลขที่แข็งแกร่ง วิธีนี้จะคำนวณวิธีแก้ปัญหากำลังสองน้อยที่สุดของบรรทัดฐานขั้นต่ำ แม้ว่า \\(A\\) จะมีอันดับไม่เพียงพอก็ตาม โดยทั่วไปเส้นทางนี้จะช้ากว่าเส้นทางด่วน 6-7 เท่า หาก 'fast' เป็น 'False' แสดงว่า 'l2_regularizer` จะถูกละเว้น

คลาสที่ซ้อนกัน

ระดับ MatrixSolveLs.ตัวเลือก คุณลักษณะทางเลือกสำหรับ MatrixSolveLs

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

เอาท์พุต <T>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คงที่ <T ขยาย TType > MatrixSolveLs <T>
สร้าง (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> เมทริกซ์, ตัวดำเนินการ <T> rhs, ตัวดำเนินการ < TFloat64 > l2Regularizer, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ MatrixSolveLs ใหม่
MatrixSolveLs.Options แบบคงที่
เร็ว (บูลีนเร็ว)
เอาท์พุต <T>
เอาท์พุท ()
รูปร่างคือ `[..., N, K]`

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "MatrixSolveLs"

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ <T> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง MatrixSolveLs <T> สาธารณะแบบคงที่ (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> เมทริกซ์, ตัวดำเนินการ <T> rhs, ตัวดำเนินการ < TFloat64 > l2Regularizer, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ MatrixSolveLs ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
เมทริกซ์ รูปร่างคือ `[..., M, N]`
Rhs รูปร่างคือ `[..., M, K]`
l2Regularizer สเกลาร์เทนเซอร์

ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • ตัวอย่างใหม่ของ MatrixSolveLs

MatrixSolveLs.Options แบบคงที่สาธารณะ รวดเร็ว (บูลีนเร็ว)

เอาท์พุท สาธารณะ <T> เอาท์พุท ()

รูปร่างคือ `[..., N, K]`