神经网络模型表示
之前学习过的线性回归还是逻辑回归都有这样的特点:当特征太多,计算的负荷会非常大。
这个时候我们就要使用神经网络来解决问题了。
那么什么是神经网络呢?
神经玩咯建立在很多神经元之上,每一个神经元又是一个一个的学习模型,这些神经元也叫做激活单元。它们会采纳一些特诊作为输出,根据本身的模型提供一个输出。
x1,x2,x3是我们的输入,a1a2a3负责数据的处理,最后是数据的输出,他负责计算hθ(x),
对该图来说,激活单元和输出分别为
上述讨论中我们只将特征矩阵中的一行(一个实例)喂给了神经网络,我们需要将真个训练集都喂进去。
其中,每一个a都是由上层的x和每一个x所对应决定的,我们把这样的算法称为前向传播算法。
如果针对真个训练集计算,我们需要将训练集特征矩阵进行转置。
单看第二层,
其实神经网络就像是逻辑回归,只不过,他是利用中间层的而不是原始数据。
并且神经网络可以完成逻辑运算。我们能逐渐构造越来越复杂的函数,得到更加厉害的特征值。
代价函数
逻辑回归中的代价函数:
神经网络中的代价函数:
对于每一行特征我们会给k个不同的结果,然后利用循环在K个预测中选择可能性最高的一个,将其与y的实际数据比较。
正则化项排除了每一层的θ0后,每一层θ矩阵的和。
反向传播
为了计算代价函数的偏导数,我们采用反向传播算法,首先计算最后一层的误差,然后再一层一层的反向求出各层的误差。
其中误差单元是个矩阵。