Neural Networks: Learning
Cost Function
逻辑回归问题中我们的代价函数为:
在逻辑回归中,我们只有一个输出变量,又称标量(scalar) , 也只有一个因变量 y,但是在神经网络中,我们可以有很多输出变量,我们的 hθ(x)是一个维度为 K 的向量,并且我们训练集中的因变量也是同样维度的一个向量,因此我们的代价函数会比逻辑回归更加复杂一些。
-
这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同的是,对于每一行特征,我们都会给出K 个预测,基本上我们可以利用循环,对每一行特征都预测 K 个不同结果,然后在利用循环在 K 个预测中选择可能性最高的一个,将其与 y 中的实际数据进行比较。
-
正则化的那一项只是排除了每一层 θ0 后,每一层的 θ 矩阵的和。最里层的循环 j 循环所有的行(由 sl +1 层的激活单元数决定),循环 i 则循环所有的列,由该层(sl 层)的激活单元数所决定。 即: hθ(x)与真实值之间的距离为每个样本-每个类输出的加和,对参数进行regularization 的 bias 项处理所有参数的平方和。
-
由于计算复杂,实际上神经网络的代价函数 是一个非凸(non-convex)函数。
Backpropagation Algorithm
类似于回归模型中的梯度下降算法,为了求解神经网络最优化问题,我们也要计算
如此才能最小化代价函数。<