MatrixSolveLs

כיתה גמר ציבורית MatrixSolveLs

פותר בעיה אחת או יותר של ריבועים קטנים ליניאריים.

`מטריקס` הוא טנזור של צורה `[..., M, N]` ש-2 הממדים הפנימיים ביותר שלו יוצרים מטריצות אמיתיות או מורכבות בגודל `[M, N]`. `Rhs` הוא טנזור מאותו סוג של `מטריקס` וצורה `[..., M, K]`. הפלט הוא צורת טנזור `[..., N, K]` כאשר כל מטריצת פלט פותרת כל אחת מהמשוואות `מטריקס[..., :, :]` * `פלט[..., :, :] ` = `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}\\).

אם 'מהיר' הוא 'נכון', אז הפתרון מחושב על ידי פתרון המשוואות הנורמליות באמצעות פירוק Cholesky. באופן ספציפי, אם \\(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\\) אז `פלט` מחושב כ-\\(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 מהנתיב המהיר. אם 'מהיר' הוא 'שקר' אז מתעלם מ-'l2_regularizer'.

כיתות מקוננות

מעמד MatrixSolveLs.Options תכונות אופציונליות עבור MatrixSolveLs

קבועים

חוּט OP_NAME השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow

שיטות ציבוריות

פלט <T>
asOutput ()
מחזירה את הידית הסמלית של הטנזור.
סטטי <T מרחיב את TType > MatrixSolveLs <T>
צור ( scope scope, Operand <T> מטריצה, Operand <T> rhs, Operand < TFloat64 > l2Regularizer, Options... options)
שיטת מפעל ליצירת מחלקה העוטפת פעולת MatrixSolveLs חדשה.
סטטי MatrixSolveLs.Options
מהיר (מהיר בוליאני)
פלט <T>
פלט ()
הצורה היא `[..., N, K]`.

שיטות בירושה

קבועים

מחרוזת סופית סטטית ציבורית OP_NAME

השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow

ערך קבוע: "MatrixSolveLs"

שיטות ציבוריות

פלט ציבורי <T> asOutput ()

מחזירה את הידית הסמלית של הטנזור.

כניסות לפעולות TensorFlow הן יציאות של פעולת TensorFlow אחרת. שיטה זו משמשת להשגת ידית סמלית המייצגת את חישוב הקלט.

MatrixSolveLs סטטיים ציבוריים <T> יוצרים ( scope scope, Operand <T> מטריצה, Operand <T> rhs, Operand < TFloat64 > l2Regularizer, Options... options)

שיטת מפעל ליצירת מחלקה העוטפת פעולת MatrixSolveLs חדשה.

פרמטרים
תְחוּם ההיקף הנוכחי
מַטרִיצָה הצורה היא `[..., M, N]`.
rhs הצורה היא `[..., M, K]`.
l2Regularizer טנסור סקלרי.

אפשרויות נושא ערכי תכונות אופציונליות
החזרות
  • מופע חדש של MatrixSolveLs

ציבורי סטטי MatrixSolveLs.Options מהיר (מהיר בוליאני)

פלט ציבורי <T> פלט ()

הצורה היא `[..., N, K]`.