h θ ( x ) = θ T X = ∑ i = 0 n θ i x i = θ 0 + θ 1 x 1 + ⋯ + θ n x n h_\theta(x) = \theta^TX = \sum_{i=0}^{n}\theta_ix_i = \theta_0 + \theta_1x_1 + \cdots + \theta_nx_n hθ(x)=θTX=i=0∑nθixi=θ0+θ1x1+⋯+θnxn
J ( θ ) = 1 2 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) 2 J(\theta) = \frac{1}{2m}\sum_{i=1}^{m}(h(x^{(i)}) - y^{(i)})^2 J(θ)=2m1i=1∑m(h(x(i))−y(i))2
M i n J ( θ ) Min J(\theta) MinJ(θ)
伪代码
repeat until convergence {
θ
j
:
=
θ
j
−
α
∂
∂
θ
j
J
(
θ
0
,
θ
1
,
.
.
.
)
(
s
i
m
u
l
a
t
e
−
f
o
r
j
=
0
,
1
,
2
,
.
.
.
)
\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j}J(\theta_0, \theta_1, ...) \qquad (simulate - for \quad j=0,1,2,...)
θj:=θj−α∂θj∂J(θ0,θ1,...)(simulate−forj=0,1,2,...)
θ
j
:
=
θ
j
−
α
∂
∂
θ
j
1
2
m
∑
i
=
1
m
(
h
(
x
(
i
)
)
−
y
(
i
)
)
2
(
f
o
r
j
=
0
,
1
,
2
,
.
.
.
)
\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j}\frac{1}{2m}\sum_{i=1}^{m}(h(x^{(i)}) - y^{(i)})^2 \qquad (for \quad j=0,1,2,...)
θj:=θj−α∂θj∂2m1i=1∑m(h(x(i))−y(i))2(forj=0,1,2,...)
θ
j
:
=
θ
j
−
α
1
m
∑
i
=
1
m
(
h
(
x
(
i
)
)
−
y
(
i
)
)
x
(
i
)
(
f
o
r
j
=
0
,
1
,
2
,
.
.
.
)
\theta_j := \theta_j - \alpha \frac{1}{m}\sum_{i=1}^{m}(h(x^{(i)}) - y^{(i)})x^{(i)} \qquad (for \quad j=0,1,2,...)
θj:=θj−αm1i=1∑m(h(x(i))−y(i))x(i)(forj=0,1,2,...)
}
开始梯度下降之前:
梯度下降对特征的值敏感,不同的特征取值差别太大会影响收敛效率,所以需要对特征进行归一化,如 x 1 = x 1 − μ 1 s 1 x_1=\frac{x_1-\mu_1}{s_1} x1=s1x1−μ1 处理后数据集的均值为0,方差为1
初始点不同可能导致的求解的结果不一样
学习率太小,则学习时间太长;学习率太大,可能会错过最低点,最终在最低点来回摆动而无法到达最优;
梯度下降ing:
梯度下降后:
几种梯度下降方法:
居于,最优点的斜率应该为0,直接求解最小损失函数对应的 θ \theta θ向量值
X
=
(
x
0
(
1
)
x
1
(
1
)
⋯
x
n
(
1
)
x
0
(
2
)
x
1
(
2
)
⋯
x
n
(
2
)
⋯
⋯
⋯
⋯
x
0
(
m
)
x
1
(
m
)
⋯
x
n
(
m
)
)
X =
将所有的样本数据转化为一个(m, n+1)维的
X
X
X
记住结论
θ = ( X T X ) − 1 X T Y \theta = (X^TX)^{-1}X^TY θ=(XTX)−1XTY
注意:
梯度下降 | 正规方程 |
---|---|
需要选择学习率 | 不需要学习率 |
需要很多次的迭代 | 不需要迭代 |
特征维度n很大的时候可以工作 | n很大的时候,(n,n)矩阵的逆完全算不出来的 |
将原假设函数 h θ ( x ) = θ 0 + θ 1 x 1 + ⋯ + θ n x n h_\theta(x) = \theta_0 + \theta_1x_1 + \cdots + \theta_nx_n hθ(x)=θ0+θ1x1+⋯+θnxn中的 x i x_i xi改成多项式的形式,比如 θ 1 x 1 + θ 2 x 2 + θ 3 x 1 x 2 + θ 4 x 1 2 + θ 5 x 2 2 \theta_1x_1 + \theta_2x_2 + \theta_3x_1x_2 + \theta_4x_1^2 + \theta_5x_2^2 θ1x1+θ2x2+θ3x1x2+θ4x12+θ5x22
注意,多项式回归方程中每一项都需要进行归一化
@ 学必求其心得,业必贵其专精