Logistic回归小结
1、首先,逻辑回归不是用于回归,而用于分类。
2、假设函数
以二分类为例(可以推广到多分类):
找一个单调可微函数将分类任务真实标记y与线性回归模型的预测值联系起来——Sigmoid函数。
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
假设陈述:if h(z)≥0.5, predict y=1; if h(z)<0.5, predict y=0
其中:
z
=
θ
T
x
z=\theta ^{T}x
z=θTx
假设函数也可表示为 h(z)=P(y=1|x;θ),1-h(z)=P(y=0|x;θ),即比较两个条件概率值的大小,将实例x分类到概率较大的那一类。
一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。
对数几率(log odds)或logit函数即:
l
o
g
i
t
(
p
)
=
l
o
g
p
1
−
p
logit\left ( p \right )=log\frac{p}{1-p}
logit(p)=log1−pp
对逻辑回归而言,
l
o
g
i
t
P
(
y
=
1
∣
x
;
θ
)
1
−
P
(
y
=
1
∣
x
;
θ
)
=
θ
T
x
logit\frac{P(y=1\mid x;\theta )}{1-P(y=1\mid x;\theta)}=\theta ^{T}x
logit1−P(y=1∣x;θ)P(y=1∣x;θ)=θTx
可以看出,实际上是使用线性回归模型的预测结果去逼近真实标记的对数几率,因此也叫”对数几率回归“。
3、代价函数
如果以线性回归的代价函数如均方误差类推此处的代价函数,则因h(z)是sigmoid,会使代价函数为非凸函数。
所以省去推导(利用极大似然),最终逻辑回归的代价函数为:
C
o
s
t
(
h
θ
(
x
)
,
y
)
=
−
y
l
o
g
(
h
θ
(
x
)
)
−
(
1
−
y
)
l
o
g
(
1
−
h
θ
(
x
)
)
Cost(h_{\theta}(x) ,y)=-ylog(h_{\theta }(x))-(1-y)log(1-h_{\theta }(x))
Cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
总的代价函数:
J
(
θ
)
=
1
m
∑
m
i
=
1
C
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
=
−
1
m
∑
m
i
=
1
[
y
(
i
)
l
o
g
(
h
θ
(
x
(
i
)
)
)
+
(
1
−
y
(
i
)
)
l
o
g
(
1
−
h
θ
(
x
(
i
)
)
)
]
J(\theta )=\frac{1}{m}\sum_{m}^{i=1}Cost(h_{\theta}(x^{(i)}) ,y^{(i)}) =-\frac{1}{m}\sum_{m}^{i=1}\left [ y^{(i)}log(h_{\theta }(x^{(i)}))+(1-y^{(i)})log(1-h_{\theta }(x^{(i)})) \right ]
J(θ)=m1m∑i=1Cost(hθ(x(i)),y(i))=−m1m∑i=1[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
现在的代价函数为任意阶可导的凸函数,有很好地数学性质。
4、最小化代价函数
最小化J(θ),得出最优参数θ:可以使用梯度下降法、牛顿法等。
梯度下降法:
牛顿法:
参考资料
[1]: 吴恩达机器学习
[2]: 《机器学习》周志华
[3]: 《统计学习方法》李航