softmax分类器推导

    xiaoxiao2021-03-26  23

    softmax函数在机器学习中是常用的多分类器,特别是在卷积神经网络中,最后的一层经常都是使用softmax分类器进行多类别分类任务。虽然softmax看上去相对比较简单,但是其实其中蕴含的数学推导还是比较复杂的,特别是对于数学不太好的同学。这篇文章主要就是结合自己学习《神经网络与深度学习》的一些笔记和体会。其中很多公式部分参考了《神经网络与深度学习》, 如有不恰当的地方,欢迎批评指正。      softmax 函数是logistic函数的一般形式,是将分类问题转化为概率问题,其实说白了,就是求解统计所有可能的概率,然后概率最大的即认为为该类别。首先 直接建立多类线性分类器。假设  { 1 · · ·  , C } 共  个类别,首先定义C个判别函数。                                                          这里W 为类  c 的权重向量。     这样,对于空间中的一个点 x ,如果存在类别 c ,对于所有的其他类别 ˜( w T c  ̸ c 都满足 f c ( x f ˜ ( x ) ,那么 x 属于类别  c 。相应的分类函数可以表示为:                                                                               当  = 2 时,就是Logistics二类分类器,                                                                SoftMax 回归是 Logistic 回归的多类推广。   多类线性分类函数的参数  w 有很多种优化算法。这里我们介绍一种常用的学习算法:  SoftMax  回归 。在 SoftMax 回归中,机器学习模型预测目标为每一个类别的后验概率。这就需要用到 softmax 函数。   利用 softmax函数,我们定义目标类别 c的后验概率为:                                                              对于样本 ( x , y ) ,输出目标  { 1 · · ·  , C } ,我们用  维的 one-hot 向量  y 来表示输出目标。对于类别  c                                                                   这里,  I () 是指示函数。    同时,我们将公式 3.59 重新定义一下,直接输出  维向量                                                                            其中,  = [ w 1 · · ·  w C ] 是  个类对应权重向量组成的矩阵。  ˆ  的第  c 维的值是第  c 类的预测后验概率。其中,  ˆ =  T x ,为  softmax 函数的输入向量。   给定  给样本 ( x ( i ) y ( i ) ) ≤  ≤  N ,我们使用交叉熵损失函数,模型在训练集的风险函数为:                                                                采样梯度下降法,我们要计算  ( W ) 关于  的梯度。首先,我们列下要用到的公式。    1. softmax 函数的导数为                                                                   下面讲述的是关于softmax的导数求法, 对于  个标量  x 1 · · ·  , x K ,  softmax 函数定义为                                                       这样,我们可以将  个变量  x 1 · · ·  , x 转换为一个分布:  z 1 · · ·  , z K ,满足                                                               当  softmax 函数的输入为  维向量  x                                                               其中,  = [1 · · ·  1] K × 是  维的全 1 向量         
    转载请注明原文地址: https://ju.6miu.com/read-660023.html

    最新回复(0)