本文以单变量的线性回归 f ( x ) = w x f(x)=wx f(x)=wx模型来讲解梯度下降。
1.线性回归模型
线性回归模型的表达式为:
f
(
x
)
=
w
x
f(x)=wx
f(x)=wx
线性回归模型的损失函数为:
l
o
s
s
=
1
2
m
∑
i
m
f
(
x
i
)
−
y
i
loss=\frac{1}{2m}\sum_i^m{f(x_i)-y_i}
loss=2m1i∑mf(xi)−yi
其中为
m
m
m样本数量,
x
x
x为样本特征
x
i
x_i
xi为第
i
i
i个样本
f
(
x
i
)
f(x_i)
f(xi)为第
i
i
i个样本的预测值,
y
i
y_i
yi为第
i
i
i个样本标签。
线性回归的目标是是求得:
min
(
l
o
s
s
)
=
min
1
2
m
∑
i
m
f
(
x
i
)
−
y
i
\min (loss) =\min{\frac{1}{2m}\sum_i^m{f(x_i)-y_i}}
min(loss)=min2m1i∑mf(xi)−yi
2.梯度下降
梯度下降更新
w
w
w的策略为:
w
=
w
−
α
d
(
l
o
s
s
)
d
w
=
w
−
α
d
(
1
2
m
∑
i
m
f
(
x
i
)
−
y
i
)
d
w
=
w
−
α
d
(
1
2
m
∑
i
m
w
x
i
−
y
i
)
d
w
=
w
−
α
1
m
∑
i
m
(
w
x
i
−
y
i
)
x
i
\begin{aligned} w&=w-\alpha\frac{d (loss)}{dw}\\ &=w-\alpha\frac{d {(\frac{1}{2m}\sum_i^m{f(x_i)-y_i)}}}{dw}\\ &=w-\alpha\frac{d {(\frac{1}{2m}\sum_i^m{wx_i-y_i)}}}{dw}\\ &=w-\alpha\frac{1}{m}\sum_i^m(wx_i-y_i)x_i \end{aligned}
w=w−αdwd(loss)=w−αdwd(2m1∑imf(xi)−yi)=w−αdwd(2m1∑imwxi−yi)=w−αm1i∑m(wxi−yi)xi
为了加快训练速度每轮可以不用全量样本m个,而改用一个较小的值batch,每次迭代从m个样本中选取batch个样本带入公式。