深度学习初探/01-回归问题/梯度下降算法Gradient Decent
一、梯度下降算法的本质
通过迭代计算,不断调整 x x x的取值,从而求得函数的“极小值”
二、梯度下降算法的具体实现(类似于“二分查找”)
【
x
1
x_1
x1】为每次迭代后所求得的“下一步
x
x
x值”;
【
x
0
x_0
x0】为“当前
x
x
x值”;
【
f
′
(
x
0
)
f'(x_0)
f′(x0)】为“
f
(
x
)
f(x)
f(x)在点
x
0
x_0
x0处的导数值”
【LR】Learning Rate,即学习速率,用于控制每一次迭代的“步长Step”,避免每一次调整距离过大
【
x
∗
x^*
x∗】最终求得的极小值点
迭代公式: x 1 = x 0 − f ′ ( x 0 ) ∗ L R x_1 = x_0 - f'(x_0)*LR x1=x0−f′(x0)∗LR
这个公式可以保证 x x x始终朝着“下坡”方向行进,且到达终点后,由于 f ′ ( x ) ≈ 0 f'(x) \approx 0 f′(x)≈0,故 x x x会在极小值点 x ∗ x^* x∗附近“抖动”,从而求得极小值点 x ∗ x^* x∗
Δ \Delta Δ不同Learning Rate对学习效率的影响
比较理想的Learning Rate可以快速获得最优解,如下图中设LR=0.005,有效优化了学习过程:
如若调整LR=0.05,则会导致
x
x
x的值在极值点左右来回摆动,使学习效率大幅降低,如图:
三、简单的回归问题
1、Linear Regression 线性回归
Linear Regression的函数模型是【 y = w x + b y = wx+b y=wx+b】,其目的是根据给出的一组已知 x i 和 y i x_i和y_i xi和yi取值的方程式 { y 1 = w ∗ x 1 + b + ϵ y 2 = w ∗ x 2 + b + ϵ y 3 = w ∗ x 3 + b + ϵ . . . . . . y k = w ∗ x k + b + ϵ \begin{cases} y_1 = w*x_1 + b +\epsilon\\ y_2 = w*x_2 + b+\epsilon\\ y_3 = w*x_3 + b+\epsilon\\ ......\\ y_k = w*x_k+b+\epsilon \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧y1=w∗x1+b+ϵy2=w∗x2+b+ϵy3=w∗x3+b+ϵ......yk=w∗xk+b+ϵ(其中 ϵ \epsilon ϵ为微弱的高斯噪声),求出对应参数 w 、 b w、b w、b,从而拟合出线性函数【 y = w x + b y = wx+b y=wx+b】,使得对于任意输入的 x N x_N xN,都能给出一个估计值 y N y_N yN
2、Logistic Regression 逻辑回归
Logistic Regression的函数模型是【
y
=
L
o
g
i
s
t
i
c
F
u
n
c
t
i
o
n
∗
(
w
x
+
b
)
y=Logistic Function*(wx+b)
y=LogisticFunction∗(wx+b)】,其中,LogisticFunction起到”压缩“作用,使得
y
∈
[
0
,
1
]
y\in[0,1]
y∈[0,1]
应用场景:二分分类问题(抛硬币、猫图判别)
3、Classification 分类问题
如”手写数字识别“问题,该类问题的特点为: Σ p i = 1 \Sigma p_i =1 Σpi=1