[W5]神经网络的学习

代价函数

首先需要定义几个变量
L = 这个神经网络的总层数
sl= 第L层的单元数量
K = 输出层的单元数量
在神经网络中,我们的输出节点不止一个,我们用hΘ(x)k 来表示第k个输出
还记得逻辑回归的代价函数吗?

逻辑回归代价
对于神经网络来说,代价函数更加复杂一些
%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c%e4%bb%a3%e4%bb%b7%e5%87%bd%e6%95%b0

反向传播算法

反向传播算法是一种用于最小化代价函数的算法,正如我们在逻辑回归问题中使用的梯度下降算法一样。
引入一个新概念,error,

%e5%8f%8d%e5%90%91%e4%bc%a0%e6%92%aderror
代表了第l层第j个节点的误差值。
对于输出节点来说,我们可以通过下面公式计算error
%e8%be%93%e5%87%ba%e8%8a%82%e7%82%b9%e7%9a%84error
对于输出层之外的节点误差,我们可以用下面公式来计算
%e9%9d%9e%e8%be%93%e5%87%ba%e5%b1%82%e8%af%af%e5%b7%ae%e8%ae%a1%e7%ae%97
关于公式里的.和g,意义如下
1..
用于矩阵运算,将对应位置的每个元素相称,两个矩阵必须同样的大小
2.g也可以被写成
%e5%8f%8d%e5%90%91%e4%bc%a0%e6%92%ad%e7%9a%84g
所以,误差计算公式也可以表达如下
%e8%af%af%e5%b7%ae%e8%ae%a1%e7%ae%97%e5%85%ac%e5%bc%8f%e7%9a%84%e5%8f%a6%e4%b8%80%e7%a7%8d%e8%a1%a8%e8%be%be

算法流程

有了上面的背景知识,我们就可以看看这个算法到底是怎样的流程了,如下图

%e5%8f%8d%e5%90%91%e4%bc%a0%e6%92%ad%e7%ae%97%e6%b3%95%e6%b5%81%e7%a8%8b

u3coding

A software developer

Leave a Comment

Your email address will not be published. Required fields are marked *

*