二分类问题
在分类问题中,一般不使用线性回归进行分类,因为效果很差。
在二元分类问题上,我们使用logistic回归进行分类
假设函数
在logistic回归中,有logistic函数
g
(
z
)
=
1
1
+
e
−
z
g(z)=\frac{1}{1+e^{-z}}
g(z)=1+e−z1
假设函数为
h
θ
(
x
)
=
1
1
+
e
−
θ
T
x
h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}}
hθ(x)=1+e−θTx1
假设函数
h
θ
(
x
)
h_\theta(x)
hθ(x)代表
y
=
1
y=1
y=1的概率,则
y
=
0
y=0
y=0的概率为
1
−
h
θ
(
x
)
1-h_\theta(x)
1−hθ(x)。
如果我们认为当 h θ ( x ) > 0.5 h_\theta(x)>0.5 hθ(x)>0.5的时候,可以认为 y = 1 y=1 y=1;
且logistic函数有如下性质
z
≥
0
,
g
(
z
)
≥
0.5
z\geq0,g(z)\geq0.5
z≥0,g(z)≥0.5
则我们可以认为如果
Θ
T
X
≥
0
\Theta^TX\geq0
ΘTX≥0,则
y
=
1
y=1
y=1;如果
Θ
T
X
<
0
\Theta^TX<0
ΘTX<0,则
y
=
0
y=0
y=0 。那么我们可以用线
Θ
T
X
=
0
\Theta^TX=0
ΘTX=0将两类分离开,这条线称作决策边界。
代价函数
在今后我们统一将代价函数写为
J
(
Θ
)
=
1
m
∑
i
=
1
m
c
o
s
t
(
h
Θ
(
x
(
i
)
)
,
y
)
J(\Theta)=\frac{1}{m}\sum_{i=1}^{m}{cost(h_\Theta(x^{(i)}),y)}
J(Θ)=m1i=1∑mcost(hΘ(x(i)),y)
在logistic回归中由于平方误差函数不是凸函数,可能会落入局部最优解,我们使用如下的cost函数
c
o
s
t
(
h
Θ
(
x
)
,
y
)
=
{
−
l
o
g
(
h
Θ
(
x
)
)
y
=
1
−
l
o
g
(
1
−
h
Θ
(
x
)
)
y
=
0
cost(h_\Theta(x),y)=\begin{cases} -log(h_\Theta(x))&y=1\\ -log(1-h_\Theta(x))&y=0\end{cases}
cost(hΘ(x),y)={−log(hΘ(x))−log(1−hΘ(x))y=1y=0
则代价函数可以写为
J
(
Θ
)
=
−
1
m
∑
i
=
1
m
y
(
i
)
l
o
g
(
h
Θ
(
x
(
i
)
)
+
(
1
−
y
(
i
)
)
l
o
g
(
1
−
h
Θ
(
x
(
i
)
)
)
J(\Theta)=-\frac{1}{m}\sum_{i=1}^{m}{y^{(i)}log(h_\Theta(x^{(i)})+(1-y^{(i)})log(1-h_\Theta(x^{(i)}))}
J(Θ)=−m1i=1∑my(i)log(hΘ(x(i))+(1−y(i))log(1−hΘ(x(i)))
梯度下降
经过一些里骚操作推导得到梯度下降公式
θ
j
:
=
θ
j
−
α
m
∑
i
=
1
m
(
h
Θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
\theta_j:=\theta_j-\frac{\alpha}{m}\sum_{i=1}^{m}{(h_\Theta(x^{(i)})-y^{(i)})x^{(i)}_j}
θj:=θj−mαi=1∑m(hΘ(x(i))−y(i))xj(i)
这里
h
Θ
(
x
)
=
1
1
+
e
−
Θ
T
x
h_\Theta(x)=\frac{1}{1+e^{-\Theta^Tx}}
hΘ(x)=1+e−ΘTx1
高级优化
线性搜索
共轭梯度
多分类
将一个多分类问题转化成多个二分类问题。