大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业1的习题解答。笔者是在学习了Ng的Machine Learning之后开始学习这门课程的,但还是感觉收获颇丰。Ng的课程主要站在计算机专业的角度,教你如何使用机器学习,注重方法而不是数学推导,是一门很好的入门教程;而林轩田老师的机器学习基石是站在统计分析角度,证明机器学习算法为什么要这么做,更加注重于理论的证明,如果你想更加深入了解机器学习,或者想自己编写机器学习算法的,学习这门课还是很有必要的!
首先声明,笔者在这里提供一些作业解答的目的不是为了让你得到更高的分数,而是对一些学习上有困难的同学提供一些帮助。笔者的目的是提供一种可行的思路,但是说实话,这里面很多题目笔者也没能够理解。所以如果各位博友发现任何错误或者有更好的思考方法,请留言联系,谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习、理解课程的途径!
其他解答看汇总帖:http://blog.csdn.net/a1015553840/article/details/51085129
1.第一题
(1)题意:下列哪些问题最适合用机器学习解决
(2)分析:适合用机器学习解决的问题主要包括以下特点
a.存在某些目标,隐藏规则(underlying pattren)
b.这些规则我们难以定义,不知道如何写下了
c.有学习这个隐藏规则的资料data
i.区分一个数是否为素数:错误,我们可以很简单写出素数的规则,只能被1或他本身整除
ii.确定信用卡是否被盗刷:正确,这是极其学习里面的异常点检测问题
iii.确定一个物体的落地时间:错误,这里有物理学公式,h=0.5*g*t^2
iv.确定拥挤路口交通信号灯的最佳循环:正确
v.确定某种药物的推荐服用者年龄:正确,可以通过聚类找出效果好的群
(3)答案:ii,iv,v
2.第二题
(1)题意:问题2-5,都是确定相对于每种任务的最佳机器学习算法。下象棋,利用不同的策略并把输出作为反馈
(2)分析:这显然是增强学习(reinforcement)。增强学习是指设计回报函数,若决定进行一步,如果这部的表现结果较好,则给一些正回报,如果这一部表现结果较差,则返回一些负的回报。这道题显然,利用输出作为反馈,可以知道这步棋的好坏,给予相应的回报。
(3)答案:reinforce Learning
3.第三题
(1)题意:在没给定标题的情况下分类书本
(2)分析:这显然是无监督学习(unsupervised learning)。书本没有给定标题,即样本没有y值。可以根据数的单词,厚度等特征聚类,将特征相近的聚为一类,这是无监督学习
(3)答案:unsupervised learning
4.第四题