梯度下降:
1. 需要选择学习速率
2. 需要许多次迭代
3. 在有许多特征变量的情况下也能运行地很好
标准方程:
1. 不需要选择学习速率
2. 不需要迭代
3. 需要求解(XTX)-1,复杂度为O(n3)
标准方程中(XTX)不可逆,往往是两个原因
1. 两个数据线性相关
2. 数据量小于特征数
不可逆的矩阵仍然可以计算伪逆
逻辑回归:针对输出值是离散的情况,使用下列假设函数
hθ(x)=g(θTx),g(x)=11+e−x
h
θ
(
x
)
=
g
(
θ
T
x
)
,
g
(
x
)
=
1
1
+
e
−
x
g(x)被称为sigmoid函数,取值在(-1,1)上
但是这样的假设函数,如果代价函数仍然使用平方差损失函数,在计算梯度下降时会遇到很多局部最优点。为了解决这个问题选择了如下的代价函数
Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
C
o
s
t
(
h
θ
(
x
)
,
y
)
=
−
y
l
o
g
(
h
θ
(
x
)
)
−
(
1
−
y
)
l
o
g
(
1
−
h
θ
(
x
)
)
J(θ)=1m∑i=1mCost(hθ(x(i),y(i))
J
(
θ
)
=
1
m
∑
i
=
1
m
C
o
s
t
(
h
θ
(
x
(
i
)
,
y
(
i
)
)
梯度下降法计算公式:
θj:=θj−am∑i=1m(hθ(x(i))−y(i))x(i)j
θ
j
:=
θ
j
−
a
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)