逻辑回归
logistic分布
我们最常用的逻辑回归二分类模型如下:
P
(
Y
=
1
∣
x
)
=
e
x
p
(
w
∗
x
)
1
+
e
x
p
(
w
∗
x
)
P(Y=1|x)=\frac{exp(w*x)}{1+exp(w*x)}
P(Y=1∣x)=1+exp(w∗x)exp(w∗x)
P
(
Y
=
0
∣
x
)
=
1
1
+
e
x
p
(
w
∗
x
)
P(Y=0|x)=\frac{1}{1+exp(w*x)}
P(Y=0∣x)=1+exp(w∗x)1
定义事件发生的几率为
p
1
−
p
\frac{p}{1-p}
1−pp,该事件的对数几率即logit函数为
l
o
g
i
t
(
p
)
=
p
1
−
p
logit(p)=\frac{p}{1-p}
logit(p)=1−pp,对logistic回归而言有
l
o
g
P
(
Y
=
1
∣
x
)
1
−
P
(
Y
=
1
∣
x
)
=
w
∗
x
log\frac{P(Y=1|x)}{1-P(Y=1|x)}=w*x
log1−P(Y=1∣x)P(Y=1∣x)=w∗x
模型参数估计
最大化对数似然函数
L
(
w
)
=
∑
i
=
1
N
[
y
i
l
o
g
π
(
x
i
)
+
(
1
−
y
i
)
l
o
g
(
1
−
π
(
x
i
)
)
]
=
∑
i
=
1
N
[
y
i
l
o
g
π
(
x
i
)
1
−
l
o
g
π
(
x
i
)
+
l
o
g
(
1
−
π
(
x
i
)
)
]
=
∑
i
=
1
N
[
y
i
(
w
∗
x
i
)
−
l
o
g
(
1
+
e
x
p
(
w
∗
x
i
)
)
]
L(w)=\sum_{i=1}^{N}[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i))]\\=\sum_{i=1}^{N}[y_i\frac{log\pi(x_i)}{1-log\pi(x_i)}+log(1-\pi(x_i))]\\=\sum_{i=1}^{N}[y_i(w*x_i)-log(1+exp(w*x_i))]
L(w)=i=1∑N[yilogπ(xi)+(1−yi)log(1−π(xi))]=i=1∑N[yi1−logπ(xi)logπ(xi)+log(1−π(xi))]=i=1∑N[yi(w∗xi)−log(1+exp(w∗xi))]
其中
π
(
x
)
=
P
(
Y
=
1
∣
x
)
\pi (x)=P(Y=1|x)
π(x)=P(Y=1∣x)
对
L
(
w
)
L(w)
L(w)求极大值,得到
w
w
w的估计值
最大熵模型
最大熵原理认为,学习概率模型时,在所有可能的概率模型分布中,熵最大的模型是最好的模型。
假设离散随机变量X的概率分布是P(X),则其熵
H
(
P
)
=
−
∑
x
P
(
x
)
l
o
g
P
(
x
)
H(P)=-\sum_{x}P(x)logP(x)
H(P)=−x∑P(x)logP(x)
首先必须满足已有的事实,即约束条件。
最大熵模型的定义
给定数据集,可以确定联合分布P(X,Y)和边缘分布P(X),以
P
~
(
X
,
Y
)
\widetilde P(X,Y)
P
(X,Y),
P
~
(
X
)
\widetilde P(X)
P
(X)表示,这里
P
~
(
X
=
x
,
Y
=
y
)
=
v
(
X
=
x
,
Y
=
y
)
N
\widetilde P(X=x, Y=y) = \frac{v(X=x,Y=y)}{N}
P
(X=x,Y=y)=Nv(X=x,Y=y)
P
~
(
X
=
x
)
=
v
(
X
=
x
)
N
\widetilde P(X=x) = \frac{v(X=x)}{N}
P
(X=x)=Nv(X=x)
v
(
X
=
x
,
Y
=
y
)
v(X=x,Y=y)
v(X=x,Y=y)表示训练数据中样本
(
x
,
y
)
(x,y)
(x,y)出现的频数,
v
(
X
=
x
)
v(X=x)
v(X=x)表示训练数据中输入
x
x
x出现的频数,
N
N
N表示样本容量。
用特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)描述输入
x
x
x和输出
y
y
y之前的某一个事实,其定义为
f
(
x
,
y
)
=
{
1
x与y满足某一事实
0
otherwise
f(x,y) = \begin{cases} 1& \text{x与y满足某一事实} \\ 0& \text{otherwise} \end{cases}
f(x,y)={10x与y满足某一事实otherwise
特征函数关于经验分布
P
~
(
X
,
Y
)
\widetilde P(X,Y)
P
(X,Y)的期望值用
E
P
~
(
f
)
E_{\widetilde P}(f)
EP
(f)表示
E
P
~
(
f
)
=
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
E_{\widetilde P}(f)=\sum_{x,y}\widetilde P(x,y)f(x,y)
EP
(f)=x,y∑P
(x,y)f(x,y)
特征函数关于模型
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)与经验分布
P
~
(
X
)
\widetilde P(X)
P
(X)的期望值用
E
P
(
f
)
E_{P}(f)
EP(f)表示
E
P
(
f
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
E_{P}(f)=\sum_{x,y}\widetilde P(x)P(y|x)f(x,y)
EP(f)=x,y∑P
(x)P(y∣x)f(x,y)
如果模型能获得训练数据中的信息,那么就可以假设这两个期望值相等(即
P
(
y
∣
x
)
P(y|x)
P(y∣x)如果是正确的,那
P
(
x
,
y
)
=
P
(
x
)
P
(
y
∣
x
)
P(x,y)=P(x)P(y|x)
P(x,y)=P(x)P(y∣x))
下面给出了最大熵模型的定义。这里补充一个条件熵的定义:如果
H
(
Y
∣
X
=
x
)
{H} (Y|X=x)
H(Y∣X=x)为变数
Y
Y
Y在变数
X
X
X 取特定值
x
x
x条件下的熵,那么
H
(
Y
∣
X
)
{H} (Y|X)
H(Y∣X)就是
H
(
Y
∣
X
=
x
)
{H} (Y|X=x)
H(Y∣X=x)在
X
X
X 取遍所有可能的
x
x
x 后取平均的结果。
这里需要去思考一个问题:为什么最大化的是条件熵?
最大熵模型的原理可以表述为在满足约束条件的模型集合中,在没有更多信息的情况下,那部分不确定的事件都是“等可能的”(“等可能”用熵来表述就是熵最大,熵是一个数值指标)。
我们需要注意监督学习的模型有两种。要么学习决策函数y=f(x),要么学习条件概率分布p(y|x)。这里就是需要在给定x的情况下,p(y|x)的分布是满足熵最大的。H(Y|X)最大,那么互信息I(X;Y)最小,表示X,Y之间相互透露的信息量最少,也就是让X,Y之间额外的假设最少。
求解最大熵模型
采用拉格朗日乘子进行求解,求解过程可参考统计学习方法。最终可以求解
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
P_w(y|x)=\frac{1}{Z_w(x)}exp(\sum_{i=1}^nw_if_i(x,y))
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
Z
w
(
x
)
=
∑
y
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z_w(x)=\sum_yexp(\sum_{i=1}^nw_if_i(x,y))
Zw(x)=y∑exp(i=1∑nwifi(x,y))