逻辑回归
往期相关内容
简介
逻辑回归的本质就是利用类似于线性回归的方法,解决分类问题。其本质是一个分类算法。
模型表示
h
θ
(
x
)
=
g
(
θ
T
X
)
h_\theta(x)=g(\theta^TX)
hθ(x)=g(θTX)
其中,X代表特征向量;g代表逻辑函数,常用sigmoid function:
g
(
z
)
=
1
1
+
e
−
z
g(z)=\frac{1}{1+e^{-z}}
g(z)=1+e−z1
该函数的图像为:
该模型可以理解为,对于给定的输入变量,根据选择的参数计算输出变量=1的可能性,即
h
θ
=
P
(
y
=
1
∣
x
;
θ
)
h_\theta=P(y=1|x;\theta)
hθ=P(y=1∣x;θ)。例如,对于给定的x,计算达到
h
θ
(
x
)
=
0.7
h_\theta(x)=0.7
hθ(x)=0.7,则表示x有70%的概率为正类。所有,在逻辑回归中:
y
=
{
0
,
if
h
θ
(
x
)
≤
0.5
1
,
if
h
θ
(
x
)
≥
0.5
y=\begin{cases} 0,& \text{if $h_\theta(x)\leq0.5$} \\ 1, & \text{if $h_\theta(x)\geq0.5$} \end{cases}
y={0,1,if hθ(x)≤0.5if hθ(x)≥0.5
代价函数
J
(
θ
)
=
1
m
∑
i
=
1
m
C
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
J(\theta)=\frac{1}{m}\sum_{i=1}^{m}Cost(h_\theta(x^{(i)}),y^{(i)})
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))
其中:
C
o
s
t
(
h
θ
(
x
)
,
y
)
=
{
−
l
o
g
(
h
θ
(
x
)
)
if y = 1
−
l
o
g
(
1
−
h
θ
(
x
)
)
if y = 0
Cost(h_\theta(x),y)=\begin{cases} -log(h_\theta(x))& \text{if y = 1} \\ -log(1-h_\theta(x)) & \text{if y = 0} \end{cases}
Cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))if y = 1if y = 0
可简化如下:
C
o
s
t
(
h
θ
(
x
)
,
y
)
=
−
y
×
log
(
h
θ
(
x
)
)
−
(
1
−
y
)
×
log
(
1
−
h
θ
(
x
)
)
Cost(h_\theta(x),y)=-y\times\log(h_\theta(x))-(1-y)\times\log(1-h_\theta(x))
Cost(hθ(x),y)=−y×log(hθ(x))−(1−y)×log(1−hθ(x))
带入代价函数可以得到:
J
(
θ
)
=
−
1
m
∑
i
=
1
m
[
y
(
i
)
log
(
h
θ
(
x
(
i
)
)
)
+
(
1
−
y
(
i
)
)
log
(
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∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
梯度下降
θ
j
:
=
θ
j
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
⋅
x
j
(
i
)
\theta_j:=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})\cdot x_j^{(i)}
θj:=θj−αm1i=1∑m(hθ(x(i))−y(i))⋅xj(i)
除了梯度下降法,我们还可以使用共轭梯度法 BFGS、L-BFGS 对代价函数进行优化。