什么是机器学习
您也许一天用它几十次都不知道,每次你用google或者bing搜索网页感觉很厉害,因为他们用机器学习软件来设计网页排名,当你用Facebook或Apple的照片软件而它们知道照片里面哪个是你朋友,这也是利用了机器学习。每次你查看Email,垃圾邮件过滤器会帮你省去很多垃圾邮件,这是因为你的电脑已经学会了区分垃圾邮件和非垃圾邮件。这是一种让计算机在没有明确编程的情况下学习的一种科学。
我正在研究的一个项目是让机器人清理屋子,您觉得这个应该怎么做?你可以让机器人看你演示任务并从中学习,具体点就是让机器人观察你把东西捡起来放到某个地方,然后在你不在的时候,它会做同样的事情。对我来说,让我对此感到兴奋的原因之一这是AI或者人工智能问题,真正的智能机器,可以做任何你或我能做的事情,许多科学家认为想在这方面取得进展最好的方法是通过称为神经网络的学习算法,它模仿人类大脑的工作方式,我也会教你们这方面的知识。在这个课程中,你学习机器学习并自己实现。
我希望你登录我们的网站,加入我们。
荣誉准则
我们鼓励学生组成学习小组,讨论讲座视频(包括视频里面的问题),也鼓励你们和朋友一起观看视频,但是复习题应该你自己独立完成,对于编程练习,我们欢迎你们和其他学生一起讨论具体的算法、算法的性质等,我们只要求你不要查看不同同学写的源码,也不要向其他同学展示你的解决方案的代码。
在论坛中发布代码的指南
方案1:删除代码
学生提问/评论:“这是我写的代码,一直不合格,请帮忙查查原因”
为什么要删除?:原因在于如果有一个学生提供简单的修复,那么只需要一个小小的复制粘贴,没有努力就获得了学分。
学生提问:学生用单词替换数学操作符包括变量名,还逐句逐句地描述他们的代码的具体实现方式,“我的脚本第一个有个等式,假设等于theta的X倍,但是我得到了下面的错误信息...”
为什么要删除?:这应该删除,在英语中“拼写”代码和使用常规代码一样。
方案2:代码不删除
学生提问:如何对矩阵求解子集以消除截距?
导师回答:这可能是很关键的,尤其是如果尝试不使用熟悉的变量名,或者使用了与任务中上下文无关的上下文。
展示Octave代码示例来演示一种技术显然是可以的,即使这技术本身直接适用手头上程序问题,只要内容不能被“剪切粘贴”到手头上的程序。
例如:如何将矩阵中column 1设为0?
在你的Octave工作区试试看:
>>A = magic(3)
>>A(:,1) = 0
以上在我的理解范围内是可以接受的,演示技术和学习语言、语法是论坛重要的活动。