逻辑回归(Logistic Regression)公式推导
在逻辑回归里,使用sigmoid函数进行预测,sigmoid函数的表达如下:
g(x)=11+e−x
g
(
x
)
=
1
1
+
e
−
x
因此,在进行预测的时候,我们用
hθ(x)
h
θ
(
x
)
表示预测的结果。
hθ(x)=g(θTx)=11+e−θTx
h
θ
(
x
)
=
g
(
θ
T
x
)
=
1
1
+
e
−
θ
T
x
如果从概率的角度出发,预测结果为类别1的概率是
P(y=1|x;θ)=hθ(x)
P
(
y
=
1
|
x
;
θ
)
=
h
θ
(
x
)
那么结果为类别0的概率就是
P(y=0|x;θ)=1−hθ(x)
P
(
y
=
0
|
x
;
θ
)
=
1
−
h
θ
(
x
)
将上面两个概率的表达式合并在一起就是
P(y|x;θ)=(hθ(x))y(1−hθ(x))1−y
P
(
y
|
x
;
θ
)
=
(
h
θ
(
x
)
)
y
(
1
−
h
θ
(
x
)
)
1
−
y
对上式求似然,可以得到
L(θ)=∏i=1m(hθ(xi))yi(1−θ(xi))1−yi
L
(
θ
)
=
∏
i
=
1
m
(
h
θ
(
x
i
)
)
y
i
(
1
−
θ
(
x
i
)
)
1
−
y
i
再取对数,得到其对数似然
l(θ)=∑i=1m(yilog(hθ(xi))+(1−yi)log(1−hθ(xi)))
l
(
θ
)
=
∑
i
=
1
m
(
y
i
log
(
h
θ
(
x
i
)
)
+
(
1
−
y
i
)
log
(
1
−
h
θ
(
x
i
)
)
)
这时,可以构造目标函数
J(θ)=argmaxθl(θ)=argminθ−1ml(θ)
J
(
θ
)
=
a
r
g
m
a
x
θ
l
(
θ
)
=
a
r
g
m
i
n
θ
−
1
m
l
(
θ
)
即此时的目标函数为
J(θ)=−1m(∑i=1m(yiloghθ(xi)+(1−yi)log(1−hθ(xi))))
J
(
θ
)
=
−
1
m
(
∑
i
=
1
m
(
y
i
log
h
θ
(
x
i
)
+
(
1
−
y
i
)
log
(
1
−
h
θ
(
x
i
)
)
)
)
使用梯度下降法来求解
θ
θ
使得
J(θ)
J
(
θ
)
达到最小,梯度下降的更新公式为
θj=θj−α∂J(θ)∂θj
θ
j
=
θ
j
−
α
∂
J
(
θ
)
∂
θ
j
而
∂J(θ)∂θj
∂
J
(
θ
)
∂
θ
j
可以由下面的过程计算。
∂J(θ)∂θj =−1m(∑i=1m(yi1hθ(xi)∂hθ(xi)∂θj+(1−yi)11−hθ(xi)(−∂hθ(xi)∂θj)))=−1m∑i=1m(yig(θTxi)−1−yi1−g(θTxi))∂hθ(xi)∂θj=−1m∑i=1m(yig(θTxi)−1−yi1−g(θTxi))g(θTxi)(1−g(θTxi))∂θTxi∂θj=−1m∑i=1m(yi(1−g(θTxi))−(1−yi)g(θTxi))xji=−1m∑i=1m(yi−g(θTxi))xji=1m∑i=1m(hθ(xi)−yi)xji
∂
J
(
θ
)
∂
θ
j
=
−
1
m
(
∑
i
=
1
m
(
y
i
1
h
θ
(
x
i
)
∂
h
θ
(
x
i
)
∂
θ
j
+
(
1
−
y
i
)
1
1
−
h
θ
(
x
i
)
(
−
∂
h
θ
(
x
i
)
∂
θ
j
)
)
)
=
−
1
m
∑
i
=
1
m
(
y
i
g
(
θ
T
x
i
)
−
1
−
y
i
1
−
g
(
θ
T
x
i
)
)
∂
h
θ
(
x
i
)
∂
θ
j
=
−
1
m
∑
i
=
1
m
(
y
i
g
(
θ
T
x
i
)
−
1
−
y
i
1
−
g
(
θ
T
x
i
)
)
g
(
θ
T
x
i
)
(
1
−
g
(
θ
T
x
i
)
)
∂
θ
T
x
i
∂
θ
j
=
−
1
m
∑
i
=
1
m
(
y
i
(
1
−
g
(
θ
T
x
i
)
)
−
(
1
−
y
i
)
g
(
θ
T
x
i
)
)
x
i
j
=
−
1
m
∑
i
=
1
m
(
y
i
−
g
(
θ
T
x
i
)
)
x
i
j
=
1
m
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
i
)
x
i
j
所以,
θj
θ
j
的更新公式为
θj=θj−α1m∑i=1m(hθ(xi)−yi)xji
θ
j
=
θ
j
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
i
)
x
i
j