最小二乘法拟合任意连续曲线推导

最小二乘法详细推导过程

假设给定一些列散列值(训练数据集)记为:
D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) . . . ( x n , y n ) D={(x_1,y_1),(x_2,y_2),(x_3,y_3)...(x_n,y_n)} D=(x1,y1),(x2,y2),(x3,y3)...(xn,yn)
需要找到找到一个函数:
y = f ( x ) = a x + b y=f(x)=ax+b y=f(x)=ax+b
使得 f ( x ) f(x) f(x)函数尽可能拟合 D D D,也就是需要找到一个 a a a b b b的值,使得将数据集全部带入到 f ( x ) f(x) f(x)中,让等式左边和右边的误差值最小:
{ a x 1 + b = y 1 a x 2 + b = y 2 a x 3 + b = y 3 . . . . . . a x n + b = y n \begin{cases} ax_1+b=y_1\\ ax_2+b=y_2\\ ax_3+b=y_3\\ ......\\ ax_n+b=y_n \end{cases}\\ \raisebox{2em}{} ax1+b=y1ax2+b=y2ax3+b=y3......axn+b=yn
由此,可以将问题转换为让以下函数的值最小:
δ ( a , b ) = ∑ i = 1 n ( a x i + b − y i ) 2 \delta(a,b)=\sum_{i=1}^n(ax_i+b-y_i)^2 δ(a,b)=i=1n(axi+byi)2
我们的目标就是最小化这个误差函数,即为:
m i n δ ( a , b ) = m i n ∑ i = 1 n ( a x i + b − y i ) 2 min\kern{0.3em} \delta(a,b)=min\kern{0.3em }\sum_{i=1}^n(ax_i+b-y_i)^2 minδ(a,b)=mini=1n(axi+byi)2

由于二次方程为开口向上的凹函数,因此,在 δ ( a , b ) \delta(a,b) δ(a,b)导数为0处方程取的最小值,则问题转换为解方程组:

{ Δ δ ( a , b ) Δ a = 2 ∗ ∑ i = 1 n [ ( a x i + b − y i ) ∗ x i ] = 0 Δ δ ( a , b ) Δ b = 2 ∗ ∑ i = 1 n ( a x i + b − y i ) = 0 \begin{cases} \frac{\varDelta\delta(a,b)}{\varDelta{a}}=2*\displaystyle\sum_{i=1}^n[(ax_i+b-y_i)*x_i]=0\\ \raisebox{0em}{}\\ \frac{\varDelta\delta(a,b)}{\varDelta{b}}=2*\displaystyle\sum_{i=1}^n(ax_i+b-y_i)=0 \end{cases} ΔaΔδ(a,b)=2i=1n[(axi+byi)xi]=0ΔbΔδ(a,b)=2i=1n(axi+byi)=0
经过转换,可得到:

{ [ ∑ i = 1 n x i 2 ] a + [ ∑ i = 1 n x i ] b = ∑ i = 1 n x i ∗ y i [ ∑ i = 1 n x i ] a + n b = ∑ i = 1 n y i \begin{cases} [\displaystyle\sum_{i=1}^nx_i^2]a+[\displaystyle\sum_{i=1}^nx_i]b=\displaystyle\sum_{i=1}^nx_i*y_i\\ \raisebox{0em}{}\\ [\displaystyle\sum_{i=1}^nx_i]a+nb=\displaystyle\sum_{i=1}^ny_i\\ \end{cases}\\ [i=1nxi2]a+[i=1nxi]b=i=1nxiyi[i=1nxi]a+nb=i=1nyi
系数行列式(通过行列式进行求解):

{ D = ∣ ∑ i = 1 n x i 2 ∑ i = 1 n x i ∑ i = 1 n x i n ∣ D x = ∣ ∑ i = 1 n x i ∗ y i ∑ i = 1 n x i ∑ i = 1 n y i n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值