机器学习(额外篇):监督学习和无监督学习的区别以及半监督学习

机器学习(额外篇):监督学习和无监督学习的区别

前言

 学了大部分机器学习算法,今天看到一个名词“监督”。忽然发现本身好像不太了解监督学习和无监督学习的区别,因而查阅了部分资料,而且作了必定的总结。web

 根据训练数据是否拥有标记信息,学习任务可大体划分为两大类:“监督学习”(supervised learning)和“无监督学习”(unsupervised learning)。分类和回归是前者的表明,而聚类则是后者的表明。算法

学习是什么?

 简单来讲,学习是在外部刺激下记住大部分以往的经验,从而可以实现改变的能力。所以,机器学习是一种工程方法,对于增长或提升自适应变化的各项技术都十分重要。例如,机械手表是一种非凡的工件,但其结构符合静止定律,当外部变化发生变化时会变得没有任何用处。网络

 学习能力是动物特别是人特有的,根据达尔文的理论,它也是全部物种生存和进化的关键要素。机器虽然不能自主进化,但彷佛也遵循一样的规律。框架

 对于机器学习而言,我更加倾向于把它理解为一种数据分析的机器。对于机器学习,咱们必须拥有必定规律的实际数据,在加上使用一些模型进行套用分析,从而获得必定的预测值。这里的预测并非猜想,二者有着一个极大的不一样点——有无依据。机器学习

监督学习(supervised learning)

 从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,能够根据这个函数预测结果。监督学习的训练集要求包括输入输出,也能够说是特征和目标。训练集中的目标是由人标注的。监督学习就是最多见的分类(注意和聚类区分)问题,经过已有的训练样本(即已知数据及其对应的输出)去训练获得一个最优模型(这个模型属于某个函数的集合,最优表示某个评价准则下是最佳的),再利用这个模型将全部的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。也就具备了对未知数据分类的能力。监督学习的目标每每是让计算机去学习咱们已经建立好的分类系统(模型)。svg

 监督学习是训练神经网络和决策树的常见技术。这两种技术高度依赖事先肯定的分类系统给出的信息,对于神经网络,分类系统利用信息判断网络的错误,而后不断调整网络参数。对于决策树,分类系统用它来判断哪些属性提供了最多的信息。函数

常见的监督学习算法:回归分析和统计分类。最典型的算法是KNN和SVM。学习

无监督学习(unsupervised learning)

 输入数据没有被标记,也没有肯定的结果。样本数据类别未知,须要根据样本间的类似性对样本集进行分类(聚类,clustering)试图使类内差距最小化,类间差距最大化。通俗点将就是实际应用中,很多状况下没法预先知道样本的标签,也就是说没有训练样本对应的类别,于是只能从原先没有样本标签的样本集开始学习分类器设计。测试

 非监督学习目标不是告诉计算机怎么作,而是让它(计算机)本身去学习怎样作事情。非监督学习有两种思路。第一种思路是在指导Agent时不为其指定明确分类,而是在成功时,采用某种形式的激励制度。须要注意的是,这类训练一般会置于决策问题的框架里,由于它的目标不是为了产生一个分类系统,而是作出最大回报的决定,这种思路很好的归纳了现实世界,agent能够对正确的行为作出激励,而对错误行为作出惩罚。设计

无监督学习的方法分为两大类:

  1. 一类为基于几率密度函数估计的直接方法:指设法找到各种别在特征空间的分布参数,再进行分类。
  2. 另外一类是称为基于样本间类似性度量的简洁聚类方法:其原理是设法定出不一样类别的核心或初始内核,而后依据样本与核心之间的类似性度量将样本汇集成不一样的类别。
    利用聚类结果,能够提取数据集中隐藏信息,对将来数据进行分类和预测。应用于数据挖掘,模式识别,图像处理等。

二者的不一样

  • 有监督学习方法必需要有训练集与测试样本。在训练集中找规律,而对测试样本使用这种规律。而非监督学习没有训练集,只有一组数据,在该组数据集内寻找规律。
  • 有监督学习的方法就是识别事物,识别的结果表如今给待识别数据加上了标签。所以训练样本集必须由带标签的样本组成。而非监督学习方法只有要分析的数据集的自己,预先没有什么标签。若是发现数据集呈现某种汇集性,则可按天然的汇集性分类,但不予以某种预先分类标签对上号为目的。
  • 非监督学习方法在寻找数据集中的规律性,这种规律性并不必定要达到划分数据集的目的,也就是说不必定要“分类”。

何时使用哪一种方法?简单的方法就是从定义入手,有训练样本则考虑采用监督学习方法;无训练样本,则必定不能用监督学习方法。可是,现实问题中,即便没有训练样本,咱们也可以凭借本身的双眼,从待分类的数据中,人工标注一些样本,并把它们做为训练样本,这样的话,能够把条件改善,用监督学习方法来作。对于不一样的场景,正负样本的分布若是会存在偏移(可能大的偏移,可能比较小),这样的话,监督学习的效果可能就不如用非监督学习了。

半监督学习

所给的数据有的是有标签的,而有的是没有标签的。常见的两种半监督的学习方式是直推学习(Transductive learning)和概括学习(Inductive learning)。
  直推学习(Transductive learning):没有标记的数据是测试数据,这个时候能够用test的数据进行训练。这里须要注意,这里只是用了test数据中的feature而没有用label,因此并非一种欺骗的方法。
  概括学习(Inductive learning):没有标签的数据不是测试集。

半监督学习的做用

实际中缺少的不是数据,而是带标签的数据。给收集的数据进行标记是昂贵的。