机器学习基石第一讲: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 ...
随机推荐
- Linux各发行版本及其软件包管理方法
Linux发行版本有很多,按照使用领域分为桌面系统领域和服务器领域.下面简要介绍如下: 1.Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布 ...
- eclipse开发文档模板
从files依次向下:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元 ...
- 使用jsonp形式跨域访问实现电商平台的左侧导航栏
电商平台有个具备的左侧商品类目的导航栏的结构. 通过jsonp跨域访问电商平台的后台管理系统商品分类.(主要实现后台Java代码) 实现基本步骤: 1.在后台管理系统中准备相应的json数据. poj ...
- div垂直居中的方法
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- sqlmap os shell解析
0x00 Background 最近遇到测试环境,最后利用sqlmap的--os-shell参数取得shell.一直以来,对这个参数的工作原理不是十分的清晰.大致的思想应该是将脚本插入到数据库中,然后 ...
- 关于 CommonJS AMD CMD UMD
1. CommonJS CommonJS 原来叫 ServerJS, 是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用requi ...
- JZYZOJ1355 [usaco2007]奶牛赛跑 矩阵乘法 离散化
http://172.20.6.3/Problem_Show.asp?id=1355 写的时候本来想离散化,“1000^2的数组放一两个到函数里而已嘛,指定承受得住”,然后没离散化,然后就爆栈了, ...
- bzoj 2286(虚树+树形dp) 虚树模板
树链求并又不会写,学了一发虚树,再也不虚啦~ 2286: [Sdoi2011]消耗战 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 5002 Sol ...
- 2017 icpc 沈阳网络赛
cable cable cable Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- python3-开发进阶Django中序列化以及rest_framework的序列化
一.django框架的序列化 直接上代码 1.这是app下的models.py from django.db import models # Create your models here. clas ...