什么是监督学习?

为了更好地理解不同类型的机器学习方法,我们首先定义一些基本概念。如前所述,机器学习是建立在数据建模基础上的,因此,数据是进行机器学习的基础。我们可以把所有数据的集合称为数据集(dataset),如图7.2所示。

其中每条记录称为一个“样本”(sample),如图中每个不同颜色和大小的三角形和圆形均是一个样本。样本在某方面的表现或性质称为属性(attribute)或特征(feature),每个样本的特征通常对应特征空间中的一个坐标向量,称为一个特征向量(feature vector)。如图7.2数据集中,每个样本具有形状、颜色和大小三种不同的属性,其特征向量可以由这三种属性构成为xi=[shape,color,size]。机器学习任务的目标即是从数据中学习出相应的“模型”(model),也就是说模型可以从数据中来学习出如何判断不同样本的形状、颜色和大小。有了这些模型后,在面对新的情况时,模型会给我们提供相应的判断。以此为例,在面对一个新样本时,我们可以根据样本的形状、颜色和大小等不同属性对样本进行相应分类。为了学习到这一模型,相关研究者提出了不同的策略,本节首先介绍其中最为常用的一种——监督学习。

监督学习是机器学习中最重要的一类方法,占据了目前机器学习算法的绝大部分。监督学习就是在已知输入和输出的情况下训练出一个模型,将输入映射到输出。简单来说,我们在开始训练前就已经知道了输入和输出,我们的任务是建立起一个将输入准确映射到输出的模型,当给模型输入新的值时就能预测出对应的输出了。

以图7.2为例,我们可以将其建模为一个二分类的问题:
yi=0对应该集合中实心的黑色样本,yi=1代表该集合中空心的白色样本。
所谓的监督学习,就是我们已知了样本的属性xi=[shape,color,size],并同时告诉机器学习模型该样本的类比(即其对应的值)。机器学习的过程就是利用算法建立输入变量xi和输出变量yi的函数关系的过程,在这一过程中机器不断通过训练输入来指导算法不断改进。如果输出的结果不正确,那么这个错误结果与期望正确结果之间的误差将作为纠正信号传回到模型,以纠正模型的改进。

作为目前最广泛使用的机器学习算法,监督学习已经发展出了数以百计的不同方法。本节将选取易于理解及目前被广泛使用的K-近邻算法(KNN算法)决策树和**支持向量机(SVM)**为代表,介绍其基本原理。

一、K-近邻算法(KNN算法)

K-近邻算法(K-nearest neighbors,KNN)是最简单的机器学习分类算法之一。适用于多分类问题。简单来说,其核心思想就是“排队”:给定训练集,对于待分类的样本点,计算待预测样本和训练集中所有数据点的距离,将距离从小到大取前K个,则哪个类别在前K个数据点中的数量最多,就认为待预测的样本属于该类别。用我国的一句古话可以形象地说明:“近朱者赤,近墨者黑。”
下面通过一个简单的例子说明。如图7.3所示,如果要决定中心的待预测样本点是属于三角形还是正方形,我们可以选取训练集中距离其最近的一部分样本点。例如,当我们选取K=3,我们可以看到其中2个点是三角形、1个点是正方形,则待预测样本将被赋予三角形的类别。KNN算法最大的优点是简单且容易实现,支持多分类,并且不需要进行训练,可以直接用训练数据来实现分类。

但是,KNN算法的缺点也是显而易见的,最主要的缺点是对参数的选择很敏感。仍以图7.3为例,当选取不同的参数K时,我们会得到完全不同的结果。例如,选取K=10时(如图中虚线所示),其中有6个正方形和4个三角形,则待预测样本点被赋予了正方形,即使它可能真的是三角形。KNN算法的另一个缺点是计算量大,每次分类都需要计算未知数据和所有训练样本的距离,尤其在遇到训练集非常大的情况,因此在实际应用中被采用的不是很多。

二、决策树(decision tree)

决策树(decision tree)是一类常见的监督学习方法,代表的是对象属性与对象值之间的一种映射关系。顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。一棵决策树一般包含一个根节点、若干个内部节点和若干个叶节点,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
如表7.1所示的训练数据,每一行代表一个样本点,分别从颜色、形状、大小三方面的特征来描述水果属性。

