Logistic回归
目的是解决分类问题,线性回归不能很好的解决分类问题,这是因为分类问题并不能拟合成为一条直线。
假设函数
为了使得分类更加方便,最好输出值在0到1之间。
sigmod函数正好能够满足这个特点:
g
(
z
)
=
1
1
+
e
z
g(z)=\frac{1}{1+e^z}
g(z)=1+ez1
因此对于假设函数进行如下变换
h
θ
(
x
)
=
g
(
θ
T
x
)
h_{\theta}(x)=g(\theta^Tx)
hθ(x)=g(θTx)
其实际意义在于该值是参数为
θ
\theta
θ的情况下,输入x,得到y=1的概率。
而又由于y=0或者是1,所以一般
h
θ
(
x
)
>
0.5
h_{\theta}(x)>0.5
hθ(x)>0.5则认为y=1.
决策边界
决策边界是划分y=0/1的直线或者曲线,如下图所示。
由于这条线是区分y=0/1,也就是区分
h
θ
(
x
)
>
0.5
h_{\theta}(x)>0.5
hθ(x)>0.5是否成立,也就是区分
θ
T
x
>
0
\theta^Tx>0
θTx>0是否成立。
所以决策边界的求解办法是令
θ
T
x
=
0
\theta^Tx=0
θTx=0
代价函数
不能再使用与原来相同的代价函数,这是因为Logistic回归的假设函数导致随着成本函数随参数的输出是波形的,也就是不再是凸函数了,这会导致很多的局部优化。
所以,为了仍然使得代价函数为凸函数,我们对于代价函数进行改进:
从图中可以看出,预测值越接近0(真实值),函数代价越小直到为0;预测值越接近1,函数代价越大直到趋近于正无穷。
因为y只有0和1两个值,因此整合之后的代价函数为:
J
(
θ
)
=
−
1
m
∑
i
=
1
m
(
y
(
i
)
l
o
g
(
h
θ
(
x
)
)
+
(
1
−
y
(
i
)
)
(
1
−
l
o
g
(
h
θ
(
x
)
)
)
J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}log(h_{\theta}(x))+(1-y^{(i)})(1-log(h_{\theta}(x)))
J(θ)=−m1∑i=1m(y(i)log(hθ(x))+(1−y(i))(1−log(hθ(x)))