mooc台大林轩田老师“机器学习基石”笔记

上传人:marr****208 文档编号:117026048 上传时间:2019-11-18 格式:DOCX 页数:158 大小:3.33MB
返回 下载 相关 举报
mooc台大林轩田老师“机器学习基石”笔记_第1页
第1页 / 共158页
mooc台大林轩田老师“机器学习基石”笔记_第2页
第2页 / 共158页
mooc台大林轩田老师“机器学习基石”笔记_第3页
第3页 / 共158页
mooc台大林轩田老师“机器学习基石”笔记_第4页
第4页 / 共158页
mooc台大林轩田老师“机器学习基石”笔记_第5页
第5页 / 共158页
点击查看更多>>
资源描述

《mooc台大林轩田老师“机器学习基石”笔记》由会员分享,可在线阅读,更多相关《mooc台大林轩田老师“机器学习基石”笔记(158页珍藏版)》请在金锄头文库上搜索。

1、先简单介绍下这门课程,这门课是在著名的MOOC(Massive Online Open Course大型在线公开课)Coursera上的一门关于机器学习领域的课程,由国立台湾大学的年轻老师林轩田讲授。这门叫做机器学习基石的课程,共8 周的课程为整个机器学习课程的上半部分,更偏重于理论和思想而非算法,主要分为四大部分来讲授。 When can Machine Learn?在何时可以使用机器学习?Why can Machine Learn? 为什么机器可以学习?How can Machine Learn?机器可以怎样学习?How can Machine Learn Better?怎样能使机器学习更

2、好?每一大块又分为几周来讲授,每周的课时分为两个大课,每个大课一般又分为四个小块来教学,一个小块一般在十分钟到二十分钟之间。以VC bound (VC限制)作为总线将整个基础课程贯通讲解了包括PLA(Perceptron learning algorithm感知器)、pocket、二元分类、线性回归(linear regression)、logistic回归(logistic regression)等等。以下不用大课小课来叙述了,写起来感觉怪怪的,就用章节来分别代表大课时和小课时。一、The learning problem机器学习问题。1. Course Introduction课程简介。第

3、一小节的内容就是课程简介,如上已进行了详细的介绍,这里就不多赘述。1.2 What is Machine Learning什么是机器学习?在搞清这个问题之前,先要搞清什么是学习。学习可以是人或者动物通过观察思考获得一定的技巧过程。而机器学习与之类似,是计算机通过数据和计算获得一定技巧的过程。注意这一对比,学习是通过观察而机器学习是通过数据(是计算机的一种观察)。对比图如图1-1。(本笔记的图和公式如不加说明皆是出自林老师的课件,下文不会对此在做说明)图1-1 学习与机器学习对比图 a)学习 b)机器学习那么紧接着就是要解决上述中出现的一个新的名词技巧(skill)。什么是技巧呢?技巧是一些能力

4、表现的更加出色。机器学习中的技巧如预测(prediction)、识别(recognition)。来一个例子:从股票的数据中获得收益增多的这种技巧,这就是一种机器学习的例子。那既然人也可以通过观察获得一个技巧,为什么还需要机器学习呢?这就是为什么需要机器学习,简单来说,就是两大原因:一些数据或者信息,人来无法获取,可能是一些人无法识别的事物,或是数据信息量特别大;另一个原因是人的处理满足不了需求,比如:定义很多很多的规则满足物体识别或者其他需求;在短时间内通过大量信息做出判断等等。上面说的是为什么使用机器学习,那么什么情况下使用机器学习呢?是不是所有的情况都使用机器学习呢?这里给出了三个ML(机

5、器学习的英文缩写)的关键要素:1、存在一个模式或者说表现可以让我们对它进行改进提高;2、规则并不容易那么定义;3、需要有数据。1.3 Applications of Machine Learning机器学习的应用。这一小节主要介绍的就是机器学习能用在哪些方面。个人感觉不是理论介绍的重点(不是说应用不重要,刚好相反,其实个人认为机器学习甚至整个计算机学 科最重要的还是应用),就简述下机器学习可以应用在在衣食住行育乐,包含了人类生活的方方面面,所以机器学习的应用场景很广泛很有市场。1.4 Components of Machine Learning机器学习的组成部分。这一小节是第一章的重点,因为它

