机器学习基石第一讲:the learning problem
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)
Andrew Ng的Machine Learning比較简单,已经看完。林田轩的机器学习基石很多其它的是从概率论的角度来介绍机器学习,之前的视频已经听了大半。但好多都是模棱两可。
如今从头開始,认真整理笔记。笔记的结构遵从课程视频的结构。
以下是机器学习基石的第一讲:the learning problem
Course Introduction
机器学习是一门理论和实践相结合的课程。
这门课程从基础入手,介绍机器学习的一些核心理论、核心技巧和实际应用。林田轩老师说要像讲故事一样来讲机器学习,实际上呢还是包括非常多非常难的推导,而作业实在是太难,且网上又找不到答案參考,实在痛苦。
这一小节介绍了整个课程的脉络。例如以下:
- When can machines learn?
(illustrative + technical)
- Why can machines learn?
(theoretical + illustrative)
- How can machines learn? (technical + practical)
- How can machines learn better?
(practical + theroetical)
What is Machine Learning
首先,我们说人的学习(learning)是从观察出发,经过大脑的理解思考等活动。终于转化为我们掌握了的知识技能。而机器学习则是将数据输入给计算机。然后计算机经过一系列的计算处理过程,终于输出我们想要的一些数据。比如我们将近十年的股票数据输入到计算机。计算机经过分析计算等机器学习过程,输入给我们一些数据,而这些数据可以指导我们更好得去炒股。
我们通过一个树木识别的样例来引出为什么要使用机器学习。依照常规的方法,我们非常难通过写一段程序来识别一张图片中的事物是不是树。而机器学习则是通过分析已有的数据,然后自己“学会”怎么推断是不是树。以下给出几种适合使用机器学习的领域:
- when human cannot program the system manually, e.g. navigating on Mars(在火星上我们可能遇到各种各样的问题,但我们不可能提前预判全部的问题并写出程序,因此我们可以使用机器学习的方法让计算机在遇到问题时主动探寻解决方法。)
- when human cannot ‘define the solution’ easily, e.g. speech/visual recognition(在这些领域。我们非常难比較详细清晰的去分析问题)
- when needing rapid decisions that human cannot do, e.g. high-frequency trading(对于这样的须要在几秒钟之内做出选择的问题。用人工去处理的话预计都是在拍脑门)
- when needing to be user-oriented in a massive scale, e.g. consumer-targeted marketing(个性化的服务等等)
以下是机器学习的三个要素。有了这三个要素才适合使用机器学习。
- exist some ‘underlying pattern’ to be learned, so ‘performance measure’ can be improved(就是说。问题存在某种潜在的规律可循)
- but no programmable (easy) definition, so ‘ML’ is needed(就是说,非常难用曾经的编程方法来解决)
- somehow there is data about the pattern, so ML has some ‘inputs’ to learn from(就是说,要有输入)
最后是本小节的一道測试题:
Applications of Machine Learning
这一小节给出了机器学习在食、衣、住、行、教育、娱乐六个方面的应用。
- 食:通过分析Twitter上的数据来给出去某一家餐饭吃饭而食物中毒的几率
- 衣:通过销量和客户调查来为顾客推荐商品
- 住:通过分析已有建筑的特点和能耗来预測新设计的建筑的能耗
- 行:通过分析不同的信号灯来实现自己主动识别交通信号,再如如今非常火的无人驾驶
- 教育:在线測试系统通过分析学生的測试成绩来预測学生的学习程度,比如我们向机器输入来自3000名学生的900,000条记录。然后机器自己主动地去预測学生的学习情况和新的測试题的难易程度。
- 娱乐:依据用户对已经看过的电影的评分情况来向用户推荐电影。这里举了Netflix的样例(由于已经了解推荐系统,所以不再展开)
最后是本节小測试:
Components of Machine Learning
这一小节使用信贷发放系统的样例来继续介绍机器学习,信贷发放系统依据银行已有的客户信息来决定要不要发给顾客信用卡。
首先我们来定义一些变量,这些变量在机器学习中是通用的。用x来表示输入,这里是用户的信息,用y来表示输出。这里是终于要不要发放信用卡(发放的y=1。不发的话y=0)。
目标函数(target function)f,其为从输入x到输出y的一个映射。可以百分百准确地解决这个问题,在这里就是能不能准确的推断要不要给某用户发放信用卡。机器学习用到的数据data是银行已有的信用卡发放的资料。hypothesis则是我们通过data训练得到的一个东西,用g来表示,我们希望它可以特别接近f。从而可以准确的处理未知信息。
下图给出了机器学习的流程图。
须要注意的是。目标函数f是未知的。是我们的目标,其能百分百解决我们的问题。g是我们最后实际得到的,与f存在差距。
存在一个集合,里面包括大量的hypothesis。机器学习算法的任务就是从这个集合中找到最好的一个hypothesis,“最好”的标准我们会在以后的课程中给出。
最后给出了机器学习的一个定义:use data to compute hypothesis g that approximates target g。
本节小測试:
Machine Learning and Other Fields
这一小节介绍机器学习与其它领域的区别。
首先是机器学习与数据挖掘(data mining)的区别。
整体来说,二者非常难区分彼此。
接下来是机器学习与人工智能(Artificial Intelligent)。应该说。机器学习是实现人工智能的一种方法。
然后是机器学习与统计学(statistics)。
应该说。统计学是机器学习得以实现的一个数学基础。
最后是本小节问题:
机器学习基石第一讲:the learning problem的更多相关文章
- 机器学习基石:01 The Learning Problem
什么时候适合用机器学习算法? 1.存在某种规则/模式,能够使性能提升,比如准确率: 2.这种规则难以程序化定义,人难以给出准确定义: 3.存在能够反映这种规则的资料. 所以,机器学习就是设计算法A,从 ...
- 林轩田机器学习基石笔记1—The Learning Problem
机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Lear ...
- 机器学习基石 4 Feasibility of Learning
机器学习基石 4 Feasibility of Learning Learning is Impossible? 机器学习:通过现有的训练集 \(D\) 学习,得到预测函数 \(h(x)\) 使得它接 ...
- 机器学习基石 3 Types of Learning
机器学习基石 3 Types of Learning Learning with Different Output Space Learning with Different Data Label L ...
- 机器学习基石笔记:02 Learning to Answer Yes/No、PLA、PA
原文地址:https://www.jianshu.com/p/ed0aee74523f 一.Perceptron Learning Algorithm (一)算法原理 PLA本质是二元线性分类算法,即 ...
- 机器学习基石:16 Three Learning Principles
三个理论上界: 三个线性模型: 三个关键工具: 三条学习规则: 1.奥卡姆剃刀定律 先从简单模型开始, 训练后出现欠拟合, 再尝试复杂点模型. 2.采样误差 训练.验证.测试数据尽量同分布. 3.数据 ...
- Coursera机器学习基石 第1讲:The Learning Problem
这门课的授课老师是个台湾人,师从Caltech的Yaser S. Abu-Mostafa,他们共同编撰了<Learning From Data>这本书.Yaser S. Abu-Mosta ...
- 机器学习基石(台湾大学 林轩田),Lecture 1: The Learning Problem
课程的讲授从logo出发,logo由四个图案拼接而成,两个大的和两个小的.比较小的两个下一次课程就可能会解释到它们的意思,两个大的可能到课程后期才会解释到它们的意思(提示:红色代表使用机器学习危险,蓝 ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
随机推荐
- windows命令启动mysql
找到mysql的安装位置,进入bin目录 dos输入 mysql -h localhost -uroot -p ,在输入密码
- JS获取网页高度和宽度
注:此文属于转载自他人博客 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: docume ...
- Java实现POI读取Excel文件,兼容后缀名xls和xlsx
1.引入所需的jar包: maven管理项目的话直接添加以下坐标即可: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -- ...
- SpringMVC中为什么要配置Listener和Servlet
一直以来,我们使用SpringMVC的时候习惯性都配置一个ContextLoaderListener,虽然曾经有过疑问,配置的这个监听器和Servlet究竟做了什么,但也没深究. 要说任何Web框架都 ...
- ExtJs之表单(form)
--Form和Form Basic Extjs Form和Form Basic是两个东西,Form提供界面的展示,而Form Basic则提供数据的处理.验证等功能.每一个Form Panel在创建的 ...
- 最近公共祖先LCA(前置知识)
1.前言 最近公共祖先(Least Common Ancestors),简称LCA,是由Tarjan教授(对,又是他)提出的一种在有根树中,找出某两个结点u和v最近的公共祖先问题. 2.什么是最近公共 ...
- 面向对象编程课程(OOP)第一单元总结
漫长旅程中还算不错的开头 在本学期开始之前,我按照助教们所给的寒假作业指导书自学了Java语言的相关知识,了解了Java语言的基本语法,输出一句“Hello World!”,掌握了基本的一些输入输出方 ...
- 查看Linux系统资源占用
Linux查看进程占用磁盘IO yum install -y itop iotop -oP Linux查看进程网络使用 yum install -y nethogs nethogs nethogs e ...
- StreamingAssets文件夹的读取异常
1.今天在读取StreamingAssets文件夹中的文本文件的时候,出现了异常,花了一个多小时解决了,把解决结果给大家梳理一下 2.文本文件夹所在位置:在StreamingAssets文件夹中新建一 ...
- Linux运维 -- 文件备份同步系列
[1.]文件备份与恢复 #()整盘数据备份-->另一个盘/一个image文件 dd if=/dev/sdb of=/dev/sde #备份到指定的image文件中 dd if=/dev/sdb ...