Softmax
1.2 Softmax 回归(Softmax regression)
有一种 logistic回归的一般形式,叫做 Softmax 回归,能让你在试图识别某一分类时做出预测,或者说是多种分类中的一个.假设你不单需要识别猫,而是想识别猫,狗和小鸡,我把猫加做类 1,狗为类 2,小鸡是类 3,如果不属于以上任何一类,就分到“其它”或者说“以上均不符合”这一类,我把它叫做类 0,在这个例子中,我们将建立一个神经网络,其输出层有 4 个,或者说C个输出单元,因此n,即输出层也就是L层的单元数量,等于 4,或者一般而言等于C,我们想要输出层单元的数字告诉我们这 4 种类型中每个的概率有多大,因此这里的y^将是一个4 × 1维向量,因为它必须输出四个数字,给你这四种概率,因为它们加起来应该等于 1,让你的网络做到这一点的标准模型要用到 Softmax 层,以及输出层来生成输出,在神经网络的最后一层,你将会像往常一样计算各层的线性部分,z[l]这是最后一层的z变量,算出了z之后,你需要应用 Softmax 激活函数,首先,我们要计算一个临时变量,我们把它叫做 t,它等于 ,z[l]是 4×1维的向量,t=
,z[l]是 4×1维的向量,t= 也是一个4×1 维向量,然后输出的a[l],
也是一个4×1 维向量,然后输出的a[l], ,
 ,   。
。
举个例子,假设z[l]= ,我们要做的就是用这个元素取幂方法来计算t,t=
,我们要做的就是用这个元素取幂方法来计算t,t= ,从向量t得到向量a[l]就只需要将这些项目归一化,使总和为1,把这四个数字加起来,得到 176.3,最终a[l]=t/176.3,例如这里的第一个节点,它会输出e5/176.3=0.842,表示类 0 的概率就是 84.2%,其他依次计算,最后计算得到4×1 维向量
,从向量t得到向量a[l]就只需要将这些项目归一化,使总和为1,把这四个数字加起来,得到 176.3,最终a[l]=t/176.3,例如这里的第一个节点,它会输出e5/176.3=0.842,表示类 0 的概率就是 84.2%,其他依次计算,最后计算得到4×1 维向量 。从z[l]到a[l]的计算步骤,整个计算过程,其中a[l]=g[l](z[l]),从计算幂到得出临时变量t,再归一化,我们可以将此概括为一个Softmax 激活函数。
。从z[l]到a[l]的计算步骤,整个计算过程,其中a[l]=g[l](z[l]),从计算幂到得出临时变量t,再归一化,我们可以将此概括为一个Softmax 激活函数。
1.2 训练一个 Softmax 分类器(Training a Softmax classifier)
Softmax 回归或 Softmax 激活函数将logistic 激活函数推广到K类,而不仅仅是两类,在 Softmax 分类中,我们一般用到的损失函数是 ,损失函数所做的就是它找到你的训练集中的真实类别,然后试图使该类别相应的概率尽可能地高。如果是单个训练样本的损失,J的定义是是整个训练集损失的总和,把我们的训练算法对所有训练样本的预测都加起来:
,损失函数所做的就是它找到你的训练集中的真实类别,然后试图使该类别相应的概率尽可能地高。如果是单个训练样本的损失,J的定义是是整个训练集损失的总和,把我们的训练算法对所有训练样本的预测都加起来: ,之后使用梯度下降法,使这里的损失最小化。
,之后使用梯度下降法,使这里的损失最小化。
本文来自博客园,作者:zhang-X,转载请注明原文链接:https://www.cnblogs.com/YY-zhang/p/15067720.html
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号