一、 Softmax函数与多元逻辑回归
为了之后更深入地讨论神经网络,本节将介绍在这个领域里很重要的softmax函数,它常被用来定义神经网络的损失函数(针对分类问题)。
根据机器学习的理论,二元逻辑回归的模型公式可以写为如下的形式:
在公式(1)中,对分子、分母同时乘以,得到公式(2),其中,
;
。
事实上,多元逻辑回归的模型公式也可以写成类似的形式。具体地,假设分类问题有个类,分别记为,则多元逻辑回归的模型可以表示为如下的形式。
不妨记
,
。在公式(3)中对分子分母同时乘以
,可以得到公式(4)。
公式(4)中的函数其实就是softmax函数(softmax function),记为
。这个函数的输入是一个
维的行向量,而输出也是一个
维行向量,向量的每一维都在区间中,而且加总的和等于1,如图1所示。从某种程度上来讲,softmax函数与sigmoid函数非常类似,它们都能将任意的实数“压缩”到区间。
图1
在softmax函数的基础上,可以将逻辑回归转换成图的形式,这样可以更直观地在神经网络里使用这个模型(在机器学习领域,复杂的神经网络常被表示为图)。以二元逻辑回归为例,得到的图像如图2所示。图中的方块表示线性模型。另外值得注意的是,图2所表示的模型与《神经网络(一)》中的sigmoid神经元模型是一致的,只是图2可以很轻松地扩展到多元分类问题(增加图中方块的数目)。
图2
另外,借助softmax函数,逻辑回归模型的损失函数可以被改写为更简洁的形式,如公式(5)所示。
那么,对于
元分类问题,假设第
个数据的类别是
,用一个
维的行向量
来表示它的类别[^1]:这个行向量的第
个维度等于1,即
,其他维度等于0,即
。基于此,逻辑回归在这一个数据点上的损失可以写成softmax函数与行向量
矩阵乘法的形式(也可以认为是向量内积的形式),如公式(6)所示,其中
是一个
维的行向量。
类似地,整个模型的损失函数也可以写为矩阵乘法的形式(因为
),这样的形式对神经网络的工程实现十分有用,在之后的讨论里会经常遇到基于它的代码实现。
作者:tgbaggio
链接:https://www.jianshu.com/p/485aae34b709
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。