定义一些参数:
= 神经网络的层数
= 层的单元数,但不包括偏差单元
= 输出层的单元数,二元分类是1,大于二的就是k
逻辑回归的代价函数为:
神经网络的代价函数:
是一个K维向量。是输出向量的第i个单元。
左侧两个求和的是将输出的每个单元的回归代价相加,右侧的三次和是将所有的单元的平方相加
最小化
想要计算神经网络的代价函数的最小化,需要计算
在神经网络算法中,最小化代价函数一般是使用反向传播算法(Backpropagation)来计算
定义一个参数:
= 第层,第个节点的激励函数返回值。
= 第层,第个节点的误差。
计算过程
-
初始化,每一层的每一个元素都是0;
-
设置 ;
-
正向计算每层的单元,=2,3,...,L
最上面的神经网络模型为例:
,添加
,添加
-
计算L层(输出层)误差
是训练集的真实输出值。上例中,
-
计算L-1,L-2,...,2层误差,;
L层之前的层的误差计算公式
其中
因此误差计算公式等于:
这里没有第一层误差,因为第一层就是输入值,不存在误差。
-
计算,,用向量方式表示,其中
-
在所有的样本集中,重复2-6步骤,计算出;
-
这里要加上正则化的过程:
最终获得的代价函数的导数
转载自:
https://codeeper.com/2020/01/18/tech/machine_learning/neural_network_cost_function.html