机器学习笔记之指数族分布——最大熵原理与softmax激活函数的关系
引言
上一节介绍了最大熵原理与指数族分布之间的关系,即给定基于样本作为约束条件的情况下,熵最大的概率分布是指数族分布。本节将介绍最大熵原理与 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)} = \begin{pmatrix} x_1^{(k)} , x_2^{(k)} , \cdots x_i^{(k)} \end{pmatrix}^{T} x(k)=(x1(k),x2(k),⋯xi(k))T -
任意样本 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)} = \begin{pmatrix} y_1^{(k)} , y_2^{(k)} , \cdots y_j^{(k)} \end{pmatrix}^{T} y(k)=(y1(k),y2(k),⋯yj(k))T -
样本集合与标签集合表示如下:
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 = \begin{pmatrix} x_1^{(1)} \quad x_1^{(2)} \cdots x_1^{(N)}\\ x_2^{(1)} \quad x_2^{(2)} \cdots x_2^{(N)}\\ \vdots \quad\quad \vdots \quad\quad \vdots\\ x_i^{(1)} \quad x_i^{(2)} \cdots x_i^{(N)}\\ \end{pmatrix} \quad \mathcal Y = \begin{pmatrix} y_1^{(1)} \quad y_1^{(2)} \cdots y_1^{(N)}\\ y_2^{(1)} \quad y_2^{(2)} \cdots y_2^{(N)}\\ \vdots \quad\quad \vdots \quad\quad \vdots\\ y_j^{(1)} \quad y_j^{(2)} \cdots y_j^{(N)}\\ \end{pmatrix} X=⎝ ⎛x1(1)x1(2)⋯x1(N)x2(1)x2(2)⋯x2(N)⋮⋮⋮xi(1)xi(2)⋯xi(N)⎠ ⎞Y=⎝ ⎛y1(1)y1(2)⋯y1(N)y2(1)y2(2)⋯y2(N)⋮⋮⋮yj(1)yj(2)⋯yj(N)⎠ ⎞ -
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\{ \begin{array}{ll} 1\quad if \quad 满足x_q 描述的既定事实\\ 0\quad otherwise \end{array} \right. xq={ 1if满足xq描述的既定事实0otherwise
同理, 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\{ \begin{array}{ll} 1\quad if \quad 满足y_s 描述的既定事实\\ 0\quad otherwise \end{array} \right. \\ \sum_{s=1}^j y_s = 1 ys={ 1if满足ys描述的既定事实0otherwises=1∑jys=1
基于上述假设,我们可以 将 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