神经网络是当今最强大的学习算法之一。本文讲述一种在给定训练集下为神经网络拟合参数的学习算法。
术语
假设我们有一个如左边所示的 神经网络结构 然后假设我们有一个 像这样的训练集 m个训练样本x(i) y(i) ,我用大写字母 L 来表示 这个神经网络结构的总层数 所以 对于下面的网络结构 我们得到 L等于4 然后我准备用 sl表示 第L层的单元的数量 也就是神经元的数量 这其中不包括L层的偏差单元 比如说 我们得到s1 也就是输入层 是等于3的单元 s2在这个例子里等于5个单位 然后输出层s4,也就是sl 因为L本身等于4 在左边这个例子中输出层有4个单位。
对于二元分类问题,y只能等于0或1 在这个例子中 我们有一个输出单元 上面这个神经网络的有四个输出单元 但是如果我们 用二元分类的话 我们就只能有一个输出结果 也就是计算出来的h(x) ,h(x)就会是 一个实数
对于多类分类的问题,如果我们有四类的话 我们就用这样的表达形式来代表y。在这类问题里 我们就会有K个输出单元 我们的假设输出 就是一个K维向量
神经网络代价函数
我们在神经网络里使用的代价函数是逻辑回归里使用的代价函数的一般化形式,对于逻辑回归而言我们通常使代价函数 J(θ) 最小化 也就是-1/m 乘以后面这个代价函数,然后再加上这个额外正则化项,这里是一个 j从1到n的求和形式 因为我们 并没有把偏差项 0正则化
对于神经网络,不再是仅有一个逻辑回归输出单元,取而代之的是K个,所以这是我们的代价函数神经网络现在输出了在K维的向量,这里K可以取到1,也就是原来的二元分类问题。我准备用这样一个记法
我的代价函数 J(θ) 将成为这样的形式 -1/m乘以 一个类似于我们在逻辑回归里所用的求和项,除了这里我们求的是 k从1到K的所有和,这个求和项主要是 K个输出单元的求和 所以如果我有四个输出单元也就是我的神经网络最后一层,有四个输出单元,那么这个求和就是这个求和项就是 求k等于从1到4的每一个的逻辑回归算法的代价函数 ,然后按四次输出的顺序 依次把这些代价函数加起来,最后这里的第二项 这就是类似于我们在逻辑回归里所用的正则化项。
网友评论