????softmax作为输出层的激励函数,在机器学习中常被看作是一种多分类器。通俗的意思就是,将一个物品输入,得出其中可能属于的类别概率(soft),最后得出最大可能性的判别(max)。下图为softmax的具体计算流程:
????其中,3、1、-3为输入值,计算以e为底的幂,之后求各类别之和,每个类别的输出值为
,保证了各个类别输出值总和 ≤ 1(即:
)。
????比如下图所,j假设有7张图,分别为飞机、汽车、轮船、猫、狗、鸟、太阳,则图像的分类标签如下表示:
????这种激励函数通常用在神经网络的最后一层作为分类器的输出,有7个节点就可以做7个不同类别的判别,有1000个节点就可以做1000个不同样本类别的判断。
优点:不同类之间分类准确
????softmax比hardmax(本文暂且称为,即利用输入本身的值计算输出值:))更容易实现one-hot目标,即放大某一类可能性与其他类的差值,方便实现不同类之间的分类判定。两者差异性见下图:
缺点:类间紧凑,不满足进行人脸识别中特征向量对比需求
????人脸识别中特征向量相似度计算,常用欧式距离(L2 distance)和余弦距离(cosine distance),下面讨论特征向量相似度对比情况:
欧式距离:
欧式距离越小,向量相似度越高。可能同类的特征向量距离(黄色)比不同类的特征向量距离(绿色)更大
余弦距离:
夹角越小,余弦距离越大,向量相似度越高。可能同类的特征向量夹角(黄色)比不同类的特征向量夹角(绿色)更大
总结
????之前仅仅使用过softmax做一些数据处理,但是对它的原理概念总是记忆不清,今天特总结记录一下。
参考博客:http://www.pianshen.com/article/3582306846/
原文:https://www.cnblogs.com/somedayLi/p/12275896.html