Logistic Regression假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。
Logistic/Sigmoid Function可以通过广义线性模型推导得到。
Logistic Regression推导
因为要解决二分类问题,我们利用logistic function
将线性模型映射到
(0,1)
(
0
,
1
)
之间:
hθ(x)=g(θTx)=11+e−θTx
h
θ
(
x
)
=
g
(
θ
T
x
)
=
1
1
+
e
−
θ
T
x
其中,
g(z)=11+e−z
g
(
z
)
=
1
1
+
e
−
z
被称为
logistic function
或
sigmoid function
。
概率分布表示为:
P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1−hθ(x)
P
(
y
=
1
|
x
;
θ
)
=
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
如果有m
个训练样本,则最大似然函数为:
L(θ)=∏i=1mp(y(i)|x(i);θ)=∏i=1mhθ(x(i))y(i)(1−hθ(x(i)))1−y(i)
L
(
θ
)
=
∏
i
=
1
m
p
(
y
(
i
)
|
x
(
i
)
;
θ
)
=
∏
i
=
1
m
h
θ
(
x
(
i
)
)
y
(
i
)
(
1
−
h
θ
(
x
(
i
)
)
)
1
−
y
(
i
)
取对数似然函数,有:
l(θ)=logL(θ)=∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
l
(
θ
)
=
l
o
g
L
(
θ
)
=
∑
i
=
1
m
y
(
i
)
l
o
g
h
θ
(
x
(
i
)
)
+
(
1
−
y
(
i
)
)
l
o
g
(
1
−
h
θ
(
x
(
i
)
)
)
利用随机梯度下降法,迭代求解有:
θ:=θ+α∇θl(θ)
θ
:=
θ
+
α
∇
θ
l
(
θ
)
(Tips: 由于是MAX,所以是加号;MIN时,用减号)
∂∂θjl(θ)=[y1g(θTx)−(1−y)11−g(θTx)]∂∂θjg(θTx)=(y−hθ(x))xj
∂
∂
θ
j
l
(
θ
)
=
[
y
1
g
(
θ
T
x
)
−
(
1
−
y
)
1
1
−
g
(
θ
T
x
)
]
∂
∂
θ
j
g
(
θ
T
x
)
=
(
y
−
h
θ
(
x
)
)
x
j
故,
θj:=θj+α(y(i)−hθ(x(i)))x(i)j
θ
j
:=
θ
j
+
α
(
y
(
i
)
−
h
θ
(
x
(
i
)
)
)
x
j
(
i
)
Sigmoid
函数/Logistic
函数
g(z)=11+e−z
g
(
z
)
=
1
1
+
e
−
z
g′(z)=ddz11+e−z=g(z)(1−g(z))
g
′
(
z
)
=
d
d
z
1
1
+
e
−
z
=
g
(
z
)
(
1
−
g
(
z
)
)
Logistic/Sigmoid Function推导
- 做回归,线性回归时,我们假设数据符合高斯分布: y|x;θ∼(μ,σ2) y | x ; θ ∼ N ( μ , σ 2 )
- 做分类,逻辑回归时,我们假设数据符合伯努利分布: y|x;θ∼Bernoulli(ϕ) y | x ; θ ∼ B e r n o u l l i ( ϕ )
其实,两者都属于广义线性模型(GLM)
广义线性模型(Generalized Linear Model, GLM)
指数族分布(Exponential family distribution)
p(y;η)=b(y)exp(ηTT(y)−a(η)) p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) )伯努利分布
- 逻辑回归中,
p(y|x;θ)=hθ(x)y(1−hθ(x))1−y p ( y | x ; θ ) = h θ ( x ) y ( 1 − h θ ( x ) ) 1 − y - 记
hθ(x)=g(θTx)=ϕ
h
θ
(
x
)
=
g
(
θ
T
x
)
=
ϕ
,则有:
p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp(log(ϕ1−ϕ)y+log(1−ϕ)) p ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y = e x p ( y l o g ϕ + ( 1 − y ) l o g ( 1 − ϕ ) ) = e x p ( l o g ( ϕ 1 − ϕ ) y + l o g ( 1 − ϕ ) ) - 有:
b(y)=1η=logϕ1−ϕT(y)=ya(η)=−log(1−ϕ)=log(1+eη) b ( y ) = 1 η = l o g ϕ 1 − ϕ T ( y ) = y a ( η ) = − l o g ( 1 − ϕ ) = l o g ( 1 + e η )
- 逻辑回归中,
高斯分布,令 σ2=1 σ 2 = 1
p(y;μ)=12π‾‾‾√exp(−12(y−μ)2)=exp(−12y2)2π‾‾‾√·exp(μy−12μ2) p ( y ; μ ) = 1 2 π e x p ( − 1 2 ( y − μ ) 2 ) = e x p ( − 1 2 y 2 ) 2 π · e x p ( μ y − 1 2 μ 2 )- 有:
b(y)=exp(−12y2)2π‾‾‾√η=μT(y)=ya(η)=μ2/2=η2/2 b ( y ) = e x p ( − 1 2 y 2 ) 2 π η = μ T ( y ) = y a ( η ) = μ 2 / 2 = η 2 / 2
- 有:
广义线性模型需要满足的三个条件
- y|x;θ∼ExponentialFamily(η) y | x ; θ ∼ E x p o n e n t i a l F a m i l y ( η )
- 给定一个 x x ,我们需要预测,一般来说 T(y)=y T ( y ) = y ,也就是我们需要通过学习学得一个假设 h h ,
- The natural parameter η η 和输入 x x 是线性相关的,
推导得到Logistic/Sigmoid Function
- 在逻辑回归中,我们希望学到的假设
h
h
,有:
- 由GLM我们知道有:
η=logϕ1−ϕ η = l o g ϕ 1 − ϕ
可推出:
ϕ=11+e−η=11+e−θTx ϕ = 1 1 + e − η = 1 1 + e − θ T x