机器学习基石第一讲: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 ...
随机推荐
- Eclipse IDE下的Spring框架使用简单实例
Eclipse IDE下的Spring框架使用简单实例 1 准备Java jdk安装. Eclipse软件安装.根据系统安装32/64版本,选择Eclipse IDE for Java Develop ...
- ubuntu要安装新软件,已有deb安装包
如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境.那该怎么安装?答案是:使用dpkg命令.dpkg命令常用格式如下:sudo dpkg -I iptu ...
- python3.6下安装结巴分词需要注意的地方
近期,在安装结巴分词的时候遇到一些问题,纠结了好一阵,跟大家分享下,希望能有所帮助.先说下安装环境: windows7, 64位系统 python3.6,python3.5在结巴分词的官方github ...
- 提高sqlmap爆破效率
提高sqlmap爆破效率 sqlmap在注入成功后,会尝试获取数据库和表的结构.对于MSSQL.MySQL.SQLite之类数据库,sqlmap可以通过系统数据库.系统数据表获取数据库和表的结构.但 ...
- [P3806] Divide and Conquer on Tree
Link: P3806 传送门 Solution: 询问树上是否存在两点间的距离为$k$,共有$m$次询问($m\le 100,k\le 1e7$) 预处理出所有距离的可能性再$O(1)$出解的复杂度 ...
- 【虚树】hdu6161 Big binary tree
题意:一棵n个结点的完全二叉树,初始i号结点的权值为i.有两种操作:单点修改:询问经过某个结点的路径中,权值和最大的路径的权值和是多少. 修改的时候,暴力修改到根节点的路径上的点的f(x)即可. 跟虚 ...
- 十一. 图形、图像与多媒体4.Graphics类的绘图方法
Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段 ...
- MYSQL复习笔记9-存储过程
date: 20140208auth: Jin参考引用:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html mysql存储过程详解一.基本介绍1. ...
- <摘录>简述configure、pkg-config、pkg_config_path三者的关系
一.什么是configure 源码安装过程中大多会用到configure这个程序,一般的configure都是一个script,执行时可以传入必要参数告知配置项目. configure程序它会根据传入 ...
- linux安装配置redis
redis是支持linux的,所以linux安装redis非常简单,按照官网的提示操作即可. 下载 $ wget http://download.redis.io/releases/redis-3.2 ...