Swift51.com
麦子学院 头像
麦子学院  2017-09-28 22:26

神经网络的代价函数

回复:0  查看:3354  

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

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

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

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

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

神经网络的代价函数

  我们用 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

 

 

来源:简书