Softmax函数的定义及作用
   
Softmax是一种形如下式的函数:
    
    
   
P
(
i
)
=
e
x
p
(
θ
T
i
x
)
∑
K
k
=
1
e
x
p
(
θ
T
k
x
)
   
   其中
   
   
   
    
     
      
       
        
         
          
           
            θ
           
           
           
          
          
           
            i
           
           
           
          
         
        
       
       
       
      
     
     
    
   
   
   和x是列向量,
   
   
   
    
     
      
       
        
         
          
           
            θ
           
           
           
          
          
           
            T
            
           
           
           
          
          
           
            i
           
           
           
          
         
        
        
         x
        
       
       
       
      
     
     
    
   
   
   可能被换成函数关于x的函数
   
   
   
    
     
      
       
        
         
          
           
            f
            
           
           
           
          
          
           
            i
           
           
           
          
         
        
        
         (
        
        
         x
        
        
         )
        
       
       
       
      
     
     
    
   
   
   。
    通过softmax函数,可以使得
    
    
    
     
      
       
        
         
          P
          
         
         
          (
         
         
          i
         
         
          )
         
        
        
        
       
      
      
     
    
    
    的范围在[0,1]之间。在回归和分类问题中,通常
    
    
    
     
      
       
        
         
          θ
         
        
        
        
       
      
      
     
    
    
    是待求参数,通过寻找使得
    
    
    
     
      
       
        
         
          P
          
         
         
          (
         
         
          i
         
         
          )
         
        
        
        
       
      
      
     
    
    
    最大的
    
    
    
     
      
       
        
         
          
           
            
             θ
            
            
            
           
           
            
             i
            
            
            
           
          
         
        
        
        
       
      
      
     
    
    
    作为最佳参数。
   
但是,使得范围在[0,1]之间的方法有很多,为啥要在前面加上以e的幂函数的形式呢?参考logistic函数:
    
    
   
P
(
i
)
=
1
1
+
e
x
p
(
−
θ
T
i
x
)
这个函数的作用就是使得P(i)在负无穷到0的区间趋向于0,在0到正无穷的区间趋向于1。同样,softmax函数加入了e的幂函数正是为了两极化:正样本的结果将趋近于1,而负样本的结果趋近于0。这样为多类别分类提供了方便(可以把P(i)看作是样本属于类别i的概率)。可以说,Softmax函数是logistic函数的一种泛化。
    softmax的推导
   
    虽然Softmax函数得到的是一个[0,1]之间的值,且
    
    
    
     
      
       
        
         
          
           
            
             ∑
            
            
            
           
           
            
             
              
               K
               
              
             
            
            
            
           
           
            
             
              
               k
              
              
               =
              
              
               1
              
             
            
            
            
           
          
         
         
          P
          
         
         
          (
         
         
          i
         
         
          )
         
         
          =
         
         
          1
         
        
        
        
       
      
      
     
    
    
    ,但是这个softmax求出的概率是否就是真正的概率?换句话说,这个概率是否严格等于期望呢?为此在这里进行推导。
   
    假设现在有K个类,样本属于类别i的概率为
    
    
    
     
      
       
        
         
          ϕ
         
         
          (
         
         
         
        
       
      
     
    
   
 