6、将机器学习的理论应用符号及数学知识进行表示,而以下各章内容也都是在这小节内容的基础上展开的。从一个银行是否会发信用卡给用户的例子引出了机器学习可以分为哪几个部分(组件)。1.输入(input):xX(代表银行所掌握的用户信息)2.输出(output):yY (是否会发信用卡给用户)3.未知的函数,即目标函数(target function):f:XY(理想的信用卡发放公式)4.数据或者叫做资料( data),即训练样本( training examples):D = (), ( ), , ( )(银行的历史记录)5.假设(hypothesis),即前面提到的技能,能够具有更好地表现:g:XY

7、(能够学习到的公式)可以通过一个简单的流程图表示,如图1-2所示。图1-2 机器学习的简单流程图从图中可以清楚机器学习就是从我们未知但是却存在的一个规则或者公式f中得到大量的数据或者说资料(训练样本),在这些资料的基础上得到一个近似于未知规则g的过程。这么说还是有点抽象,特别是目标函数f又是未知的,那为什么还能找到一个假设g能够接近f呢?还是以一个更加详细的流程图来说明这一问题,如图1-3。图1-3 详细的机器学习流程图这个流程图和图1-2有些不同,其中ML被更详细的定义为机器学习算法(learning algorithm)一般用A表示。还多出来一个新的项目,就是假设空间或者叫做假设集合(hy

8、pothesis set)一般用H表示,它是包含各种各样的假设,其中包括好的假设和坏的假设,而这时A的作用就体现了,它可以从H这个集合中挑选出它认为最好的假设作为 g。注:1、这里还要说明的是机器学习的输入在这个流程图中就变成了两个部分,一个是训练样本集,而另一个就是假设空间H。2、还有一点需要注意的是,我们所说的机器学习模型在这个流程图中也不仅仅是算法A,而且还包含了假设空间H。3、要求得g来近似于未知目标函数f。4、给出了机器学习的一个更准确点的定义,就是通过数据来计算得到一个假设g使它接近未知目标函数。图1-3是还是一个相对比较简单的机器学习流程图,在往后的章节中会不断的根据新学的知识继

9、续扩展这幅图的元素。1.5 Machine Learning and Other Fields机器学习与其他各个领域的关系。1.5.1 ML VS DM (Data Mining)机器学习与数据挖掘者叫知识发现(KDD Knowledge Discovery in Dataset)。上一节中已经给出了机器学习的概念,因此只介绍下数据挖掘的概念,就是从大量的数据中找出有用的信息。从定义出发,我们可以将两者之间的关系分为3种。1. 两者是一致的:能够找出的有用信息就是我们要求得的近似目标函数的假设。2. 两者是互助的:能够找出的有用信息就能帮助我们找出近似的假设,反之也可行。3. 传统的数据挖掘更

10、关注与从大量的数据中的计算问题。总的来时,两者密不可分。1.5.2 M L VS AI (artificial intelligence)机器学习与人工智能。人工智能的大概概念就是电脑能够表现出一些智慧行为。从定义可以得到,机器学习是实现人工智能的一种方式。1.5.3 ML VS statistic机器学习与统计。统计也需要通过数据,来做一个未知的推论。因此统计是一种实现机器学习的方法。传统的统计学习更关注与数学公式,而非计算本身。二、Learning to Answer Yes/No二元分类。解决上一章提出的银行发行信用卡的问题。2.1 Perceptron Hypothesis Set感知

