- 引言
- 符号定义
- 基于多维数据集合的经验概率分布
- 回顾:经验概率分布
- 多维数据的经验概率分布
 
- S o f t m a x \mathcal Softmax Softmax函数
- S o f t m a x Softmax 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(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)1701 x ( 2 ) x^{(2)} x(2)1801 x ( 3 ) x^{(3)} x(3)1700 x ( 4 ) x^{(4)} x(4)1600 x ( 5 ) x^{(5)} x(5)1701如果想要计算 
     
      
       
       
         ( 
        
        
        
          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) = \begin{pmatrix} \hat p(x_1=170,x_2=1) \\ \hat p(x_1=180,x_2=1) \\ \hat p(x_1=170,x_2=0) \\ \hat p(x_1=160,x_2=0) \\ \end{pmatrix} = \begin{pmatrix} \frac{2}{5} \\ \frac{1}{5} \\ \frac{1}{5} \\ \frac{1}{5} \\ \end{pmatrix} = \begin{pmatrix} 0.4 \\ 0.2 \\ 0.2 \\ 0.2 \\ \end{pmatrix} 
        
       
     P^(x1,x2)=⎝ 
               
                
              ⎛p^(x1=170,x2=1)p^(x1=180,x2=1)p^(x1=170,x2=0)p^(x1=160,x2=0)⎠ 
               
                
              ⎞=⎝ 
               
                
              ⎛52515151⎠ 
               
                
              ⎞=⎝ 
               
                
              ⎛0.40.20.20.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 
              
             
            
           
          
         
        
       
         \begin{aligned} \hat P(x^{(k)} = \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}) & = \hat P(S_{Data}^{(l)}) \\ & = \frac{count(s^{(k)} = \mathcal S_{Data}^{(l)})}{N} \\ & = \frac{count(x_1,x_2,\cdots,x_i,y_1,y_2,\cdots,y_j)}{N} \end{aligned} 
        
       
     P^(x(k)=SX(l),y(k)=SY(l))=P^(SData(l))=Ncount(s(k)=SData(l))=Ncount(x1,x2,⋯,xi,y1,y2,⋯,yj) 这两个公式下面推导会用到。
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)表示维度信息。
观察上面的函数,它有许多特点:
- 无论式分母还是分子,它们均有下界——0,即分子、分母大于零恒成立;
- 分子数值是分母的一部分——结合特点1, S o f t m a x ( y i ) Softmax(y_i) Softmax(yi)小于1恒成立。
但从函数性质来看,用这个函数表示概率确实是个不错的选择。 核心问题: 但为什么要使用该函数去表示多分类结果的概率分布,换句话说,表示多分类结果的概率分布为什么使用 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函数的映射结果为什么可以作为多分类结果的概率分布。
求解目标与最大熵原理推导指数族分布的思路相同,都是求解 基于上述数据集合构成的约束条件 基础上,求解 能够使熵达到最大的概率分布(概率密度函数) 与 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 ) ) \begin{aligned} \mathcal H(\mathcal Y \mid \mathcal X) & = -\sum_{x^{(k)} \in \mathcal X} p(x^{(k)})\cdot \mathcal H(\mathcal Y \mid \mathcal x^{(k)}) \\ & = -\sum_{x^{(k)} \in \mathcal X} p(x^{(k)})\cdot \sum_{y^{(k)} \in \mathcal Y} p(y^{(k)} \mid x^{(k)}) \log p(y^{(k)} \mid x^{(k)}) \\ & = -\sum_{y^{(k)} \in \mathcal Y,x^{(k)} \in \mathcal X} p(x^{(k)})\cdot p(\mathcal y^{(k)} \mid \mathcal x^{(k)}) \log p(\mathcal y^{(k)} \mid \mathcal x^{(k)}) \end{aligned} 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))logp(y(k)∣x(k))=−y(k)∈Y,x(k)∈X∑p(x(k))⋅p(y(k)∣x(k))logp(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 \begin{aligned} \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} \\ \hat P(x^{(k)} = \mathcal S_{\mathcal X}^{(l)},y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}) & = \hat P(S_{Data}^{(l)}) \\ & = \frac{count(s^{(k)} = \mathcal S_{Data}^{(l)})}{N} \\ & = \frac{count(x_1,x_2,\cdots,x_i,y_1,y_2,\cdots,y_j)}{N} \end{aligned} P^(x(k)=SX(l))P^(x(k)=SX(l),y(k)=SY(l))=P^(SX(l))=Ncount(x1,x2,⋯,xi)=P^(SData(l))=Ncount(s(k)=SData(l))=Ncount(x1,x2,⋯,xi,y1,y2,⋯,yj)
从而可以先求出经验分布 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)): max  H ( Y ∣ X ) = max  − ∑ y ( k ) ∈ Y , x ( k ) ∈ X p ( x ( k ) ) ⋅ p ( y ( k ) ∣ x ( k ) ) log  p ( y ( k ) ∣ x ( k ) ) = min  ∑ y ( k ) ∈ Y , x ( k ) ∈ X p ^ ( x ( k ) ) ⋅ p ( y ( k ) ∣ x ( k ) ) log  p ( y ( k ) ∣ x ( k ) ) \begin{aligned} \max \mathcal H(\mathcal Y \mid \mathcal X) & = \max - \sum_{y^{(k)} \in \mathcal Y,x^{(k)} \in \mathcal X} p(x^{(k)})\cdot p(\mathcal y^{(k)} \mid \mathcal x^{(k)}) \log p(\mathcal y^{(k)} \mid \mathcal x^{(k)}) \\ & = \min \sum_{y^{(k)} \in \mathcal Y,x^{(k)} \in \mathcal X} \hat p(x^{(k)})\cdot p(\mathcal y^{(k)} \mid \mathcal x^{(k)}) \log p(\mathcal y^{(k)} \mid \mathcal x^{(k)}) \end{aligned} maxH(Y∣X)=max−y(k)∈Y,x(k)∈X∑p(x(k))⋅p(y(k)∣x(k))logp(y(k)∣x(k))=miny(k)∈Y,x(k)∈X∑p^(x(k))⋅p(y(k)∣x(k))logp(y(k)∣x(k))
- m + 1 m+1 m+1个约束条件: Δ 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 ) ∑ S Y ( l ) ∈ S Y P ( y ( k ) = S Y ( l ) ∣ x ( k ) = S X ) = 1 \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) \\ \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 Δl=x(k)=SX(l),y(k)=SY(l)∑p(y(k)∣x(k))[fl(x(k),y(k))](l=1,2,⋯,m)SY(l)∈SY∑P(y(k)=SY(l)∣x(k)=SX)=1
构建拉格朗日函数: 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))])
- 对 P ( X , Y ) P(\mathcal X,\mathcal Y) P(X,Y)求解偏导: ∂ L ( P ( Y ∣ X ) , λ , λ l ∣ l = 1 m ) ∂ P ( Y ∣ X ) = ∑ x ( k ) ∈ X , y ( k ) ∈ Y p ^ ( x ( k ) ) [ p ( y ( k ) ∣ x ( k ) ) ⋅ 1 p ( y ( k ) ∣ x ( k ) ) + log  p ( y ( k ) ∣ x ( k ) ) ] − ∑ S Y ( l ) ∈ S Y λ + ∑ 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)})[p(y^{(k)} \mid x^{(k)}) \cdot \frac{1}{p(y^{(k)} \mid x^{(k)})} + \log p(y^{(k)} \mid x^{(k)})] - \sum_{\mathcal S_{\mathcal Y}^{(l)} \in \mathcal S_{\mathcal Y}} \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))[p(y(k)∣x(k))⋅p(y(k)∣x(k))1+logp(y(k)∣x(k))]−SY(l)∈SY∑λ+l=1∑mλl(−x(k)=SX(l),y(k)=SY(l)∑p^(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 \begin{aligned} p(y^{(k)} \mid x^{(k)}) & = e^{\lambda_0 - 1}e^{\sum_{l=1}^m \lambda_l f_l(x^{(k)},y^{(k)})} \\ & = \frac{e^{\sum_{l=1}^m \lambda_l f_l(x^{(k)},y^{(k)})}}{e^{1- \lambda_0}} \end{aligned} p(y(k)∣x(k))=eλ0−1e∑l=1mλlfl(x(k),y(k))=e1−λ0e∑l=1mλlfl(x(k),y(k))
可以将 ∑ 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 \begin{pmatrix}f_1(x^{(k)},y^{(k)}) \\ f_2(x^{(k)},y^{(k)}) \\ \vdots \\ f_m(x^{(k)},y^{(k)})\end{pmatrix} = \Lambda^{T}f(x^{(k)},y^{(k)}) l=1∑mλlfl(x(k),y(k))=(λ1,λ2,⋯,λm)⋅⎝ ⎛f1(x(k),y(k))f2(x(k),y(k))⋮fm(x(k),y(k))⎠ ⎞=ΛTf(x(k),y(k)) 那么,上述式子表示如下: 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 ) ) \begin{aligned} \sum_{y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}}\frac{e^{\Lambda^{T}\cdot f(x^{(k)},y^{(k)})}}{e^{1-\lambda_0}} = 1 \\ e^{1- \lambda_0} = \sum_{y^{(k)} = \mathcal S_{\mathcal Y}^{(l)}} e^{\Lambda^{T}\cdot f(x^{(k)},y^{(k)})} \end{aligned} y(k)=SY(l)∑e1−λ0eΛT⋅f(x(k),y(k))=1e1−λ0=y(k)=SY(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函数结果分母的构成。
和指数族分布推导过程相比,我们知道了函数向量是从组合中得到的结果,相比之前泛化性的解释更加具有实际意义。
下一节继续回归指数族分布。
相关参考: 王木头学科学——最大熵

 
                 
    