Least Square 最小二乘

博客介绍了最小平方直线和最小平方曲线的相关内容。对于最小平方直线,给出直线方程和平方误差公式,通过样本数据计算得出满足平方误差最小时的参数 k 和 b。当样本数据复杂时,引入最小平方曲线,给出通式并说明求解方法。

最小平方直线 Least Square Line

直线方程:
(0) f ( x ) = k x + b f(x) = kx+b\tag{0} f(x)=kx+b(0)
平方误差 E E E 为:
(1) E = ∑ i = 1 n ( f ( x i ) − y i ) E = \sum_{i=1}^{n}(f(x_{i}) - y_{i}) \tag{1} E=i=1n(f(xi)yi)(1)
其中, k k k b b b 为待求参数, ( x i , y i ) (x_{i}, y{i}) (xi,yi) 为已知样本。
已知 n n n 个样本,则:

  • 若n点已经共线,则此时 f ( x i ) = y i f(x_{i}) = y_{i} f(xi)=yi,即, E = 0 E = 0 E=0,易得直线方程。
    在这里插入图片描述
  • 若样本为随机样本,如下:
    在这里插入图片描述
    则根据所设直线方程有:
    (2) { k x 1 + b = y 1 k x 2 + b = y 2 k x 3 + b = y 3 … k x n + b = y n \begin{cases} kx_{1} + b = y_{1} \\ kx_{2} + b = y_{2} \\ kx_{3} + b = y_{3} \\ \dots \\ kx_{n} + b = y_{n} \end{cases} \tag{2} kx1+b=y1kx2+b=y2kx3+b=y3kxn+b=yn(2)
    即:
    (3) [ x 1 1 x 2 1 … 1 x n 1 ] [ k b ] = [ y 1 y 2 … y n ] \left[ \begin{matrix} x_{1} & 1 \\ x_{2} & 1 \\ \dots &1 \\ x_{n} & 1 \end{matrix} \right] \left[ \begin{matrix} k \\ b \end{matrix} \right] = \left[ \begin{matrix} y_{1} \\ y_{2} \\ \dots \\ y_{n} \end{matrix} \right] \tag{3} x1x2xn1111[kb]=y1y2yn(3)
    左右同乘以左边包含 x n x_{n} xn 矩阵的转置:
    (3) [ x 1 x 2 … x n 1 1 1 1 ] [ x 1 1 x 2 1 … 1 x n 1 ] [ k b ] = [ x 1 x 2 … x n 1 1 1 1 ] [ y 1 y 2 … y n ] \left[ \begin{matrix} x_{1} & x_{2} & \dots & x_{n} \\ 1 &1 & 1 & 1 \end{matrix} \right] \left[ \begin{matrix} x_{1} & 1 \\ x_{2} & 1 \\ \dots &1 \\ x_{n} & 1 \end{matrix} \right] \left[ \begin{matrix} k \\ b \end{matrix} \right] = \left[ \begin{matrix} x_{1} & x_{2} & \dots & x_{n} \\ 1 &1 & 1 & 1 \end{matrix} \right] \left[ \begin{matrix} y_{1} \\ y_{2} \\ \dots \\ y_{n} \end{matrix} \right] \tag{3} [x11x211xn1]x1x2xn1111[kb]=[x11x211xn1]y1y2yn(3)
    计算两个 2 × n 2 \times n 2×n n × n n \times n n×n 的结果得到:
    (4) [ ∑ i = 1 n x i 2 ∑ i = 1 n x i ∑ i = 1 n x i n ] [ k b ] = [ ∑ i = 1 n x i y i ∑ i = 1 n y i ] \left[ \begin{matrix} \sum_{i=1}^{n}x_{i}^{2} & \sum_{i=1}^{n}x_{i}\\ \sum_{i=1}^{n}x_{i} & n \end{matrix} \begin{matrix} \end{matrix} \right] \left[ \begin{matrix} k \\ b \end{matrix} \right] = \left[ \begin{matrix} \sum_{i=1}^{n}x_{i}y_{i} \\ \sum_{i=1}^{n}y_{i} \end{matrix} \right] \tag{4} [i=1nxi2i=1nxii=1nxin][kb]=[i=1nxiyii=1nyi](4)
    此时,当满足平方误差最小时,上面计算出的 k k k b b b 将得到我们的最小二乘直线,即:
    (5) min ⁡ E = ∑ i = 1 n ( f ( x i ) − y i ) \min E = \sum_{i=1}^{n}(f(x_{i}) - y_{i}) \tag{5} minE=i=1n(f(xi)yi)(5)

最小平方曲线 Least Square Curve

当样本数据非常复杂的时候(没有呈现出比较明显的线性特征),直线的拟合程度较差(最小化后的 E E E 仍然较大)
这时,引入最小平方曲线(Least Square Curve),通式:
(6) f ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a k x k f(x) = a_{0} + a_{1}x + a{2}x^{2} + \dots + a_{k}x^{k} \tag{6} f(x)=a0+a1x+a2x2++akxk(6)
即一个k阶多项式,同理,当系数向量 [ a 0 … a k ] [a_{0} \dots a_{k}] [a0ak] 满足:
(7) min ⁡ E = ∑ i = 1 n ( f ( x i ) − y i ) \min E = \sum_{i=1}^{n}(f(x_{i}) - y_{i}) \tag{7} minE=i=1n(f(xi)yi)(7)
此时,该曲线即为目标曲线。
同理,可得:
(8) [ 1 x 1 x 1 2 … x 1 k 1 x 2 x 2 2 … x 2 k ⋮ ⋮ ⋮ ⋱ ⋮ 1 x n x n 2 … x n k ] [ a 0 a 1 ⋮ a k ] = [ y 1 y 2 … y n ] \left[ \begin{matrix} 1 & x_{1} & x_{1}^{2} & \dots & x_{1}^{k} \\ 1 & x_{2} & x_{2}^{2} & \dots & x_{2}^{k} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n} & x_{n}^{2} & \dots & x_{n}^{k} \end{matrix} \right] \left[ \begin{matrix} a_{0} \\ a_{1} \\ \vdots \\ a_{k} \end{matrix} \right]= \left[ \begin{matrix} y_{1} \\ y_{2} \\ \dots \\ y_{n} \end{matrix} \right] \tag{8} 111x1x2xnx12x22xn2x1kx2kxnka0a1ak=y1y2yn(8)
通过求解这个系统可以得到最小二乘曲线。设上面的等式为:
(9) X A = Y XA = Y\tag{9} XA=Y(9)
则同理左右同乘以 X X X 的转置,我们可以得到:
( X T X ) A = X T Y (X^{T}X)A = X^{T}Y (XTX)A=XTY
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值