逻辑回归(logistic regression)
逻辑回归算法实际是分类算法。
二元分类问题(binary classification problem)
如上图,这是一个判断肿瘤恶性值的二元分类问题,我们画出了如粉线所示的线性回归图像,设阈值为0.5,若
h
θ
(
x
)
>
0.5
h_\theta^{(x)}>0.5
hθ(x)>0.5则被归类于
y
=
1
y=1
y=1,
h
θ
(
x
)
<
0.5
h_\theta^{(x)}<0.5
hθ(x)<0.5则被归类于
y
=
0
y=0
y=0。但
h
θ
(
x
)
h_\theta^{(x)}
hθ(x)可以大于1,也可以小于0,并且可以看出线性回归拟合数据不是很好,同时我们也可以画出除粉线之外的其他线性回归图像,所以线性回归不能很好解决分类问题。
逻辑回归的假设函数(逻辑函数或S型函数)
(ps:这里的
θ
\theta
θ、
x
x
x都代表矩阵或向量)
由前面的学习我们知道了线性回归的假设函数:
h
θ
(
x
)
=
θ
T
x
h_\theta^{(x)}=\theta^{T}x
hθ(x)=θTx,而由二元分类我们可以得出我们需要的模型的取值范围应该在0和1之间。逻辑函数为:
h
θ
(
x
)
=
1
1
+
e
−
θ
T
x
h_\theta^{(x)}=\frac{1}{1+e^{-{\theta^T}x}}
hθ(x)=1+e−θTx1。推导过程如下:
图像为:
决策边界(decision boundary)
由上图可知,当
h
θ
(
x
)
h_\theta^{(x)}
hθ(x)(或
g
(
z
)
g(z)
g(z))大于0.5时我们预测y=1,
h
θ
(
x
)
h_\theta^{(x)}
hθ(x)(或
g
(
z
)
g(z)
g(z))小于0.5时,我们预测y=0。即z>0时,预测y=1,z<0时,预测y=0,即
θ
T
x
\theta^Tx
θTx>0时,预测y=1,
θ
T
x
\theta^Tx
θTx<0时,预测y=0。
由此我认为决策边界是由参数决定的区分数据的图像,如下图的粉线所示:
逻辑回归的代价函数
我们知道代价函数是这样表示的:
J
(
θ
)
=
1
m
∑
i
=
1
m
1
2
(
h
θ
(
x
i
)
−
y
(
i
)
)
2
J(\theta)=\frac{1}{m}\sum_{i=1}^{m}\frac{1}{2}(h_\theta^{(x^{i})}-y^{(i)})^2
J(θ)=m1∑i=1m21(hθ(xi)−y(i))2(
1
2
\frac{1}{2}
21移到了求和符号里面),
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
=
1
2
(
h
θ
(
x
i
)
−
y
(
i
)
)
2
cost(h_\theta^{(x^{(i)})},y^{(i)})=\frac{1}{2}(h_\theta^{(x^{i})}-y^{(i)})^2
cost(hθ(x(i)),y(i))=21(hθ(xi)−y(i))2,则
J
(
θ
)
=
1
2
∑
i
=
1
m
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
J(\theta)=\frac{1}{2}\sum_{i=1}^{m}cost(h_\theta^{(x^{(i)})},y^{(i)})
J(θ)=21∑i=1mcost(hθ(x(i)),y(i))如果
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i))使用平方差公式表示,那么我们画出代价函数与参数的图像(如下图所示),可以看出这是一个非凸函数的图像:
这明显看出不利于找出最优点,因此我们如果想得到一个凸函数图像,那么
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i))就不能使用上面的平方差公式,我们令
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i))如下:
图像如下:
这是一个凸函数图像,可以找出最优点,
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i))的图像如下(因为
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i))的公式是分情况讨论的,所以图像也是如此):
由
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i))的公式,我们能推出以下性质:
我们已经知道了分情况讨论的
c
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
cost(h_\theta^{(x^{(i)})},y^{(i)})
cost(hθ(x(i)),y(i)),那么我们也可以合并两种情况:
代价函数求下导得:
虽然逻辑回归的梯度求导算法与线性回归的梯度求导算法看着相似,但实际上这是两种不同的算法,因为假设函数发生了变化。
多元分类问题(multi-class classification problem)
如图所示,分别分类第一次令三角形为正类,第二次令正方形为正类,第三次令×为正类,分别训练模型,预测x时选择最大的
h
θ
(
x
)
h_\theta(x)
hθ(x)。