码迷,mamicode.com
首页 > 其他好文 > 详细

线性代数之——最小二乘

时间:2018-11-26 00:21:09      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:一个   直线   微积分   str   load   长度   amp   lock   rip   

1. 最小二乘

\(Ax=b\) 经常会没有解,当方程个数大于未知数个数,也即 \(m>n\) 时,列空间并不是 \(R^m\) 空间的全部,因此 \(b\) 可能不在列空间中,这时候方程组就无解,但我们不应该就此而停止。

也就是误差 \(e = b-Ax\) 并不总是能得到 0,这时候,如果误差 \(e\) 的长度尽可能的小,那我们就得到了最小二乘解 \(\hat x\)

\(Ax=b\) 无解的时候,我们乘以 \(A^T\) 来求解 \(A^TAx=A^Tb\)

假如我们要找到一条直线,让它距离 (0, 6) ,(1, 0),(2, 0) 这三点最近。没有直线 \(b = C+Dt\) 同时穿过这三点,我们要找的两个常数 \(C\)\(D\)

\[\begin{alignedat}{3} &C\quad+ \quad&D&\cdot 0 \quad=\quad 6 \ &C\quad + \quad&D&\cdot 1 \quad=\quad 0 \&C\quad + \quad&D&\cdot 2 \quad=\quad 0 \end{alignedat}\]

\[A = \begin{bmatrix}1&0\\1&1\\ 1&2 \end{bmatrix} \quad x = \begin{bmatrix}C\\D \end{bmatrix} \quad b = \begin{bmatrix}6\\0\\0 \end{bmatrix}\]

由于 \(b = (6, 0, 0)\) 不是 \(A\) 的列的一个线性组合,因此方程组无解。

\[A^TAx=A^Tb \to \begin{bmatrix}3&3\\3&5\end{bmatrix} \begin{bmatrix}C\\D \end{bmatrix}\begin{bmatrix}6\\0 \end{bmatrix}\]

\[\begin{alignedat}{2} C = 5 \ D =-3 \end{alignedat}\]

因此,距离这三点最近的一条直线为 \(b = 5-3t\)

2. 最小化误差

  • 几何理解

任何 \(Ax\) 都是 \(A\) 的列的一个线性组合,它们都位于以 \(A\) 的列为基的一个平面中。因此,我们要找的就是平面中的一个距离 \(b\) 最近的向量,而这个向量就是 \(b\) 在这个平面中的投影 \(p\)

  • 代数理解

\(Ax=b=p+e\) 是不可解的,但 \(A\hat x = p\) 是可解的。我们需要最小化下面这个误差

\[||Ax-b||^2 = ||Ax-p||^2 + ||e||^2\]

当取 \(x = \hat x\),$ ||Ax-p||^2 = 0$,因此最小误差为 \(|e||^2\)

技术分享图片

  • 微积分理解

误差函数可以表示为

技术分享图片

两个未知数有两个导数,当导数分别为零时,我们就得到了误差函数的最小值。

技术分享图片

整理后我们得到

技术分享图片

可以看到,这和 \(A^TAx=A^Tb\) 得到的结果是一样的。也就是说当 \(A^TAx=A^Tb\) 的时候 \(||Ax-b||^2\) 的偏导数为零。

在四个基本子空间中,这次我们将 \(b\) 分解为 \(b=p+e\),这时候 \(A^TAx=A^Tb\) 的零空间解只有零向量,因此最优解只有一个 \(A\hat x=p\)

技术分享图片

获取更多精彩,请关注「seniusen」!
技术分享图片

线性代数之——最小二乘

标签:一个   直线   微积分   str   load   长度   amp   lock   rip   

原文地址:https://www.cnblogs.com/seniusen/p/10017600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!