פותר בעיה אחת או יותר של ריבועים קטנים ליניאריים.
`מטריקס` הוא טנזור של צורה `[..., 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> | |
סטטי MatrixSolveLs.Options | מהיר (מהיר בוליאני) |
פלט <T> | פלט () הצורה היא `[..., N, K]`. |
שיטות בירושה
קבועים
מחרוזת סופית סטטית ציבורית OP_NAME
השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow
שיטות ציבוריות
פלט ציבורי <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