假设前提:所有数据同分布(符合同一函数)
待拟合函数:
y
∗
=
k
x
+
b
y^*=kx+b
y∗=kx+b
误差函数(L2范数):
L
(
y
,
y
∗
)
=
(
y
∗
−
y
)
2
=
(
k
x
+
b
−
y
)
2
L(y,y^*)=(y^*-y)^2=(kx+b-y)^2
L(y,y∗)=(y∗−y)2=(kx+b−y)2
设
a
=
b
−
y
a=b-y
a=b−y,则函数为:
L
(
w
)
=
k
2
x
2
+
2
a
k
x
+
a
2
L(w) = k^2x^2+2akx+a^2
L(w)=k2x2+2akx+a2
L(w)函数最低点为
4
x
2
a
2
−
4
a
2
x
2
4
x
2
=
0
\frac {4x^2a^2-4a^2x^2} {4x^2} =0
4x24x2a2−4a2x2=0
这种简单函数可以直接算出结果:
w
=
−
2
a
x
2
x
2
=
−
a
x
w= - \frac {2ax} {2x^2}=- \frac {a} {x}
w=−2x22ax=−xa
所以,存在一个w使得L函数取到0,此时误差最小。
同理,对b的求法一样
L
(
b
)
=
b
2
+
2
(
k
x
−
y
)
b
+
(
k
x
−
y
)
2
L(b)= b^2+2(kx-y)b+(kx-y)^2
L(b)=b2+2(kx−y)b+(kx−y)2
L(b)函数最低点为
4
(
k
x
−
y
)
2
−
4
(
k
x
−
y
)
2
4
=
0
\frac {4(kx-y)^2-4(kx-y)^2} {4} =0
44(kx−y)2−4(kx−y)2=0
这种简单函数可以直接算出结果:
b
=
−
2
(
k
x
−
y
)
2
=
y
−
k
x
b= - \frac {2(kx-y)} {2}=y-kx
b=−22(kx−y)=y−kx
但是根据复杂函数,对其极值点做判断往往很难,所以考虑梯度下降。
L关于k的偏导数:
d
(
k
x
+
a
)
2
d
k
=
d
(
k
2
x
2
+
2
a
k
x
+
a
2
)
d
k
=
2
x
2
k
+
2
a
x
\frac {d(kx+a)^2} {dk} = \frac {d(k^2x^2+2akx+a^2)} {dk}=2x^2k+2ax
dkd(kx+a)2=dkd(k2x2+2akx+a2)=2x2k+2ax
同理可得,L关于b的偏导数:
d
(
b
+
k
x
−
y
)
2
d
b
=
2
b
+
2
(
k
x
−
y
)
\frac {d(b+kx-y)^2} {db}=2b+2(kx-y)
dbd(b+kx−y)2=2b+2(kx−y)
对于任意一个k,可以求得其偏导数,如果其偏导数>0,则对k更新的公式为(η为学习率)
k
∗
=
k
−
η
Δ
k
=
k
−
η
(
2
x
2
k
+
2
a
x
)
k^*=k-ηΔk=k-η(2x^2k+2ax)
k∗=k−ηΔk=k−η(2x2k+2ax)
同理可得b的更新公式为:
k
∗
=
k
−
η
▽
k
=
k
−
η
(
2
b
+
2
(
k
x
−
y
)
)
k^*=k-η▽k=k-η(2b+2(kx-y))
k∗=k−η▽k=k−η(2b+2(kx−y))
然后在合适的学习率下进行大量的学习,函数就会慢慢逼近最优解。
这个就是使用线性函数拟合的思路,如果增加参数,增加阶数等等,模型拟合的情况就会变得更复杂,当然效果也会更好。
一个线性函数的regression详细数学推导
于 2022-05-02 15:21:55 首次发布
本文介绍了在假设所有数据同分布的情况下,如何使用线性函数y=kx+b进行数据拟合。通过误差函数(L2范数)L(y,y^*),我们推导出参数k和b的最优解表达式,并利用梯度下降法更新参数,逐步逼近误差最小的状态。讨论了如何计算偏导数并确定更新规则,以在复杂函数中找到最优解。
摘要由CSDN通过智能技术生成