神经网络的代价函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络的代价函数相关的知识,希望对你有一定的参考价值。

神经网络是机器学习必学内容之一,本文和大家分享的就是神经网络中的代价函数相关内容,一起来看看吧,希望对大家有所帮助。

之前我们使用神经网络算法进行图像识别,所使用的参数都是已知的。

那么这些参数是如何得来的呢?

这其实和之前线性回归以及逻辑回归的是类似的,我们要知道它的代价函数。

在此之前,先了解一下各个标记。例如对于下面这样一个神经网络:

我们用 L 来标记神经网络的层数,例如这里就是 4 

我们用 s l 来标记第l层的单元数量,例如这里就是: s 1 = 3s 2 = s 3 = 5 s 4 = 4 ,注意这里是不包含偏差单元的,也就是 a 0 = 1 的单元。

每一层特征的计算,使用的公式依然是逻辑函数:

对于逻辑回归,它的代价函数是这样的:

那么以逻辑回归计算为基础,神经网络的代价函数是这样的:

第一次看到这个公式的时候,我也有点蒙,且让我逐步分解。

首先我们看看公式加号的左边部分:

相比原来的公式,增加了一个关于K的累加。这里的 K 代表着分类的数量,对应着的前面图片层次4输出结果的数量4

这里的下标 k ,就是计算第 个分类的意思。

也就是说,我们需要求得的参数, 应该对每一个分类计算代价函数,并使得加总之后的结果最小。

再来看看公式加号的右边部分:

右边部分是正则化项,是对每一个 θ 的平方进行累计。我们看看三个累加的含义。

对某一层的每一行进行加总:

对某一层的每一列进行加总:

对每一层进行加总:

如果你看过之前的文章,应该知道 θ 是从 层次计算得到 l + 1 层中间所需的参数,对于上面的图片,你可以这样来理解:

所以这里有 L - 1 组 θ 需要计算,也就是 4 - 1 = 3

那么对于每一组,如果第 l 层有 s l 个单元,第 l + 1 层有 s l+1 个单元,那么 θ (l) 就是一个 s l+1 × ( s l + 1 ) 的矩阵。

θ (1) 是一个 4 × 5 的矩阵,θ (2) 是一个 5 × 6 的矩阵,θ (3) 是一个 4 × 6 的矩阵。

这里的 θ (l) 是包括了偏差节点 a 0 对应的参数,而这些参数是不应该纳入计算的。

所以我们会看到计算列 i 对应的上标是 s l ,下标是 i = 1,也就是只计算各个单元对应的参数。

所以对于每一层的 θ ,扣除了第一列偏差参数,需要计算的参数数量就是 sl+1 × sl

 

 

来源:简书


以上是关于神经网络的代价函数的主要内容,如果未能解决你的问题,请参考以下文章

ng机器学习视频笔记 ——神经网络的代价函数反向传播梯度检验随机初始化

BP神经网络——交叉熵作代价函数

神经网络代价函数与交叉熵

从 0 开始机器学习 - 神经网络反向 BP 算法!

交叉熵代价函数(作用及公式推导)

为什么用交叉熵代替二次代价函数