最小平方直线 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=1∑n(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=y3…kxn+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} ⎣⎢⎢⎡x1x2…xn1111⎦⎥⎥⎤[kb]=⎣⎢⎢⎡y1y2…yn⎦⎥⎥⎤(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} [x11x21…1xn1]⎣⎢⎢⎡x1x2…xn1111⎦⎥⎥⎤[kb]=[x11x21…1xn1]⎣⎢⎢⎡y1y2…yn⎦⎥⎥⎤(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=1nxi2∑i=1nxi∑i=1nxin][kb]=[∑i=1nxiyi∑i=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=1∑n(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}]
[a0…ak] 满足:
(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=1∑n(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}
⎣⎢⎢⎢⎡11⋮1x1x2⋮xnx12x22⋮xn2……⋱…x1kx2k⋮xnk⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡a0a1⋮ak⎦⎥⎥⎥⎤=⎣⎢⎢⎡y1y2…yn⎦⎥⎥⎤(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

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

被折叠的 条评论
为什么被折叠?



