机器学习基石第一讲: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)。

应该说。统计学是机器学习得以实现的一个数学基础。

最后是本小节问题:

时间: 2024-10-14 03:24:22

机器学习基石第一讲:the learning problem的相关文章

机器学习基石第一讲笔记

近来觉得机器学习愈发重要.有人推荐了台大林轩田老师讲授的“机器学习基石”,感觉林老师讲得生动清楚,是很好的课程,值得一学. 第一讲介绍了机器学习是什么,使用机器学习的条件,机器学习的模型是怎样的. 1. 机器学习是一种处理复杂系统的方法,这里老师举了4个例子: (1) when human cannot program the system manually --navigating on Mars(2) when human cannot 'define the solution' easil

机器学习基石——第1-2讲.The Learning Problem

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第一讲-------The Learning Problem 一.课程总体 Machine Learning是一个理论与应用混合的工具,本课程则主要是f

机器学习基石第二讲:learn to answer yes/no

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完成了机器学习基石的第二讲,主要介绍了机器学习的定义,PLA算法和pocket PLA算法.下面将笔记整理在下面. Perceptron Hypothesis Set 延续前面的信用卡发放问题.银行已有的用户数据可能包括用户的年龄.年薪.工作时长.债务情况等特征信息,我们分别用x1,x2,-,xd来表示,那么对于每一个用户都有一个向量来表示其信息.我们为每一个特征信息分配一个权

机器学习基石第二讲笔记

第二讲介绍了Perceptron Learning Algorithm (PLA),是以后学习的基础. PLA是二元的线性分类器,类似于神经感受器,用于做是非题. 1. PLA的假设函数:h(x) = sign(w'x). 这里w'是列向量,x是行向量.x代表一个数据点,这个点可能包含了d个维度,即x = (x1, x2, ..., xd).举例来说,x可以是一个人,里面包含了人的各种特征,比如年龄.性别.职业.收入等等.w'是每个维度所占的权重.比如银行要给客户发信用卡,就要考虑客户各个方面以

机器学习基石笔记-Lecture 4 Learning is possible

hoeffding 不等式 说明了在样本量足够大时,抽样估计能够接近真实值. 类比到ml中,对给定的一个假设空间中的h, 它在整个样本空间中的表现可以由在部分样本点上的表现来近似.也就是说样本足够多的时候,Ein与Eout近似相等. 现在已经知道对任意给定的h,在N足够大时,Ein近似于Eout,如果 Ein 非常小,那么Eout也就小,就说明这个 h 和 真实的 f 在很大概率上是很接近的. 现在的一个问题是,如果在多个假设中,其中一个假设h针对训练数据的输出都是正确的,也就是Ein为0,是不

NTU-Coursera机器学习:机器学习基石 (Machine Learning Foundations)

课讲内容 这门课以8周设计,分成 4个核心问题,每个核心问题约需2周的时间来探讨.每个约2个小时的录影中,每个小时为一个主题,以会各分成4到5个小段落,每个段落里会有一个后多个随堂的练习.我们在探讨每个核心问题的第二周.依上所述,課程的規畫如下: When Can Machines Learn? [何时可以使用机器学习] 第一周:(NTU-Coursera机器学习:机器学习问题与二元分类) 第一讲:The Learning Problem [机器学习问题]第二讲:Learning to Answ

机器学习基石——第3-4讲.Types of Learning

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第3讲-------Types of Learning 上一节讲到如果要回答YES/NO的是非问题,我们可以使用像PLA(感知机)这样的算法,他会在无数

机器学习基石(1)--The Learning Problem

机器学习的基石课程可以分成四个大的步骤: 1. 什么时候可以使用机器学习? 2. 为什么机器学习可以有效果? 3. 机器学习是一个怎样的过程? 4. 机器学习怎么样才能学得更好? From Learning to Machine Learning 仿照人类进行学习和认知的过程,机器进行学习的过程也非常的类似: 人类通过观察事物,进行归纳总结,进而获得学习的结果: 机器也是一样,输入的数据对应人类的观察,归纳和总结的过程就是机器经过演算法进行运算的过程,而得出的结果就是我们通过模型得出的结果. 而

机器学习基石——第5-6讲.Training versus Testing

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第5讲-------Training versus Testing 从这一讲开始,讲的问题就是属于Why Can Machines Learn的范畴了.