机器学习第一篇(stanford大学公开课学习笔记) —机器学习的概念和梯度下降

   stanford机器学习公开课视频,讲师 Andrew Ng:http://v.163.com/special/opencourse/machinelearning.html


  一、 机器学习的定义:

  1、Fields of study that gives the ability to learn without being explicitly programmed.(是研究不需要显示进行编程而具有学习能力的领域)。这里的显示编程是指由程序代码明确定义的行为,该定义强调了机器学习要源于程序而又摆脱程序代码的控制,要通过自身学习到程序以外的东西。

  2、A computer program is said to learn from experience E with respect to some task T and some performance measure P if its performance on T, as measured by P, improves with experience E.(一个电脑程序只有当它由P衡量的表现T,能够跟随经验E的不断丰富而得到提高,这时才称这个程序具备学习能力。)该程序强调了机器程序随着外部环境不断变化的能力,这种能力让机器程序能够根据自己的经验而不断成长,最终提高了自身的表现。


二、机器学习的简单分类

    Supervised Learning (监督学习,指训练样本为带标签样本的学习方法)

    Unsupervised Learning(非监督学习,指训练样本不带标签的学习算法)

     Reinforcement Learning(加强学习算法)


三、梯度下降

  1、Gradient Discent ( Batch Gradient Discent) (梯度下降,也称为批梯度下降算法)

    算法推到:记n维输入为x1,x2...xi.....xn,样本输出为y,共有m组数据,其中第j组数据记为:(xj,yj);

    目标函数:Jw:

        

其中,h(xj)表示样本输入xj的实际输出;通过计算关于参数W的偏导数,不断更新W,直到算法收敛:


其中 符号:=表示赋值的意思。


2、stochastic Gradient Discent (随机梯度下降算法) 

         批梯度下降算法能够综合利用所有的训练样本,每次迭代都需要遍历m组样本,如果m值过大,将会限制该方法的使用。另一方面,批梯度下降很容易陷入局部最优的困扰。为了解决批梯度下降算法的一些缺点,随机梯度下降算法

被提出来:

    随机梯度下降每次迭代时只取用一组数据,针对一组数据进行梯度计算,更新参数,再利用下一组数据。。。直到所有数据用完。。

 梯度下降的算法伪代码如下:

for j=1 to m:

         

end


后续学习有待跟进,希望大家能够不吝指正,相互学习,共同提高!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值