上一节介绍了最大熵原理与指数族分布之间的关系,即给定基于样本作为约束条件的情况下,熵最大的概率分布是指数族分布。本节将介绍最大熵原理与 s o f t m a x softmax softmax函数之间的关联关系。
已知一个数据集合 D a t a Data Data,该集合共包含两部分:
示例:
某样本包含3个样本特征:圆脸、长胡子、尖爪
对应的标签包含3个标签特征:是猫、不是狗、不是鸭
基于上述示例,对样本集合中的元素进行抽象表示:
定义 D a t a Data Data中共包含 N N N对样本、标签;
样本集合表示为
X
\mathcal X
X,任意一个样本表示为
x
(
k
)
(
k
=
1
,
2
,
⋯
,
N
)
x^{(k)}(k=1,2,\cdots,N)
x(k)(k=1,2,⋯,N)。则有:
X
=
{
x
(
1
)
,
x
(
2
)
,
⋯
,
x
(
N
)
}
\mathcal X = \{x^{(1)},x^{(2)},\cdots,x^{(N)}\}
X={x(1),x(2),⋯,x(N)}
标签集合表示为
Y
\mathcal Y
Y,一个标签表示为
y
(
k
)
(
k
=
1
,
2
,
⋯
,
N
)
y^{(k)}(k=1,2,\cdots,N)
y(k)(k=1,2,⋯,N)。则有:
Y
=
{
y
(
1
)
,
y
(
2
)
,
⋯
,
y
(
N
)
}
\mathcal Y = \{y^{(1)},y^{(2)},\cdots,y^{(N)}\}
Y={y(1),y(2),⋯,y(N)}
每一个样本都对应一个标签,将一对样本标签定义为
s
(
k
)
s^{(k)}
s(k):
s
(
k
)
=
(
x
(
k
)
,
y
(
k
)
)
(
k
=
1
,
2
,
⋯
,
N
)
s^{(k)} = (x^{(k)},y^{(k)})(k=1,2,\cdots,N)
s(k)=(x(k),y(k))(k=1,2,⋯,N)
任意样本
x
(
k
)
(
k
=
1
,
2
,
⋯
,
N
)
x^{(k)}(k=1,2,\cdots,N)
x(k)(k=1,2,⋯,N)均包含
i
i
i个样本特征。即:
x
(
k
)
=
(
x
1
(
k
)
,
x
2
(
k
)
,
⋯
x
i
(
k
)
)
T
x^{(k)} =
任意样本
y
(
k
)
(
k
=
1
,
2
,
⋯
,
N
)
y^{(k)}(k=1,2,\cdots,N)
y(k)(k=1,2,⋯,N)均包含
j
j
j个标签特征。即:
y
(
k
)
=
(
y
1
(
k
)
,
y
2
(
k
)
,
⋯
y
j
(
k
)
)
T
y^{(k)} =
样本集合与标签集合表示如下:
X
=
(
x
1
(
1
)
x
1
(
2
)
⋯
x
1
(
N
)
x
2
(
1
)
x
2
(
2
)
⋯
x
2
(
N
)
⋮
⋮
⋮
x
i
(
1
)
x
i
(
2
)
⋯
x
i
(
N
)
)
Y
=
(
y
1
(
1
)
y
1
(
2
)
⋯
y
1
(
N
)
y
2
(
1
)
y
2
(
2
)
⋯
y
2
(
N
)
⋮
⋮
⋮
y
j
(
1
)
y
j
(
2
)
⋯
y
j
(
N
)
)
\mathcal X =
X
,
Y
,
D
a
t
a
\mathcal X,\mathcal Y,Data
X,Y,Data的样本空间分别表示如下:
S
X
=
(
x
1
,
x
2
,
⋯
,
x
i
)
T
S
Y
=
(
y
1
,
y
2
,
⋯
,
y
j
)
T
S
D
a
t
a
=
(
x
1
,
x
2
,
⋯
,
x
i
;
y
1
,
y
2
,
⋯
,
y
j
)
T
\mathcal S_{\mathcal X} = (x_1,x_2,\cdots,x_i)^{T} \\ \mathcal S_{\mathcal Y} = (y_1,y_2,\cdots,y_j)^{T} \\ \mathcal S_{Data} = (x_1,x_2,\cdots,x_i;y_1,y_2,\cdots,y_j)^{T}
SX=(x1,x2,⋯,xi)TSY=(y1,y2,⋯,yj)TSData=(x1,x2,⋯,xi;y1,y2,⋯,yj)T
组合概念:为了简化理解,将样本空间
S
X
\mathcal S_{\mathcal X}
SX中的每一维度
x
q
∣
q
=
1
i
x_q\mid_{q = 1}^i
xq∣q=1i视为伯努利分布,即:
x
q
=
{
1
i
f
满足
x
q
描述的既定事实
0
o
t
h
e
r
w
i
s
e
x_q = \left\{
同理,
y
s
∣
s
=
1
j
y_s \mid_{s=1}^j
ys∣s=1j也设定为:
y
s
=
{
1
i
f
满足
y
s
描述的既定事实
0
o
t
h
e
r
w
i
s
e
∑
s
=
1
j
y
s
=
1
y_s = \left\{
基于上述假设,我们可以 将
D
a
t
a
Data
Data中的所有样本划分为若干个组合。某一种组合示例:
S
X
(
l
)
=
(
0
,
1
,
0
,
⋯
,
1
,
0
)
S
Y
(
l
)
=
(
0
,
1
,
0
,
⋯
,
0
,
0
)
S
D
a
t
a
(
l
)
=
(
0
,
1
,
0
,
⋯
,
1
,
0
;
0
,
1
,
0
,
⋯
,
0
,
0
)
\mathcal S_{\mathcal X}^{(l)} = (0,1,0,\cdots,1,0) \\ \mathcal S_{\mathcal Y}^{(l)} = (0,1,0,\cdots,0,0) \\ \mathcal S_{Data}^{(l)} = (0,1,0,\cdots,1,0;0,1,0,\cdots,0,0)
SX(l)=(0,1,0,⋯,1,0)SY(l)=(0,1,0,⋯,0,0)SData(l)=(0,1,0,⋯,1,0;0,1,0,⋯,0,0)
统计满足组合
S
D
a
t
a
(
l
)
\mathcal S_{Data}^{(l)}
SData(l)样本的数量,就可以 使用经验概率分布 计算该数据集合中
S
D
a
t
a
(
l
)
\mathcal S_{Data}^{(l)}
SData(l)的 概率密度函数:
p
^
(
s
(
k
)
=
S
D
a
t
a
(
l
)
)
=
p
^
(
S
D
a
t
a
(
l
)
)
=
c
o
u
n
t
(
s
(
k
)
=
S
D
a
t
a
(
l
)
)
N
\hat p(s^{(k)} = \mathcal S_{Data}^{(l)}) = \hat p( \mathcal S_{Data}^{(l)}) = \frac{count(s^{(k)} = \mathcal S_{Data}^{(l)})}{N}
p^(s(k)=SData(l))=p^(SData(l))=Ncount(s(k)=SData(l))
假设一共存在
m
m
m个组合,则有:
∑
l
=
1
m
p
^
(
S
D
a
t
a
(
l
)
)
=
1
\sum_{l=1}^m \hat p( \mathcal S_{Data}^{(l)}) = 1
l=1∑mp^(SData(l))=1
经验概率分布本质上表示 特定事件发生的次数占总体样本发生的比率,是 概率的频率定义 的一种表达。这里使用
p
^
(
x
)
\hat p(x)
p^(x)表示
x
x
x的经验概率分布。它的具体公式表示如下:
p
^
(
x
(
j
)
=
x
i
)
=
c
o
u
n
t
(
x
i
)
N
\hat p(x^{(j)} =x_i) = \frac{count(x_i)}{N}
p^(x(j)=xi)=Ncount(xi)
其中,
x
(
j
)
x^{(j)}
x(j)表示样本集合
X
\mathcal X
X内的某一个样本,并且
X
\mathcal X
X中包含
N
N
N个样本,而
x
i
x_i
xi表示样本
x
(
j
)
x^{(j)}
x(j)能够选择的特征;
该经验分布公式仅表示样本
x
(
j
)
x^{(j)}
x(j)是‘一维随机变量’时的情况,即只能选择一个值。
上述公式表示的含义为:样本集合
X
\mathcal X
X中的某样本
x
(
j
)
x^{(j)}
x(j)的值等于
x
i
x_i
xi的概率结果。
p
^
(
x
(
j
)
)
,
p
^
(
x
(
j
)
=
x
i
)
\hat p(x^{(j)}),\hat p(x^{(j)} = x_i)
p^(x(j)),p^(x(j)=xi)和
p
^
(
x
i
)
\hat p(x_i)
p^(xi)在表达取决于
∑
\sum
∑中连加的次数,如果次数是组合数量,它们之间没有区别,如果次数是‘样本数量’,第一个和后两个之间是有区别的。
事实上经验概率分布并非只能存在于1维数据中,多维数据同样可以使用经验概率分布:
示例:
包含数据数量
N
=
5
N=5
N=5的某数据集
X
′
\mathcal X '
X′,具体表示如下:
| 身高( x 1 x_1 x1) | 性别( x 2 x_2 x2) | |
|---|---|---|
| x ( 1 ) x^{(1)} x(1) | 170 | 1 |
| x ( 2 ) x^{(2)} x(2) | 180 | 1 |
| x ( 3 ) x^{(3)} x(3) | 170 | 0 |
| x ( 4 ) x^{(4)} x(4) | 160 | 0 |
| x ( 5 ) x^{(5)} x(5) | 170 | 1 |
如果想要计算
(
x
1
=
170
,
x
2
=
1
)
(x_1=170,x_2=1)
(x1=170,x2=1)经验概率分布的概率密度函数
p
^
(
x
1
=
170
,
x
2
=
1
)
\hat p(x_1=170,x_2=1)
p^(x1=170,x2=1),具体计算方法如下:
p
^
(
x
1
=
170
,
x
2
=
1
)
=
c
o
u
n
t
(
x
1
=
170
,
x
2
=
1
)
N
=
2
5
=
0.4
\hat p(x_1=170,x_2=1) = \frac{count(x_1=170,x_2=1)}{N} = \frac{2}{5} = 0.4
p^(x1=170,x2=1)=Ncount(x1=170,x2=1)=52=0.4
如果想要计算基于数据集
X
′
\mathcal X'
X′的经验概率分布
P
^
(
x
1
,
x
2
)
\hat P(x_1,x_2)
P^(x1,x2):
在本篇中,‘概率分布’
P
P
P与‘概率密度函数’
p
p
p是区分开的。
P
^
(
x
1
,
x
2
)
=
(
p
^
(
x
1
=
170
,
x
2
=
1
)
p
^
(
x
1
=
180
,
x
2
=
1
)
p
^
(
x
1
=
170
,
x
2
=
0
)
p
^
(
x
1
=
160
,
x
2
=
0
)
)
=
(
2
5
1
5
1
5
1
5
)
=
(
0.4
0.2
0.2
0.2
)
\hat P(x_1,x_2) =
基于上述示例,我们可以使用经验概率方法求解多维随机变量的概率。样本
x
(
k
)
=
S
X
(
l
)
x^{(k)} = \mathcal S_{\mathcal X}^{(l)}
x(k)=SX(l)的概率分布表示如下:
S
X
(
l
)
\mathcal S_{\mathcal X}^{(l)}
SX(l)表示样本
x
x
x维度组合中的一种情况。
P
^
(
x
(
k
)
=
S
X
(
l
)
)
=
P
^
(
S
X
(
l
)
)
=
c
o
u
n
t
(
x
1
,
x
2
,
⋯
,
x
i
)
N
\hat P(x^{(k)} = \mathcal S_{\mathcal X}^{(l)}) = \hat P(\mathcal S_{\mathcal X}^{(l)}) = \frac{count(x_1,x_2,\cdots,x_i)}{N}
P^(x(k)=SX(l))=P^(SX(l))=Ncount(x1,x2,⋯,xi)
同理,一对样本标签
s
(
k
)
→
(
x
(
k
)
,
y
(
k
)
)
s^{(k)} \to (x^{(k)},y^{(k)})
s(k)→(x(k),y(k)),该
s
(
k
)
=
S
D
a
t
a
(
l
)
s^{(k)} = S_{Data}^{(l)}
s(k)=SData(l)的概率分布表示如下:
P
^
(
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
)
=
P
^
(
S
D
a
t
a
(
l
)
)
=
c
o
u
n
t
(
s
(
k
)
=
S
D
a
t
a
(
l
)
)
N
=
c
o
u
n
t
(
x
1
,
x
2
,
⋯
,
x
i
,
y
1
,
y
2
,
⋯
,
y
j
)
N
这两个公式下面推导会用到。
S
o
f
t
m
a
x
Softmax
Softmax函数又称归一化指数函数,它的本质目的是将多分类结果以概率的形式展现出来,具体公式表示如下:
S
o
f
t
m
a
x
(
y
i
)
=
e
y
i
∑
i
=
1
k
e
y
i
Softmax(y_i) = \frac{e^{y_i}}{\sum_{i=1}^k e^{y_i}}
Softmax(yi)=∑i=1keyieyi
其中, y = ( y 1 , y 2 , ⋯ , y k ) y = (y_1,y_2,\cdots,y_k) y=(y1,y2,⋯,yk)表示经过运算后得到的 预测向量结果 (例如神经网络的输出层),向量中的每个元素 y i ( i = 1 , 2 , ⋯ , k ) y_i(i=1,2,\cdots,k) yi(i=1,2,⋯,k)表示维度信息。
观察上面的函数,它有许多特点:
但从函数性质来看,用这个函数表示概率确实是个不错的选择。
核心问题:
但为什么要使用该函数去表示多分类结果的概率分布,换句话说,表示多分类结果的概率分布为什么使用
s
o
f
t
m
a
x
softmax
softmax函数,而不是其他函数,是否存在某种理论支撑?
上述的理论支撑是真实存在的,就是最大熵原理。下面将使用最大熵原理去论证, s o f t m a x softmax softmax函数的映射结果为什么可以作为多分类结果的概率分布。
与最大熵原理推导指数族分布的思路相同,都是求解 基于上述数据集合构成的约束条件 基础上,求解 能够使熵达到最大的概率分布(概率密度函数) 与 S o f t m a x Softmax Softmax之间的关联关系。
但由于数据集合中标签的存在,我们不能只求解样本集合 X \mathcal X X的概率分布,而是求解给定某一样本 x ( k ) = S X ( l ) x^{(k)}=\mathcal S_{\mathcal X}^{(l)} x(k)=SX(l)条件下,对应标签 y ( k ) = S Y ( l ) y^{(k)}=\mathcal S_{\mathcal Y}^{(l)} y(k)=SY(l)条件概率的概率密度函数 p ( y ( k ) = S Y ( l ) ∣ x ( k ) = S X ( l ) ) p(y^{(k)}=\mathcal S_{\mathcal Y}^{(l)} \mid x^{(k)}=\mathcal S_{\mathcal X}^{(l)}) p(y(k)=SY(l)∣x(k)=SX(l))。
因此,我们在基于最大熵原理的推导过程中不能使用仅包含 X \mathcal X X一个变量的信息熵,而是包含条件变量的条件熵作为目标函数。
条件熵的表达形式如下:
H
(
Y
∣
X
)
=
−
∑
x
(
k
)
∈
X
p
(
x
(
k
)
)
⋅
H
(
Y
∣
x
(
k
)
)
=
−
∑
x
(
k
)
∈
X
p
(
x
(
k
)
)
⋅
∑
y
(
k
)
∈
Y
p
(
y
(
k
)
∣
x
(
k
)
)
log
p
(
y
(
k
)
∣
x
(
k
)
)
=
−
∑
y
(
k
)
∈
Y
,
x
(
k
)
∈
X
p
(
x
(
k
)
)
⋅
p
(
y
(
k
)
∣
x
(
k
)
)
log
p
(
y
(
k
)
∣
x
(
k
)
)
使用条件概率公式,对
P
(
y
(
k
)
∣
x
(
k
)
)
P(y^{(k)} \mid x^{(k)})
P(y(k)∣x(k))展开:
P
(
y
(
k
)
∣
x
(
k
)
)
=
P
(
x
(
k
)
,
y
(
k
)
)
P
(
x
(
k
)
)
(
k
=
1
,
2
,
⋯
,
N
)
P(y^{(k)} \mid x^{(k)}) = \frac{P(x^{(k)},y^{(k)})}{P(x^{(k)})}(k=1,2,\cdots,N)
P(y(k)∣x(k))=P(x(k))P(x(k),y(k))(k=1,2,⋯,N)
P
(
y
(
k
)
∣
x
(
k
)
)
P(y^{(k)} \mid x^{(k)})
P(y(k)∣x(k))是 我们需要使用最大熵原理求解的结果。 但由于数据集合
D
a
t
a
Data
Data是给定的,我同样可以先使用经验概率分布分别得到
P
^
(
x
(
k
)
,
y
(
k
)
)
,
P
^
(
x
(
k
)
)
\hat P(x^{(k)},y^{(k)}),\hat P(x^{(k)})
P^(x(k),y(k)),P^(x(k))的结果:
将上面‘经验分布’的结果抄一下;
P
^
(
x
(
k
)
=
S
X
(
l
)
)
=
P
^
(
S
X
(
l
)
)
=
c
o
u
n
t
(
x
1
,
x
2
,
⋯
,
x
i
)
N
P
^
(
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
)
=
P
^
(
S
D
a
t
a
(
l
)
)
=
c
o
u
n
t
(
s
(
k
)
=
S
D
a
t
a
(
l
)
)
N
=
c
o
u
n
t
(
x
1
,
x
2
,
⋯
,
x
i
,
y
1
,
y
2
,
⋯
,
y
j
)
N
从而可以先求出经验分布
P
^
(
y
(
k
)
∣
x
(
k
)
)
\hat P(y^{(k)} \mid x^{(k)})
P^(y(k)∣x(k)):
P
^
(
y
(
k
)
∣
x
(
k
)
)
=
P
^
(
x
(
k
)
,
y
(
k
)
)
P
^
(
x
(
k
)
)
=
P
^
(
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
)
P
^
(
x
(
k
)
=
S
X
(
l
)
)
\hat P(y^{(k)} \mid x^{(k)}) = \frac{\hat P(x^{(k)},y^{(k)})}{\hat P(x^{(k)})} = \frac{\hat P(x^{(k)} = \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)})}{\hat P(x^{(k)} = \mathcal S_{\mathcal X}^{(l)})}
P^(y(k)∣x(k))=P^(x(k))P^(x(k),y(k))=P^(x(k)=SX(l))P^(x(k)=SX(l),y(k)=SY(l))
此时已经将经验分布
P
^
(
y
(
k
)
∣
x
(
k
)
)
\hat P(y^{(k)} \mid x^{(k)})
P^(y(k)∣x(k))求解完成,但我们的求解目标是熵最大的概率分布
P
(
y
(
k
)
∣
x
(
k
)
)
P(y^{(k)} \mid x^{(k)})
P(y(k)∣x(k))。基于这两种分布的相似性,我们希望这两个概率分布的期望相等。
因此,令
f
(
X
,
Y
)
f(\mathcal X,\mathcal Y)
f(X,Y)是关于
X
,
Y
\mathcal X,\mathcal Y
X,Y的任意函数,则有:
E
P
^
(
Y
∣
X
)
[
f
(
X
,
Y
)
]
=
E
P
(
Y
∣
X
)
[
f
(
X
,
Y
)
]
\mathbb E_{\hat P(\mathcal Y \mid \mathcal X)}\left[f(\mathcal X,\mathcal Y)\right] = \mathbb E_{P(\mathcal Y \mid \mathcal X)}\left[f(\mathcal X,\mathcal Y)\right]
EP^(Y∣X)[f(X,Y)]=EP(Y∣X)[f(X,Y)]
也可以写成如下形式:
∑
x
(
k
)
∈
X
,
y
(
k
)
∈
Y
p
^
(
y
(
k
)
=
S
Y
(
l
)
∣
x
(
k
)
=
S
X
(
l
)
)
[
f
(
x
(
k
)
,
y
(
k
)
)
]
=
∑
x
(
k
)
∈
X
,
y
(
k
)
∈
Y
p
(
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
)
[
f
(
x
(
k
)
,
y
(
k
)
)
]
\sum_{x^{(k)} \in \mathcal X,y^{(k)} \in \mathcal Y}\hat p(y^{(k)} = \mathcal S_{\mathcal Y}^{(l)} \mid x^{(k)}= \mathcal S_{\mathcal X}^{(l)})\left[f(x^{(k)},y^{(k)})\right] = \sum_{x^{(k)} \in \mathcal X,y^{(k)} \in \mathcal Y}p(x^{(k)}= \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)})\left[f(x^{(k)},y^{(k)})\right]
x(k)∈X,y(k)∈Y∑p^(y(k)=SY(l)∣x(k)=SX(l))[f(x(k),y(k))]=x(k)∈X,y(k)∈Y∑p(x(k)=SX(l),y(k)=SY(l))[f(x(k),y(k))]
为了保证推导过程的泛化性,给 每一个组合独立地设计一个函数,从而构成一个函数向量。此时,经验概率的期望结果
E
P
^
(
X
,
Y
)
[
f
(
X
,
Y
)
]
\mathbb E_{\hat P(\mathcal X,\mathcal Y)}\left[f(\mathcal X,\mathcal Y)\right]
EP^(X,Y)[f(X,Y)]表示为:
注意函数f的下标:
∑
x
(
k
)
∈
X
,
y
(
k
)
∈
Y
p
^
(
y
(
k
)
=
S
Y
(
l
)
∣
x
(
k
)
=
S
X
(
l
)
)
[
f
l
(
x
(
k
)
,
y
(
k
)
)
]
(
l
=
1
,
2
,
⋯
,
m
)
\sum_{x^{(k)} \in \mathcal X,y^{(k)} \in \mathcal Y}\hat p(y^{(k)} = \mathcal S_{\mathcal Y}^{(l)} \mid x^{(k)}= \mathcal S_{\mathcal X}^{(l)})\left[f_l(x^{(k)},y^{(k)})\right](l=1,2,\cdots,m)
x(k)∈X,y(k)∈Y∑p^(y(k)=SY(l)∣x(k)=SX(l))[fl(x(k),y(k))](l=1,2,⋯,m)
如果将
m
m
m种组合对应的样本、标签全部分开,上述公式可以表达为:
E
l
=
∑
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
p
^
(
y
(
k
)
∣
x
(
k
)
)
[
f
l
(
x
(
k
)
,
y
(
k
)
)
]
E
P
^
(
X
,
Y
)
[
f
(
X
,
Y
)
]
=
∑
l
=
1
m
E
l
\mathbb E_l =\sum_{x^{(k)}= \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} \hat p(y^{(k)} \mid x^{(k)})\left[f_l(x^{(k)},y^{(k)})\right]\\ \mathbb E_{\hat P(\mathcal X,\mathcal Y)}\left[f(\mathcal X,\mathcal Y)\right] =\sum_{l=1}^m \mathbb E_l
El=x(k)=SX(l),y(k)=SY(l)∑p^(y(k)∣x(k))[fl(x(k),y(k))]EP^(X,Y)[f(X,Y)]=l=1∑mEl
观察公式
E
l
\mathbb E_l
El,由于
f
l
(
x
(
k
)
,
y
(
k
)
)
f_l(x^{(k)},y^{(k)})
fl(x(k),y(k))函数是定义的函数,是已知项;经验分布
p
^
(
y
(
k
)
=
S
Y
(
l
)
∣
x
(
k
)
=
S
X
(
l
)
)
\hat p(y^{(k)} = \mathcal S_{\mathcal Y}^{(l)} \mid x^{(k)}= \mathcal S_{\mathcal X}^{(l)})
p^(y(k)=SY(l)∣x(k)=SX(l))可以通过 数据集合 求解。因此,
E
l
\mathbb E_l
El可以直接求解。定义求解结果为
Δ
l
\Delta_l
Δl:
E
l
=
Δ
l
\mathbb E_l= \Delta_l
El=Δl
至此,待求解分布
P
(
x
(
k
)
,
y
(
k
)
)
P(x^{(k)},y^{(k)})
P(x(k),y(k))与经验概率分布
P
^
(
x
(
k
)
,
y
(
k
)
)
\hat P(x^{(k)},y^{(k)})
P^(x(k),y(k))的期望相等转化为如下公式:
将双方期望按照‘组合’分成对应的
m
m
m份,每一份对应相等。
Δ
l
=
∑
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
p
(
y
(
k
)
∣
x
(
k
)
)
[
f
l
(
x
(
k
)
,
y
(
k
)
)
]
(
l
=
1
,
2
,
⋯
,
m
)
\Delta_l = \sum_{x^{(k)}= \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} p(y^{(k)} \mid x^{(k)})\left[f_l(x^{(k)},y^{(k)})\right](l=1,2,\cdots,m)
Δl=x(k)=SX(l),y(k)=SY(l)∑p(y(k)∣x(k))[fl(x(k),y(k))](l=1,2,⋯,m)
并将该式子作为 1个约束条件,一共包含
m
m
m个约束条件。同时,
P
(
x
(
k
)
,
y
(
k
)
)
P(x^{(k)},y^{(k)})
P(x(k),y(k))依然要满足概率分布的定义:
∑
S
Y
(
l
)
∈
S
Y
P
(
y
(
k
)
=
S
Y
(
l
)
∣
x
(
k
)
=
S
X
)
=
1
\sum_{\mathcal S_{\mathcal Y}^{(l)} \in \mathcal S_{\mathcal Y}} P(y^{(k)} = \mathcal S_{\mathcal Y}^{(l)} \mid x^{(k)} = \mathcal S_{\mathcal X}) = 1
SY(l)∈SY∑P(y(k)=SY(l)∣x(k)=SX)=1
至此,我们共得到
m
+
1
m+1
m+1个约束条件。下面使用最大熵原理求解概率分布。
使用最大熵原理求解条件概率分布 P ( Y ∣ X ) P(\mathcal Y \mid \mathcal X) P(Y∣X)本质熵任然是最优化问题。因此,依然使用拉格朗日乘数法解决该问题。
这里将
p
(
x
(
k
)
)
p(x^{(k)})
p(x(k))替换为
p
^
(
x
(
k
)
)
\hat p(x^{(k)})
p^(x(k)):构建拉格朗日函数:
L
(
P
(
Y
∣
X
)
,
λ
,
λ
l
∣
l
=
1
m
)
=
∑
x
(
k
)
∈
X
,
y
(
k
)
∈
Y
p
^
(
x
(
k
)
)
p
(
y
(
k
)
∣
x
(
k
)
)
log
p
(
y
(
k
)
∣
x
(
k
)
)
+
λ
(
1
−
∑
S
Y
(
l
)
∈
S
Y
P
(
y
(
k
)
=
S
Y
(
l
)
∣
x
(
k
)
=
S
X
)
)
+
∑
l
=
1
m
λ
l
(
Δ
l
−
∑
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
p
(
y
(
k
)
∣
x
(
k
)
)
[
f
l
(
x
(
k
)
,
y
(
k
)
)
]
)
\mathcal L(P(\mathcal Y \mid \mathcal X),\lambda,\lambda_l\mid_{l=1}^m)= \sum_{x^{(k)} \in \mathcal X,y^{(k)} \in \mathcal Y} \hat p(x^{(k)}) p(y^{(k)} \mid x^{(k)}) \log p(y^{(k)} \mid x^{(k)}) + \lambda (1 - \sum_{\mathcal S_{\mathcal Y}^{(l)} \in \mathcal S_{\mathcal Y}} P(y^{(k)} = \mathcal S_{\mathcal Y}^{(l)} \mid x^{(k)} = \mathcal S_{\mathcal X})) + \sum_{l=1}^m \lambda_l(\Delta_l - \sum_{x^{(k)}= \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} p(y^{(k)} \mid x^{(k)})\left[f_l(x^{(k)},y^{(k)})\right])
L(P(Y∣X),λ,λl∣l=1m)=x(k)∈X,y(k)∈Y∑p^(x(k))p(y(k)∣x(k))logp(y(k)∣x(k))+λ(1−SY(l)∈SY∑P(y(k)=SY(l)∣x(k)=SX))+l=1∑mλl(Δl−x(k)=SX(l),y(k)=SY(l)∑p(y(k)∣x(k))[fl(x(k),y(k))])
整理得:
∂
L
(
P
(
Y
∣
X
)
,
λ
,
λ
l
∣
l
=
1
m
)
∂
P
(
Y
∣
X
)
=
∑
x
(
k
)
∈
X
,
y
(
k
)
∈
Y
p
^
(
x
(
k
)
)
[
1
+
log
p
(
y
(
k
)
∣
x
(
k
)
)
]
−
∑
l
=
1
m
λ
−
∑
l
=
1
m
λ
l
∑
x
(
k
)
=
S
X
(
l
)
,
y
(
k
)
=
S
Y
(
l
)
p
^
(
x
(
k
)
)
f
l
(
x
(
k
)
,
y
(
k
)
)
\frac{\partial \mathcal L(P(\mathcal Y \mid \mathcal X),\lambda,\lambda_l\mid_{l=1}^m)}{\partial P(\mathcal Y \mid \mathcal X)} = \sum_{x^{(k)} \in \mathcal X,y^{(k)} \in \mathcal Y} \hat p(x^{(k)})[1 + \log p(y^{(k)} \mid x^{(k)})] -\sum_{l=1}^m \lambda - \sum_{l=1}^m \lambda_l \sum_{x^{(k)} = \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} \hat p(x^{(k)}) f_l(x^{(k)},y^{(k)})
∂P(Y∣X)∂L(P(Y∣X),λ,λl∣l=1m)=x(k)∈X,y(k)∈Y∑p^(x(k))[1+logp(y(k)∣x(k))]−l=1∑mλ−l=1∑mλlx(k)=SX(l),y(k)=SY(l)∑p^(x(k))fl(x(k),y(k))
令该式为0:
p
(
y
(
k
)
∣
x
(
k
)
)
=
e
λ
0
−
1
e
∑
l
=
1
m
λ
l
f
l
(
x
(
k
)
,
y
(
k
)
)
=
e
∑
l
=
1
m
λ
l
f
l
(
x
(
k
)
,
y
(
k
)
)
e
1
−
λ
0
可以将
∑
l
=
1
m
λ
l
f
l
(
x
(
k
)
,
y
(
k
)
)
\sum_{l=1}^m \lambda_l f_l(x^{(k)},y^{(k)})
∑l=1mλlfl(x(k),y(k))看成两个向量之间的乘法形式:
∑
l
=
1
m
λ
l
f
l
(
x
(
k
)
,
y
(
k
)
)
=
(
λ
1
,
λ
2
,
⋯
,
λ
m
)
⋅
(
f
1
(
x
(
k
)
,
y
(
k
)
)
f
2
(
x
(
k
)
,
y
(
k
)
)
⋮
f
m
(
x
(
k
)
,
y
(
k
)
)
)
=
Λ
T
f
(
x
(
k
)
,
y
(
k
)
)
\sum_{l=1}^m \lambda_l f_l(x^{(k)},y^{(k)}) = (\lambda_1,\lambda_2,\cdots,\lambda_m)\cdot
那么,上述式子表示如下:
p
(
y
(
k
)
∣
x
(
k
)
)
=
e
Λ
T
⋅
f
(
x
(
k
)
,
y
(
k
)
)
e
1
−
λ
0
p(y^{(k)} \mid x^{(k)}) = \frac{e^{\Lambda^{T}\cdot f(x^{(k)},y^{(k)})}}{e^{1-\lambda_0}}
p(y(k)∣x(k))=e1−λ0eΛT⋅f(x(k),y(k))
又由于概率密度积分的定义:
∑
y
(
k
)
=
S
Y
(
l
)
p
(
y
(
k
)
∣
x
(
k
)
)
=
1
\sum_{y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} p(y^{(k)} \mid x^{(k)}) = 1
y(k)=SY(l)∑p(y(k)∣x(k))=1
因此:
∑
y
(
k
)
=
S
Y
(
l
)
e
Λ
T
⋅
f
(
x
(
k
)
,
y
(
k
)
)
e
1
−
λ
0
=
1
e
1
−
λ
0
=
∑
y
(
k
)
=
S
Y
(
l
)
e
Λ
T
⋅
f
(
x
(
k
)
,
y
(
k
)
)
最终:给定样本
x
(
k
)
x^{(k)}
x(k)条件下,
y
(
k
)
y^{(k)}
y(k)的概率密度函数为:
p
(
y
(
k
)
∣
x
(
k
)
)
=
e
Λ
T
⋅
f
(
x
(
k
)
,
y
(
k
)
)
∑
y
(
k
)
=
S
Y
(
l
)
e
Λ
T
⋅
f
(
x
(
k
)
,
y
(
k
)
)
p(y^{(k)} \mid x^{(k)}) = \frac{e^{\Lambda^{T}\cdot f(x^{(k)},y^{(k)})}}{\sum_{y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} e^{\Lambda^{T}\cdot f(x^{(k)},y^{(k)})}}
p(y(k)∣x(k))=∑y(k)=SY(l)eΛT⋅f(x(k),y(k))eΛT⋅f(x(k),y(k))
即 S o f t m a x Softmax Softmax激活函数。
推导过程有一点崩了~,但是我们需要知道 S o f t m a x Softmax Softmax函数自身是怎么得到的,或者说为什么能用最大熵的方式推导出来,哪些步骤影响它得到这个结果:
核心:样本组成:它是一个包含样本、标签两种量的数据集合,由于样本、标签之间的关联关系导致我们选择 条件熵作为最大熵原理 的目标函数。
其次,仍然是样本组成:标签自身存在多种类别,从而导致这些标签的后验概率分布相加结果是1,这也 直接影响到 S o f t m a x Softmax Softmax函数结果分母的构成。
和指数族分布推导过程相比,我们知道了函数向量是从组合中得到的结果,相比之前泛化性的解释更加具有实际意义。
下一节继续回归指数族分布。
相关参考:
王木头学科学——最大熵