1单变量线性回归
1定义
假 设 : h θ ( x ) = θ 0 + θ 1 x {假设:h_\theta }\left( x \right) = {\theta _0} + {\theta _1}x 假设:hθ(x)=θ0+θ1x
代
价
函
数
:
J
(
θ
0
,
θ
1
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
代价函数:J\left( {{\theta _0},{\theta _1}} \right) = {1 \over {2m}}{\sum\limits_{i = 1}^m {\left( {{h_\theta }\left( {{x^{(i)}}} \right) - {y^{(i)}}} \right)} ^2}
代价函数:J(θ0,θ1)=2m1i=1∑m(hθ(x(i))−y(i))2
目标:调整两个参数使代价函数值最小(即在下图三维曲面中找到最低点)。
2直观理解
假
设
θ
0
=
0
,
只
讨
论
θ
1
一
个
参
数
,
可
得
下
图
{假设\theta _0} = 0,只讨论{{\theta _1}}一个参数,可得下图
假设θ0=0,只讨论θ1一个参数,可得下图
三维曲面找曲面最低点问题转换为,二维曲线找最小值问题。
3梯度下降
为
了
找
到
三
维
曲
面
最
低
点
的
参
数
θ
0
,
θ
1
{{为了找到三维曲面最低点的参数\theta _0},{\theta _1}}
为了找到三维曲面最低点的参数θ0,θ1,需要有逼近最优参数的策略,因此引入梯度下降法。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。
迭
代
策
略
:
θ
j
:
=
θ
j
−
α
∂
∂
θ
j
J
(
θ
0
,
θ
1
)
{迭代策略:\theta _j}: = {\theta _j} - \alpha {\partial \over {\partial {\theta _j}}}J\left( {{\theta _0},{\theta _1}} \right)
迭代策略:θj:=θj−α∂θj∂J(θ0,θ1)
多个参数同时更新:
t
e
m
p
0
:
=
θ
0
−
α
∂
∂
θ
0
J
(
θ
0
,
θ
1
)
temp0: = {\theta _0} - \alpha {\partial \over {\partial {\theta _0}}}J\left( {{\theta _0},{\theta _1}} \right)
temp0:=θ0−α∂θ0∂J(θ0,θ1)
t
e
m
p
1
:
=
θ
1
−
α
∂
∂
θ
1
J
(
θ
0
,
θ
1
)
temp1: = {\theta _1} - \alpha {\partial \over {\partial {\theta _1}}}J\left( {{\theta _0},{\theta _1}} \right)
temp1:=θ1−α∂θ1∂J(θ0,θ1)
θ
0
:
=
t
e
m
p
0
{\theta _0}: = temp0
θ0:=temp0
θ
1
:
=
t
e
m
p
1
{\theta _1}: = temp1
θ1:=temp1
如
上
图
所
示
,
如
果
α
太
小
,
需
迭
代
很
多
次
才
能
到
最
低
点
如
果
α
太
大
,
可
能
会
越
过
最
低
点
,
不
会
收
敛
。
从
上
图
可
以
看
出
,
随
着
红
点
向
下
移
动
,
斜
率
变
小
,
说
明
每
一
次
更
新
的
位
移
也
变
小
如上图所示,如果\alpha太小,需迭代很多次才能到最低点如果\alpha太大,可能会越过最低点,不会收敛。从上图可以看出,随着红点向下移动,斜率变小,说明每一次更新的位移也变小
如上图所示,如果α太小,需迭代很多次才能到最低点如果α太大,可能会越过最低点,不会收敛。从上图可以看出,随着红点向下移动,斜率变小,说明每一次更新的位移也变小
梯度下降的线性回归
θ
0
:
=
θ
0
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
{\theta _0}: = {\theta _0} - \alpha {1 \over m}\sum\limits_{i = 1}^m {\left( {{h_\theta }\left( {{x^{(i)}}} \right) - {y^{(i)}}} \right)}
θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))
θ
1
:
=
θ
1
−
α
1
m
∑
i
=
1
m
(
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
(
i
)
)
{\theta _1}: = {\theta _1} - \alpha {1 \over m}\sum\limits_{i = 1}^m {(\left( {{h_\theta }\left( {{x^{(i)}}} \right) - {y^{(i)}}} \right)} {x^{(i)}})
θ1:=θ1−αm1i=1∑m((hθ(x(i))−y(i))x(i))
在梯度下降的每一步中,我们都用到了所有的训练样本,如上图的m个样本,所以称为批量梯度下降。
2多变量线性回归
假
设
:
h
θ
(
x
)
=
θ
0
x
0
+
θ
1
x
1
+
θ
2
x
2
+
⋯
+
θ
n
x
n
假设:{h_\theta }\left( x \right) = {\theta _0}{x_0} + {\theta _1}{x_1} + {\theta _2}{x_2} + \cdots + {\theta _n}{x_n}
假设:hθ(x)=θ0x0+θ1x1+θ2x2+⋯+θnxn
代
价
函
数
:
J
(
θ
0
,
θ
1
,
⋯
,
θ
n
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
代价函数:J\left( {{\theta _0},{\theta _1}, \cdots ,{\theta _n}} \right) = {1 \over {2m}}{\sum\limits_{i = 1}^m {\left( {{h_\theta }\left( {{x^{(i)}}} \right) - {y^{(i)}}} \right)} ^2}
代价函数:J(θ0,θ1,⋯,θn)=2m1i=1∑m(hθ(x(i))−y(i))2
迭
代
策
略
:
θ
j
:
=
θ
j
−
α
1
m
(
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
⋅
x
(
i
)
)
迭代策略: {\theta _j}: = {\theta _j} - \alpha {1 \over m}\left( {\left( {{h_\theta }\left( {{x^{(i)}}} \right) - {y^{(i)}}} \right) \cdot {x^{(i)}}} \right)
迭代策略:θj:=θj−αm1((hθ(x(i))−y(i))⋅x(i))