What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
math:linear_algebra:matrix_engineers:week3 [2024/01/10 11:54] – [The Least-squares problem] codingharemath:linear_algebra:matrix_engineers:week3 [2024/02/02 06:27] (当前版本) – [The Least-squares problem] codinghare
行 459: 行 459:
 \] \]
 很明显,这是一个 linear system。在这个 Linear system 中,$x$, $y$ 都是已知的,而 $\beta_0, \beta_1$ 是未知的。因此可以做下面的变型: 很明显,这是一个 linear system。在这个 Linear system 中,$x$, $y$ 都是已知的,而 $\beta_0, \beta_1$ 是未知的。因此可以做下面的变型:
 +\\ \\ 
 {{ :math:linear_algebra:matrix_engineers:least_problem_axb.svg?200 |}} {{ :math:linear_algebra:matrix_engineers:least_problem_axb.svg?200 |}}
 \\ \\  \\ \\ 
行 469: 行 470:
 Ax = b_{proj_{col(A)}} Ax = b_{proj_{col(A)}}
 $$ $$
-==求解 Least-Squares Problem==+==Normal Equation== 
 +为了求解上述的等式,我们需要对 $Ax=b$ 做一些变形。如果我们将 $b$ 分解为在 $col(A)$ 上的投影 $b_{proj_{col(A)}}$,和另外一个分量,也就是: 
 +\[ 
 +\begin{align} 
 +Ax & = b_{proj_{col(A)}} + b -b_{proj_{col(A)}} 
 +\end{align} 
 +\] 
 +由于 $b_{proj_{col(A)}}$ 是在 $col(A)$ 的投影,那么 $ b -b_{proj_{col(A)}}$ 显然垂直于 $col(A)$。而通过基础空间之间的关系可知,$col(A) =row(A^T)$。而 row space 恰好又与对应的 null space 互相垂直(互为 Orthagonal completement),因此: 
 +  * $ b -b_{proj_{col(A)}}$ 与 $col(A)$ 垂直,因此与 $row(A^T)$ 垂直 
 +  * 也就是说, $b -b_{proj_{col(A)}}$ 属于 $null(A^T)$ 
 + 
 +现在我们对 $Ax=b$ 的两边同时乘以 $A^T$。由于 $A^Tb_{proj_{col(A)}}$ 属于 $null(A^T)$,因此该分量与 $A^T$ 的乘积为 $0$。由此可以得到以下的推论: 
 +\\ \\  
 +\[ 
 +\begin{align*} 
 +A^TAx & = A^Tb_{proj_{col(A)}} + A^T(b -b_{proj_{col(A)}})\\ 
 +&=A^Tb_{proj_{col(A)}} 
 +\end{align*}  
 +\] 
 +记作: 
 +>$$ 
 +A^TAx=A^Tb 
 +$$ 
 +<WRAP center round box 100%> 
 +这个公式被称为 //Normal Equation//,是计算 Best fit line 的重要手段。 
 +</WRAP> 
 +==Projection matrix== 
 +当 $col(A)$ 中的向量是线性无关的时候,$A^TA$ 的结果是一个方阵,是可逆的。因此,对 //Normal Equation// 可以做出进一步的变形: 
 +\\  
 +\[ 
 +\begin{align*} 
 +&A^TAx  = A^Tb \\ 
 +\Rightarrow & = (A^TA)^{-1}A^Tb \\ 
 +\Rightarrow &Ax = {\color{Red} A(A^TA)^{-1}A^T} b = b_{proj_{Col(A)}} 
 +\end{align*} 
 +\] 
 +标红的部分被称为 //Projection matrix//。该矩阵将 $b$ 投影到 $Col(A)$ 上。 
 +==利用 normal equation 计算 best fit line== 
 +//假设有数据点:$(1,1), (2,3),(3,2)$,求过这几点的 best fit line。//\\ \\  
 +首先,根据数据点,以 $y = \beta_0 + \beta_1x$ 为模板,建立 linear system。通过 linear system 确定 $A$: 
 + 
 +\[ 
 + 
 +\begin{pmatrix} 
 +  1&1 \\ 
 +  1& 2\\ 
 +  1&3 
 +\end{pmatrix} 
 +\begin{pmatrix} 
 +\beta_0\\ 
 +\beta_1 
 + 
 +\end{pmatrix} 
 +
 +\begin{pmatrix} 
 + 1\\ 
 + 3\\ 
 +
 +\end{pmatrix} 
 +\] 
 +将 $A$ 带入 normal equation: 
 +\[ 
 +\begin{pmatrix*} 
 +  1&  1& 1\\ 
 +  1&  2&3 
 +\end{pmatrix*} 
 +\begin{pmatrix*} 
 +  1&1 \\ 
 +  1& 2\\ 
 +  1&3 
 +\end{pmatrix*} 
 +\begin{pmatrix*} 
 +\beta_0\\ 
 +\beta_1 
 + 
 +\end{pmatrix*} 
 +
 +\begin{pmatrix*} 
 +  1&  1& 1\\ 
 +  1&  2&3 
 +\end{pmatrix*} 
 +\begin{pmatrix*} 
 + 1\\ 
 + 3\\ 
 +
 +\end{pmatrix*} 
 +\] 
 +\\  
 +计算后得到关于 $\beta_0$ 和 $\beta_1$ 的 linear system。此时的未知数与等式数量相同,因此可以求解: 
 +\\  
 +\[ 
 +\begin{pmatrix*} 
 + 3 &6 \\ 
 + 6 &14 
 +\end{pmatrix*} 
 +\begin{pmatrix*} 
 +\beta_0\\ 
 +\beta_1 
 + 
 +\end{pmatrix*} 
 += 
 +\begin{pmatrix*} 
 + 6\\ 
 +13 
 +\end{pmatrix*}
  
 +\]
 +\\ 解得 $\beta_0 = 1$,$\beta_1 = 1/2$,因此得到的直线方程为 $y = 1 + 1/2 * x$