Andrew Ng Machine Learning 专题【Neural Networks】下

此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。
课程网址:https://www.coursera.org/learn/machine-learning/home/welcome

Week 4:Neural Networks_1笔记:http://blog.csdn.net/ironyoung/article/details/48153375

对于BP(backpropagation),以前写过心得以及资料的总结,最终利用C++实现了简单的BP神经网络。具体见这里:《C++从零实现BP神经网络》


上一篇blog中,介绍了前向传播(forward propagation)的过程,以及神经网络计算非线性问题的例子(XOR问题)
这一篇blog中,开始介绍,如何来计算神经网络中各种参数的方法:后向传播(backward propagation)
  1. Cost Function

    为了拟合神经网络的各个参数,我们首先需要规定一些变量:

    1. m个样本:{ (x(1),y(1)),(x(2),y(2)),...,(x(m),y(m)) }
    2. 神经网络层数(包括输入层、输出层): L
    3. 每层上的神经元个数(不包括每层上的偏差单元,也就是输入恒为1的单元): Sl ,如果是最后一层则记为: SL
    1. 不同分类问题:若分为2类,其实用一个神经元作为输出层就可以了,用 y=0 y=1 区分;多类问题,利用以前说过的,分为K类则最终的 yRK ,例如分为三类的问题输出可选择为 y=(100)T,y=(010)T,y=(001)T
    2. 因为同样是分类问题,我们回想一下逻辑回归的cost function,其实神经网络的相同,只不过是对于分为K类问题的版本而已:

    J(θ)=1m[i=1mk=1K(y(i)klog(hθ(x(i)))k+(1y(i)k)log(1hθ(x(i)))k)]+λ2ml=1L1i=1Slj=1Sl+1(θ(l)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值