11、器的假设空间。还是银行发信用卡的例子,银行可能掌握了用户的各种属性,如年龄,年薪,工作年限,负债情况等等,这些属性可以作为上面提到的样本输入的向量属性值。但是这样还是无法进行机器学习,因为我们还需要另一个输入,即假设空间H。假设空间该如何表示呢?本节提出了一种表示方式,这种学习的模型称之为感知器(Perceptron)。其实感知器的产生很早,算是第一代的单层神经网络,这里就不多做介绍,在其他的读书笔记中进行说明。这种假设空间的思想就类似考试给的成绩,对每一题给一个特定的分数,即权重,说白了就是给输入向量的每个属性乘以一个加权值,在设计一个及格线,即所谓的阈值或者叫门槛值(threshold),

12、如果加权求和的分数大于这个及格线就叫及格了,即对应的输出值为1,小于这个及格线成为不及格,对应的输出值为-1。其中h(x)H,如公式2-1所示。(公式2-1)其中sign括号中所包含的内容大于0时,取+1;小于0时,取-1。此时可以对h(x)做一些数学上的简化,注意这仅仅是一种数学表示方式的简化,如公式2-2所示。(公式2-2)如上所示,将阈值的负数表示为权值向量中的一项,用 表示,而对应权值分量的输入分量则被默认为1,用 最终将公式简化为两个向量内积的形式,其中T表示转置。这里必须说明一个问题,就是不同h(x) 对应着不同的向量,即可以说假设空间H就是向量 的取值范围。这么描述还是很抽象,因

13、此引入一种方式就是使用图像(或者可以说是几何)来更形象更具体的来说明以上函数。(这里说点题外话,由于二元函数和三元函数可以使用几何图像来一一对应,用几何的方式更直观的表示函数的意义,方便大家理解,这在以后的章节中会不断使用)为了理解的方便将输入向量的维度限制为两个,即h函数可以表示成公式2-3。(公式2-3)将输入向量对应于一个二维平面上的点(如果向量的维度更高,对应于一个高维空间中的点)。输出y(在分类问题中又称作标签,label)使用表示+1,表示-1。假设h对应一条条的直线(如果在输入向量是高维空间的话,则对应于一个超平面)这里不止一条,不同的权值向量对应不同的直线,因为sign是以0为

14、分界线的函数,所以可以设 ,该式恰是一条直线的表示。因此每条边的一边为正的,而另一边为表示为负的。最终得到的图像如图2-1所示。图2-1 感知器在维度为2时的几何表示因此这里将感知器作为一条二元线性分类器(linear ( binary) classifiers)。2.2 Perceptron Learning Algorithm (PLA)感知器学习算法。在第一章中,我们介绍过一个机器学习模型由两部分组成,而上一节仅仅介绍了它其中的一部分即假设空间H如何表示。本节我们将更详细的介绍感知器的算法A,即如何从假设空间中找到一个近似未知目标函数f的最好假设g(x)。问题是,我们如何找到这个g(x)

15、呢?首先考虑,g(x)和目标函数f越接近越好,但问题是我们不知道f(如果知道了就不需要学习了)但是我们知道些什么呢?知道的是样本输入x在f(x)作用下得到的标记y。所以如果我们能使得g(x)在所有的样本输入中都能够得到跟f函数作用过输入得到的输出一样的话,我们认为这时的g是不错的。(在后面的章节还会在这种思想的基础上更深入的讨论这一问题)但是问题又来了,假设空间H的函数h(x)有无数种表示,即向量w有无数种取值。(如在二元输入时,假设空间对于在二维平面上的直线,在那个空间中可以画出无数条直线)面对这无数多种情况,我们又该如何求解?我们想到一个简单的方式,就是一步一步的修正错误的分类,在二维平面中可以想象成一条初始的直线,在经过不断的纠正它的错误(就是旋转平移之类的)使得最终的结果可以达到希望的效果。还要在重复上一节中已经得到的一个结论,在感知器模型中,每一个假设函数h都对应一个权值向量。因此我们要做的就是不断修正这个权值向量使得最接近目标函数f。下面来详细介绍一下PLA。首先我们在设置初始 (注意此处是向量不是向量的分量!),比如设置为0向量,然后使用训练样本来将权值向量修正的更接近目标函数f。其修

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号