机器学习第5周!

教辅说这周的作业是史上最难,果不其然,我花了好久好久才完成….好吧其实也没有很难,就一开始的cost function卡了很久,后面倒是挺顺利的,简单地调了几遍就过了,现在第五周完成了,还有1个小时第六周就过期了。。。路漫漫,是真的。

1. cost function

印象中,一开始就是要算这个东西,然后我调了好久的程序,又是重看视频,又是看各种文档、论坛,后来是完成了的,它具体是个什么样子我还是要去查一下笔记的。

机器学习的本质在于通过大量数据的训练,使计算机能够拥有人类的某种能力,比如识别数字、开车,正如人类有认知错误一样,计算机学习以后的识别也会有些偏差。比如让它识别10个数字,它可能对了9个,错了一个,我们希望它识别100个数字的时候也只错一个,这就是识别的优化。cost function就是那些造成偏差东西,而我们要减少偏差,就是要最小化这个cost function,这是从第一周就开始的机器学习基本思想。

上面介绍了cost function的本质,具体怎么构成这个方程可能涉及了很多高深推理,Ng教授也只是给了方法,他承认很多机器学习的工作者知道的也不多,会用这些方法,会用fminunc函数就赚了很多钱,我这里就回顾一下教授教的方法吧。

J(θ)=1mi=1mk=1K[y(i)klog((hθ(x(i)))k)(1y(i)k)log(1(hθ(x(i)))k)]

呼…这个公式很长,但由于它是在之前线性回归方法的cost之上进一步发展出来的,所以理解上去不是很难。原来的cost function是这样的:

J(θ)=1mi=1m[y(i)log(hθ(x(i)))(1y(i))log(1(hθ(x(i))))]

出现不同的原因在于,之前要实现的功能,比如预测房价,只需要输出一个数字(表示价格)即可,而现在不一样,之前的文章也提过,输出的是该图像属于10中不同种类的概率,所以偏差需要把这10个种类对应的偏差都加起来。

2. Backpropagation

上一周用于识别的方法是层层计算,得出的概率找最大的,最大值的索引就是所在分类,比如向量v中第4个分量最大,那么可以得出结论v对应的图像上是数字4. 这周介绍了一个新的方法叫做backpropagation, 工作原理是这样的:取一组训练集合(就是一张像素数据存在 x(i) 中的图片和它显示的数字 y(i) ), 正方向按照上一周的方式算过去,再反过来计算 δ Δ 的值,依据他们俩来得出梯度,用函数fminunc多次迭代….

就一种方法而已,怎么算的wiki里都有,我代码也通过了,我就不介绍了,今天洗洗睡了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值