简单回归案例
梯度下降算法
迭代,求导,算极值。
x
′
=
x
−
x
∗
∗
l
r
x'=x-x^**lr
x′=x−x∗∗lr
x
′
x'
x′为新值,
x
∗
x^*
x∗为梯度(导数),
l
r
lr
lr为学习率,设小一点,慢慢的逼近最优解。
梯度下降的求解器,加了约束,导致求解过程变得更快,最优解的精度变高,目前用的最多的有原始版本的sgd,还有rmsprop,以及最常用的Adam。
y
=
w
∗
x
+
b
y=w*x+b
y=w∗x+b
1.567
=
w
∗
1
+
b
1.567=w*1+b
1.567=w∗1+b
3.043
=
w
∗
2
+
b
3.043=w*2+b
3.043=w∗2+b
w
=
1.477
w=1.477
w=1.477
b
=
0.089
b=0.089
b=0.089
实际工作中,只能求得最接近
y
y
y的
w
∗
x
+
b
w*x+b
w∗x+b。
有高斯噪声时,
y
=
w
∗
x
+
b
+
ε
y=w*x+b+\varepsilon
y=w∗x+b+ε
ε
∈
N
(
0.01
,
1
)
\varepsilon\in\N(0.01,1)
ε∈N(0.01,1)
求解
l
o
s
s
=
(
W
X
+
b
−
y
)
2
loss=(WX+b-y)^2
loss=(WX+b−y)2
W
W
W、
X
X
X均为矩阵。
l
o
s
s
loss
loss函数为我们构造的优化目标。
求得合适的
W
W
W和
b
b
b使
l
o
s
s
loss
loss值最小,预估
x
N
x_N
xN、
y
N
y_N
yN。
l
o
s
s
=
∑
i
(
w
∗
x
i
+
b
−
y
i
)
2
loss=\sum_i(w*x_i+b-y_i)^2
loss=i∑(w∗xi+b−yi)2