> 文章列表 > 线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化(中)

线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化(中)

线性代数 --- 最小二乘在直线拟合上的应用与Gram-Schmidt正交化(中)

        在上一篇文章中,我通过一个例子来说明最小二乘在拟合直线时所发挥的作用,也通过两个插图的比较进一步的阐明了投影与最小化e之间的密切关系。

        在这篇文章中,我们依然会从一个最小二乘的例子开始,所不同的是,三个点的值比较特殊,继而引出Gram-Schmidt正交化的概念。

Example 2:

        如图,现有三个数据点,当t = -2,0,2时,b = 1,2,4。这三点不在同一条直线上。

用b=C+Dt表示这些点所穿过的直线,得到如下方程组:

 这三个点不在同一直线上,故而无解。需要通过求解最小二乘方程组,联立正规方程A^{T}A\\hat{x}=A^{T}b

 \\large A=\\begin{bmatrix} 1 & -2\\\\ 1 & 0\\\\ 1 & 2 \\end{bmatrix}                \\large \\hat{x}=\\begin{bmatrix} \\hat{C}\\\\ \\hat{D} \\end{bmatrix}                \\large b=\\begin{bmatrix} 1\\\\ 2\\\\ 4 \\end{bmatrix}

 左边A^{T}A

\\large A^{T}A=\\begin{bmatrix} 1 &1 & 1\\\\ -2& 0 & 2 \\end{bmatrix}\\begin{bmatrix} 1 &-2 \\\\ 1&0 \\\\ 1 & 2 \\end{bmatrix}=\\begin{bmatrix} 3 &\\mathbf{0} \\\\ \\mathbf{0}& 8 \\end{bmatrix}

 右边A^{T}b

\\large A^{T}b=\\begin{bmatrix} 1 &1 & 1\\\\ -2& 0 & 2 \\end{bmatrix}\\begin{bmatrix} 1 \\\\2 \\\\ 4 \\end{bmatrix}=\\begin{bmatrix} 7 \\\\ 6 \\end{bmatrix}

 得到:

\\large A^{T}A\\hat{x}=A^{T}b\\; \\mathbf{ is}\\; \\begin{bmatrix} 3 &0 \\\\ 0 & 8 \\end{bmatrix}\\begin{bmatrix} \\hat{C}\\\\ \\hat{D} \\end{bmatrix} = \\begin{bmatrix} 7\\\\ 6 \\end{bmatrix}

最终得到最优解为:\\hat{C}=7/3,\\hat{D}=6/8

\\large \\hat{x}=(A^{T}A)^{-1}A^{T}b=\\begin{bmatrix} 1/3 &0 \\\\ 0& 1/8 \\end{bmatrix} \\begin{bmatrix} 7\\\\ 6 \\end{bmatrix} = \\begin{bmatrix} 7/3\\\\ 6/8 \\end{bmatrix}

 对应的最佳拟合直线为:

\\large f(x)=7/3+6/8t

 同时,求出投影向量p:

\\large p=A{\\hat{x}}=\\begin{bmatrix} 1 & -2\\\\ 1 &0 \\\\ 1 & 2 \\end{bmatrix} \\begin{bmatrix} 7/3\\\\ 6/8 \\end{bmatrix} =\\begin{bmatrix} 5/6\\\\ 7/3\\\\ 23/6 \\end{bmatrix}

如下图所示: 

        现在让我们回过头来看看求解最优解的过程,在上面的例子中,我依然是直接使用公式计算的,如下: 

        但实际上,如果我们留心一下前面的正规方程,我们就能发现,我们可以直接通过求解正规方程,得到最优解 \\hat{C}=7/3,\\hat{D}=6/8由于本例中矩阵A的两个列向量比较特殊,使得A^{T}A是一个对角阵。这样一来,我们就可以直接写出每个方程的解。

A^{T}A之所以会是一个对角阵,主要原因有二:其一,向量t中所有元素的和为0。其二,矩阵A中的两个列向量[1,1,1]和[-2,0,2]的内积为0,他们是相互正交的。

        如果,我们拿到的一组实验数据t的和不等于0(如果向量t的和不为0,他和另一个向量的内积就不为0)。我们可以先花点时间,通过让t减去t的均值\\hat{t}=(t1+t2+...+tm)/m达到,因为这样一来我们能通过正规方程直接求出\\hat{x}。例如t=(1,3,5), 他的和不等于0。他的均值\\hat{t}=3, 然后让t中的每一个元素都减去均值,得到新的T=t-\\hat{t}=t-3=(-2,0,2)。这样一来T的和又等于0了!

         现在,我们不在需要通过公式\\hat{x}=(A^{T}A)^{-1}A^{T}b去求解,而是直接求解正规方程(Normal Equation),就能得到\\hat{C}\\hat{D}

        事实上,这个特殊的例子和“Gram-Schmidt正交化”的思路,不谋而合。即,先把矩阵A中的列向量变成正交向量,正规方程的左边A_{new}^{T}A_{new}就会变成一个对角阵,一旦A_{new}^{T}A_{new}的结果是一个对角阵,求解\\hat{x}就会变的非常容易。

小结:

        对于最小二乘而言,我们一开始只要求A中各列是线性无关的,因为只有这样,A^{T}A才可逆。但在这里,我们不但要求A中各列线性无关,我们还要求A中的列向量是相互正交的,从而引出了Gram-Schmidt正交化的雏形。


 (全文完)

作者 --- 松下J27

参考文献(鸣谢):

1,Introduction to Linear Algebra,Fifth Edition - Gilbert Strang(文中大部分插图来自于这本书)

2,绘图软件,Graphing Calculator

格言摘抄:

(配图与本文无关)

版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27