MatrixSolveLs

کلاس نهایی عمومی MatrixSolveLs

یک یا چند مسئله حداقل مربعات خطی را حل می کند.

«ماتریس» یک تانسور شکل «[...، M، N]» است که بیشترین 2 بعد داخلی آن، ماتریس های واقعی یا پیچیده با اندازه «[M، N]» را تشکیل می دهند. «Rhs» تانسوری از همان نوع «ماتریس» و شکل «[...، M، K]» است. خروجی یک شکل تانسوری «[...، N، K]» است که در آن هر ماتریس خروجی هر یک از معادلات «ماتریس[...، :، :]» * «خروجی[...، :، :] را حل می کند. ` = `rhs[..., :, :]` به معنای حداقل مربعات.

ما از نماد زیر برای ماتریس (پیچیده) و سمت راست در دسته استفاده می کنیم:

«ماتریس»=\\(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 ()
دسته نمادین تانسور را برمی گرداند.
static <T TType > MatrixSolveLs <T> را گسترش می دهد
ایجاد ( دامنه دامنه ، ماتریس عملوند <T>، عملوند <T> rhs، عملوند < TFloat64 > l2Regularizer، گزینه‌ها... گزینه‌ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات جدید MatrixSolveLs را بسته بندی می کند.
استاتیک MatrixSolveLs.Options
سریع (سریع بولی)
خروجی <T>
خروجی ()
شکل «[...، N، K]» است.

روش های ارثی

ثابت ها

رشته نهایی ثابت عمومی OP_NAME

نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

مقدار ثابت: "MatrixSolveLs"

روش های عمومی

خروجی عمومی <T> asOutput ()

دسته نمادین تانسور را برمی گرداند.

ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.

عمومی ایستا MatrixSolveLs <T> ایجاد می کنند ( دامنه دامنه ، ماتریس عملوند <T>، عملوند <T> rhs، عملوند < TFloat64 > l2Regularizer، گزینه ها... گزینه ها)

روش کارخانه برای ایجاد کلاسی که یک عملیات جدید MatrixSolveLs را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
ماتریس شکل «[...، M، N]» است.
rhs شکل «[...، M، K]» است.
l2 تنظیم کننده تانسور اسکالر.

گزینه ها مقادیر ویژگی های اختیاری را حمل می کند
برمی گرداند
  • یک نمونه جدید از MatrixSolveLs

عمومی Static MatrixSolveLs.Options سریع (سریع بولی)

خروجی عمومی <T> خروجی ()

شکل «[...، N، K]» است.