2013年9月30号 UFLDL tutorial之BP算法

来源:互联网 发布:epoll 高性能网络库 编辑:程序博客网 时间:2024/06/08 01:49

实际中我们通常会有训练数据,训练数据格式为

很显然,这是有监督的训练方式。

上一篇中,我们已经获得前向输出结果hwb,接下来,要根据机器学习中的常用方法进行最优化,也就是将

进行最小值求解,得到参数W和b

但是呢,为了防止数据的过拟合,通常会加入惩罚项,所以上式就变为

加入惩罚项,参数W中值越大惩罚的越厉害。

为什么仅仅对W进行惩罚呢,因为对b的惩罚,有和没有结果是一样的,所以就不加入b了

important tips:在初始化W的时候,尽量随机初始化,防止出现symmetry breaking

通常呢,我们会使用梯度下降的方法进行求取极值,

接下来,便是如何求取上面两个式子中的偏导项,即

在求取上面两个偏导的过程中,如果直接求取,会非常困难,那么就引入了迭代,一层层的求取,首先求取的是最后一层的导数,

至于这个结果怎么出来的,其实挺简单,只需在求导的过程中转换一下,具体的可以参阅其他blog中的讲解。

紧接着,求出倒数第二层,第三层的导数,

到最后,这两项的结果为

在编程的过程中呢,我们就只需计算之中的即可

这样呢,我们就通过BP算法求出W和b的局部最优解


原创粉丝点击