logo资料库

机器学习基石电子版笔记.pdf

第1页 / 共158页
第2页 / 共158页
第3页 / 共158页
第4页 / 共158页
第5页 / 共158页
第6页 / 共158页
第7页 / 共158页
第8页 / 共158页
资料共158页,剩余部分请下载后查看
一、The learning problem
1. Course Introduction
1.2 What is Machine Learning
1.3 Applications of Machine Learning
1.4 Components of Machine Learning
1.5 Machine Learning and Other Fields
1.5.1 ML VS DM (Data Mining)
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
2.2 Perceptron Learning Algorithm (PLA)
2.3 Guarantee of PLA
2.4 Non-Separable Data
三、Types of Learning
3.1 Learning with Different Output Space
3.1.1 binary classification
3.1.2 Multiclass Classification
3.1.3 Regression
3.1.4 Structured Learning
3.2 Learning with Different Data Label
3.2.1 Supervised Learning
3.2.2 Unsupervised Learning
3.2.3 Semi-supervised Learning
3.2.4 Reinforcement Learning
3.3 Learning with Different Protocol
3.4 Learning with Different Input Space
四、Feasibility of Learning
4.1 Learning is Impossible
4.2 Probability to the Rescue
4.3 Connection to Learning
4.4 Connection to Real Learning
五、Training versus Testing
5.1 Recap and Preview
5.2 Effective Number of Lines
5.3 Effective Number of Hypotheses
5.4 Break Point
六、Theory of Generalization
6.1 Restriction of Break Point
6.2 Bounding Function- Basic Cases
6.3 Bounding Function- Inductive Cases
6.4 A Pictorial Proof
七、The VC Dimension
7.1 Definition of VC Dimension
7.2 VC Dimension of Perceptrons
7.3 Physical Intuition of VC Dimension
7.4 Interpreting VC Dimension
八、Noise and Error
8.1 Noise and Probabilistic Target
8.2 Error Measure
8.3 Algorithmic Error Measure
8.4 Weighted Classification
九、Linear Regression
9.1 Linear Regression Problem
9.2 Linear Regression Algorithm
9.3 Generalization Issue
9.4 Linear Regression for Binary Classification
十、Logistic Regression
10.1 Logistic Regression Problem
10.2 Logistic Regression Error
10.3 Gradient of Logistic Regression Error
10.4 Gradient Descent
十一、Linear Models for Classification
11.1 Linear Models for Binary Classification
11.2 Stochastic Gradient Descent
11.3 Multiclass via Logistic Regression
11.4 Multiclass via Binary Classification
十二、Nonlinear Transformation
12.1 Quadratic Hypotheses
12.2 Nonlinear Transform
12.3 Price of Nonlinear Transform
12.4 Structured Hypothesis Sets
十三、Hazard of Overfitting
13.1 What is Overfitting?
13.2 The Role of Noise and Data Size
13.3 Deterministic Noise
13.4 Dealing with Overfitting
十四、Regularization
14.1 Regularized Hypothesis Set
14.2 Weight Decay Regularization
14.3 Regularization and VC Theory
14.4 General Regularizers
Word 书签
OLE_LINK3
OLE_LINK9
先简单介绍下这门课程,这门课是在著名的 MOOC(Massive Online Open Course 大型在线公开课)Coursera 上的一门关于机器学习领域的课程,由国立台湾大 学的年轻老师林轩田讲授。这门叫做机器学习基石的课程,共 8 周的课程为整 个机器学习课程的上半部分,更偏重于理论和思想而非算法,主要分为四大部分 来讲授。 When can Machine Learn?在何时可以使用机器学习? Why can Machine Learn? 为什么机器可以学习? How can Machine Learn?机器可以怎样学习? How can Machine Learn Better?怎样能使机器学习更好? 每一大块又分为几周来讲授,每周的课时分为两个大课,每个大课一般又分为四 个小块来教学,一个小块一般在十分钟到二十分钟之间。 以 VC bound (VC 限制)作为总线将整个基础课程贯通讲解了包括 PLA (Perceptron learning algorithm 感知器)、pocket、二元分类、线性回归 (linear regression)、logistic 回归(logistic regression)等等。 以下不用大课小课来叙述了,写起来感觉怪怪的,就用章节来分别代表大课时和 小课时。 一、The learning problem 机器学习问题。 1. Course Introduction 课程简介。 第一小节的内容就是课程简介,如上已进行了详细的介绍,这里就不多赘述。 1.2 What is Machine Learning 什么是机器学习? 在搞清这个问题之前,先要搞清什么是学习。 学习可以是人或者动物通过观察思考获得一定的技巧过程。 而机器学习与之类似,是计算机通过数据和计算获得一定技巧的过程。
注意这一对比,学习是通过观察而机器学习是通过数据(是计算机的一种观察)。 对比图如图 1-1。(本笔记的图和公式如不加说明皆是出自林老师的课件,下文 不会对此在做说明) 图 1-1 学习与机器学习对比图 a)学习 b)机器学习 那么紧接着就是要解决上述中出现的一个新的名词"技巧"(skill)。 什么是技巧呢?技巧是一些能力表现的更加出色。 机器学习中的技巧如预测(prediction)、识别(recognition)。 来一个例子:从股票的数据中获得收益增多的这种技巧,这就是一种机器学习的 例子。 那既然人也可以通过观察获得一个技巧,为什么还需要机器学习呢? 这就是为什么需要机器学习,简单来说,就是两大原因: 一些数据或者信息,人来无法获取,可能是一些人无法识别的事物, 或是数据信息量特别大; 另一个原因是人的处理满足不了需求,比如:定义很多很多的规则满 足物体识别或者其他需求;在短时间内通过大量信息做出判断等等。 上面说的是为什么使用机器学习,那么什么情况下使用机器学习呢?是不是所有 的情况都使用机器学习呢? 这里给出了三个 ML(机器学习的英文缩写)的关键要素: 1、存在一个模式或者说表现可以让我们对它进行改进提高; 2、规则并不容易那么定义; 3、需要有数据。
1.3 Applications of Machine Learning 机器学习的应用。 这一小节主要介绍的就是机器学习能用在哪些方面。个人感觉不是理论介绍的重 点(不是说应用不重要,刚好相反,其实个人认为机器学习甚至整个计算机学 科 最重要的还是应用),就简述下机器学习可以应用在在衣食住行育乐,包含了人 类生活的方方面面,所以机器学习的应用场景很广泛很有市场。 1.4 Components of Machine Learning 机器学习的组成部分。 这一小节是第一章的重点,因为它将机器学习的理论应用符号及数学知识进行表 示,而以下各章内容也都是在这小节内容的基础上展开的。 从一个银行是否会发信用卡给用户的例子引出了机器学习可以分为哪几个部分 (组件)。 1.输入(input):x∈X(代表银行所掌握的用户信息) 2.输出(output):y∈Y (是否会发信用卡给用户) 3.未知的函数,即目标函数(target function):f:X→Y(理想的信用卡发放 公式) 4.数据或者叫做资料( data),即训练样本( training examples):D = {( ), ( ), …, ( )}(银行的历史记录) 5.假设(hypothesis),即前面提到的技能,能够具有更好地表现:g:X→Y (能 够学习到的公式) 可以通过一个简单的流程图表示,如图 1-2 所示。 图 1-2 机器学习的简单流程图
从图中可以清楚机器学习就是从我们未知但是却存在的一个规则或者公式 f 中 得到大量的数据或者说资料(训练样本),在这些资料的基础上得到一个近似于 未知规则 g 的过程。 这么说还是有点抽象,特别是目标函数 f 又是未知的,那为什么还能找到一个假 设 g 能够接近 f 呢? 还是以一个更加详细的流程图来说明这一问题,如图 1-3。 图 1-3 详细的机器学习流程图 这个流程图和图 1-2 有些不同,其中 ML 被更详细的定义为机器学习算法 (learning algorithm)一般用 A 表示。还多出来一个新的项目,就是假设空间 或者叫做假设集合(hypothesis set)一般用 H 表示,它是包含各种各样的假设, 其中包括好的假设和坏的假设,而这时 A 的作用就体现了,它可以从 H 这个集合 中挑选出它认为最好的假设作为 g。 注: 1、这里还要说明的是机器学习的输入在这个流程图中就变成了两个部分,一个 是训练样本集,而另一个就是假设空间 H。 2、还有一点需要注意的是,我们所说的机器学习模型在这个流程图中也不仅仅 是算法 A,而且还包含了假设空间 H。 3、要求得 g 来近似于未知目标函数 f。 4、给出了机器学习的一个更准确点的定义,就是通过数据来计算得到一个假设 g 使它接近未知目标函数。
图 1-3 是还是一个相对比较简单的机器学习流程图,在往后的章节中会不断的根 据新学的知识继续扩展这幅图的元素。 1.5 Machine Learning and Other Fields 机器学习与其他各个领域的关系。 1.5.1 ML VS DM (Data Mining) 机器学习与数据挖掘者叫知识发现(KDD Knowledge Discovery in Dataset)。 上一节中已经给出了机器学习的概念,因此只介绍下数据挖掘的概念,就是从大 量的数据中找出有用的信息。 从定义出发,我们可以将两者之间的关系分为 3 种。 1. 两者是一致的:能够找出的有用信息就是我们要求得的近似目标函数的假 设。 2. 两者是互助的:能够找出的有用信息就能帮助我们找出近似的假设,反之 也可行。 3. 传统的数据挖掘更关注与从大量的数据中的计算问题。 总的来时,两者密不可分。 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 感知器的假设空间。 还是银行发信用卡的例子,银行可能掌握了用户的各种属性,如年龄,年薪,工 作年限,负债情况等等,这些属性可以作为上面提到的样本输入 的向量属性值。但是这样还是无法进行机器学习,因为我们还需要另一个输入, 即假设空间 H。假设空间该如何表示呢?本节提出了一种表示方式,这种学习的 模型称之为感知器(Perceptron)。 其实感知器的产生很早,算是第一代的单层神经网络,这里就不多做介绍,在其 他的读书笔记中进行说明。 这种假设空间的思想就类似考试给的成绩,对每一题给一个特定的分数,即权重, 说白了就是给输入向量的每个属性乘以一个加权值 ,在设计一个及格线,即所 谓的阈值或者叫门槛值(threshold),如果加权求和的分数大于这个及格线就 叫及格了,即对应的输出值为 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就是向量 的取值范围。 这么描述还是很抽象,因此引入一种方式就是使用图像(或者可以说是几何)来 更形象更具体的来说明以上函数。(这里说点题外话,由于二元函数和三元函数 可以使用几何图像来一一对应,用几何的方式更直观的表示函数的意义,方便大 家理解,这在以后的章节中会不断使用) 为了理解的方便将输入向量的维度限制为两个,即 h 函数可以表示成公式 2-3。 (公式 2-3) 将输入向量 对应于一个二维平面上的点(如果向量的维度更高,对应于一个高 维空间中的点)。 输出 y(在分类问题中又称作标签,label)使用○表示+1,×表示-1。 假设 h 对应一条条的直线(如果在输入向量是高维空间的话,则对应于一个超平 面)这里不止一条,不同的权值 向量对应不同的直线,因为 sign 是以 0 为分 界线的函数,所以可以设 ,该式恰是一条直线的表示。 因此每条边的一边为正的,而另一边为表示为负的。 最终得到的图像如图 2-1 所示。
图 2-1 感知器在维度为 2 时的几何表示 因此这里将感知器作为一条二元线性分类器(linear ( binary) classifiers)。 2.2 Perceptron Learning Algorithm (PLA) 感知器学习算法。 在第一章中,我们介绍过一个机器学习模型由两部分组成,而上一节仅仅介绍了 它其中的一部分即假设空间 H如何表示。 本节我们将更详细的介绍感知器的算法 A,即如何从假设空间中找到一个近似未 知目标函数 f 的最好假设 g(x)。 问题是,我们如何找到这个 g(x)呢? 首先考虑,g(x)和目标函数 f 越接近越好,但问题是我们不知道 f(如果知道了 就不需要学习了) 但是我们知道些什么呢?知道的是样本输入 x 在 f(x)作用下得到的标记 y。 所以如果我们能使得 g(x)在所有的样本输入中都能够得到跟 f 函数作用过输入 得到的输出一样的话,我们认为这时的 g 是不错的。(在后面的章节还会在这种 思想的基础上更深入的讨论这一问题) 但是问题又来了,假设空间 H的函数 h(x)有无数种表示,即向量 w 有无数种取 值。(如在二元输入时,假设空间对于在二维平面上的直线,在那个空间中可以 画出无数条直线) 面对这无数多种情况,我们又该如何求解?
分享到:
收藏