神经网络(二):Softmax函数与多元逻辑回归

一、 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

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(神经网络(二):Softmax函数与多元逻辑回归)