机器学习基础—Softmax函数

我们都知道,机器学习中大量的预测结果是通过映射一个概率值来反映的。Softmax函数(也叫归一化函数)是深度学习中一个重要的映射函数,常用于多分类问题。

1.定义

Softmax函数可以看作是逻辑回归二分类器在多分类场景中的泛化。通过将神经元输出的得分值映射到频率域,一个(0,1)的区间中,从而实现对样本的多分类。
Softmax函数的数学定义如下:
y i = S o f t m a x ( S i ) = e S i ∑ e S j y_i=Softmax(S_i)=\frac{e^{S_i}}{\sum e^{S_j}} yi​=Softmax(Si​)=∑eSj​eSi​​
S i S_i Si​表示对得分集合中第i个元素的概率值。这可作为反向传播的一个映射值

2.交叉熵

我们都知道,熵(Entropy)在信息论和机器学习中表示一个种损失度,用以度量样本集合纯度的一种最常用的指标常在决策树中作为一个划分的依据。通常用公式
E n t ( D ) = − ∑ k = 1 n p k l o g 2 p k Ent(D)=-\sum_{k=1}^{n} p_klog_2p_k Ent(D)=−k=1∑n​pk​log2​pk​
来表示,Ent的值越小,则样本的纯度越大
那么什么是交叉熵呢?
交叉熵的数学定义如下:‘
c r o s s e n t r o p y ( l a b l e , S i ) = − ∑ i = 1 c l a b l e i l o g ( e S i ∑ j e S j ) crossentropy(lable,S_i)=-\sum_{i=1}^c lable_ilog(\frac {e^{S_i}}{\sum_j e^{S_j}}) crossentropy(lable,Si​)=−i=1∑c​lablei​log(∑j​eSj​eSi​​)
即正确分类样本的Softmax数值更大(即样本被正确分类的概率越大),其损失函数值越小。

3.一个小技巧

对交叉熵求导后,结果中Softmax损失函数对应的每一项概率的偏导数即为Softmax计算出的概率对应真正结果的那一维减1.

总结

Softmax用于多分类问题的概率值的映射,以计算下一阶段的反向传播。由此还有一个相关的概念便是交叉熵。交叉熵之所以使用,在于其求导结果简单,易于计算。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