通过构造如图7.4的决策树,利用不同的叶节点对应形状、大小、颜色等不同的属性并分别测试,我们可以得到最终的叶节点,从而将所有样本根据其属性分成不同的类别。

决策树学习的目的是为了产生一棵泛化能力强(即处理未见示例能力强)的决策树,其基本流程遵循简单且直观的“分而治之”(divide-and-conquer)策略。通常来讲,决策树的生成是一个递归过程。在决策树基本算法中,有三种情形会导致递归返回:①当前结点包含的样本全属于同一类别,无须划分;②当前属性集为空或是所有样本在所有属性上取值相同,无法划分;③当前结点包含的样本集合为空,不能划分。
同其他分类器相比,决策树易于理解和实现,具有能够直接体现数据的特点,因此,人们在学习过程中不需要了解很多的背景知识,通过解释都有能力去理解决策树所表达的意思。决策树往往不需要准备大量的数据,并且能够同时处理数据型和常规型属性,在相对短的时间内能够对大型数据源给出可行且效果良好的结果;同时,如果给定一个观察模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
决策树学习的关键是如何选择最优划分属性。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。相关的研究者提出了信息增益、增益率、基尼指数等不同准则用以实现决策树划分选择,但经典决策树在存在噪声的情况下其性能会出现明显下降。

三、支持向量机(SVM)

支持向量机(support vector machine,SVM)于1995年正式发表,由于其严格的理论基础以及在诸多分类任务中显示出的卓越性能,很快成为机器学习的主流技术,并直接掀起了“统计学习”(statistical learning)在2000年前后的高潮。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,建立一个将新的实例分配给两个类别之一的模型,从而达到在统计样本量较少的情况下亦能获得良好统计规律的目的。
SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能大地间隔(margin)分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
下面通过一个简单的例子来解释支持向量机。
如图7.5所示的一个二维平面(一个超平面,在二维空间中的例子就是一条直线),上有两种不同的点,分别用实心点和空心点表示。同时,为了方便叙述,我们通常用“+1”表示一类,“-1”表示另外一类。支持向量机的目标就是通过求解超平面将不同属性的点分开,在超平面一边的数据点所对应的y全是-1,而在另一边全是1。一般而言,一个点距离超平面的远近可以表示为分类预测的确信或准确程度。当一个数据点的分类间隔越大时,即离超平面越远时,分类的置信度越大。对于一个包含n个点的数据集,我们可以很自然地定义它的间隔为所有这n个点中间隔值最小的那个。于是,为了提高分类的置信度,我们希望所选择的超平面能够最大化这个间隔值。这就是SVM算法的基础,即最大间隔(max-margin)准则

在图7.5中,距离超平面最近的几个训练样本点被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和被称为“间隔”(margin)。支持向量机的目标就是找到具有“最大间隔”(maximum margin)的划分超平面。
需要指出的是,以上问题是支持向量机问题的基本模型,在很多现实问题中往往需要考虑更加复杂的情况。首先,基本型假设训练样本是线性可分的,即存在一个划分超平面能将训练样本正确分类,然而在现实任务中原始样本空间内也许并不存在一个能正确划分两类样本的超平面。如图7.6(a)所示,实际上无法找到一个线性分类面将图中的实心样本和空心样本分开。为了解决这类问题,相关研究者提出了诸多的解决办法,其中一个重要方法即核方法。这种方法通过选择一个核函数,将数据映射到高维空间,使在高维属性空间中有可能训练数据实现超平面的分割,避免了在原输入空间中进行非线性曲面分割计算,以解决在原始空间中线性不可分的问题。如图7.6(b)所示,通过将原来在二维平面上的点映射到三维空间上,即可以利用一个线性平面将图中的实心样本和空心样本分开。

由于核函数的良好性能,计算量只和支持向量的数量有关,而独立于空间的维度;而且在处理高维输入空间的分类时,这样的非线性扩展在计算量上并没有比原来有显著的增加。因此,核方法在目前机器学习任务中有非常广泛的应用,尤其是在解决线性不可分问题当中,更多内容可以查阅周志华教授撰写的《机器学习》。

