machine learning学习笔记(二)

思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
神经元就是一个很形象的人脑结构, 人工神经网络 就是模拟人思维的第二种方式。很多伟大的算法都出自于自然世界,如蚁群算法。所以上帝是世上最伟大的艺术家。而抽象思维个人觉得还是很神奇的东西,不过终会有一天我们能参透其中的秘密,灵感就不说了,根本无法描述,哈哈。这些都需要值得探索的方向,就像andrew说的,AI的世界很神奇,值得我们去探索,再赞同不过。

上图数神经网络的模型图(像神经元上的树突和轴突吗?哈哈)。首先先来说说bp神经网络和一般的多重参数logistic regression的区别。其实我觉得这两者是差不多的东西,只不过是计算模型上的差别。因为可以看到其实这两者的所有基本公司都是一样的。

上图是多项式公式

上图是cost function。都是和普通logistic regression是一致的。(这里的K是训练结果离散值的个数,比如你要通过ml识别英文字母,那这里的K自然是26 )。
(特别要注意的是,这里计算的时候cost要加上bias列,而Regularized的部分是不包括bias的,我的做法是theta1 = Theta1;  theta1(:,1) = 0;  theta2 = Theta2;  theta2(:,1) = 0;)
以上便是神经网络模型的正向传递。andrew老师的assignment中是给出了Theta的,所以我们训练出的结果是比较准确的。而实际上一开始我们需要随机初始化Theta(i),然后通过BP的逆向调整获取最终的Theta。

Backpropagation: BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的 误差平方和 最小。
其实我觉得BP算法最难理解就是如何算出gradient for the neural network cost function。首先来看看logistic regression的gradient方程
然后计算bp的gradient。
(1)计算最后一个layer的误差值。
(2)计算前一层layer的delta。 
(3)计算gradient。               
由此可知其实gradient是完全一致的,只不过bp的gradient是分了多层,一步步调整的,而logistic regression只有一层。

当然 传统的BP算法其收敛速度慢且容易陷入局部极小,所以有人利用高斯消元法来改进bp。有空的话我也去学习学习。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值