机器学习(2)——监督学习相关推荐

  1. 机器学习中有监督学习——回归

    机器学习中有监督学习--回归 一.引言 本材料参考Andrew Ng大神的机器学习课程 http://cs229.stanford.edu,以及斯坦福无监督学习UFLDL tutorial http: ...

  2. 机器学习:监督学习和无监督学习

    机器学习:监督学习和无监督学习 ************************************** 注:本系列博客是博主学习Stanford大学 Andrew Ng 教授的<机器学习& ...

  3. 机器学习、监督学习、非监督学习、强化学习、深度学习、迁移学习

    机器学习.监督学习.非监督学习.强化学习.深度学习.迁移学习 机器学习(machine learning) 监督学习(supervised learning) 非监督学习(unsupervised l ...

  4. 机器学习 分类监督学习_地球科学中使用无监督机器学习的相分类

    机器学习 分类监督学习 石油和天然气数据科学 (Data science in Oil and Gas) Facies are uniform sedimentary bodies of rock w ...

  5. 机器学习概念 — 监督学习、无监督学习、半监督学习、强化学习、欠拟合、过拟合、后向传播、损失和优化函数、计算图、正向传播、反向传播

    1. 监督学习和无监督学习 监督学习 ( Supervised Learning ) 和无监督学习 ( Unsupervised Learning ) 是在机器学习中经常被提及的两个重要的学习方法. ...

  6. 机器学习之监督学习基础

    1.机器学习分为:监督学习.无监督学习.半监督学习等几类:  (1)监督学习:从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果.监督学习的训练集要求是包括输入和输出,也可 ...

  7. 系统学习机器学习之监督学习

    监督学习是从标记的训练数据来推断一个功能的机器学习任务.训练数据包括一套训练示例.在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成.监督学习算法是分析该训 ...

  8. 机器学习非监督学习—k-means及案例分析

    一.非监督学习 无监督学习,顾名思义,就是不受监督的学习,一种自由的学习方式.该学习方式不需要先验知识进行指导,而是不断地自我认知,自我巩固,最后进行自我归纳,在机器学习中,无监督学习可以被简单理解为 ...

  9. 向毕业妥协系列之机器学习笔记:监督学习-回归与分类(一)

    目录 一.Machine Learning概念 二.单(双)变量线性回归模型 1.代价函数 2.梯度下降 三.搭建实验环境 一.Machine Learning概念 简单在知乎上搜了一下机器学习的学习 ...

  10. 机器学习之监督学习:分类

    监督学习经典模型之分类 监督学习的 任务大致可以分类两类: 一是分类学习,二是回归预测 今天我们讨论的是分类学习 SVC(支持向量机分类器) 是根据训练样本的分布,搜索所有可能的线性分类器中最佳的那个 ...

最新文章

  1. SourceInsight-显示文件完整路径
  2. UML几个关系图表示
  3. 如何在word里面插入目录
  4. 本地缓存需要高时效性怎么办_详解微信小程序缓存--缓存时效性
  5. 【IT笔试面试题整理】二叉树中和为某一值的路径--所有可能路径
  6. 影响 oracle 性能的常见事件
  7. visual stdio 工程 宏
  8. 机器学习实战(十二)降维(PCA、SVD)
  9. python语音程序设计教程_Python语言程序设计(视频教程)
  10. script language=JavaScript defer
  11. ios7中的UILabel自适决定大小
  12. 计算机二级C常考题型归纳
  13. Python_Note_Day 9_threading.Thread_multiprocessing.Process_Queue
  14. JCR分区与中科院分区详解-中科院基础版和升级版详解
  15. nema gps数据转换 matlab,NEMA-0183(GPRMC GPGGA)详细解释(GPS模块输出数据的解释)
  16. linux内核make menuconfig配置
  17. Linux下添加开机启动,Linux设置程序开机自启动
  18. 也谈谈内卷化、996和程序员的发展
  19. wps中的word中公式复制完后是图片
  20. 1.Android稳定性测试

热门文章

  1. 如何下载衡水市卫星地图高清版大图
  2. html如何生成条形码,前端使用JsBarcode生成条形码
  3. matlab 几何布朗运动 股价,某股票价格遵循几何布朗运动
  4. SREng日志全分析(一)
  5. ASP.NET入门基础教程查看
  6. 从物理到软件工程,中山大学转专业2017纪实
  7. windows 下杀手tomcat 进程
  8. 联想微型计算机7360,我的电脑是联想启天M7360台式品牌机,想升级CPU,请问可以换什么CPU?...
  9. 世界电子书展:号称最大的电子书库
  10. win10 怎么把任务栏变透明