有监督学习 无监督学习

原文作者:aihorizon.com
原文链接:Machine Learning, Part I: Supervised and Unsupervised Learning
译者:commondata

监督学习是指我们来教计算机如何“学习”,非监督学习是指让计算机自己学习。监督学习又有两个大的分支,一个是 regression,另一个是 classification。 既然是我们来教计算机如何学习,那就必定有一个“标准答案”。regression 是说,这个标准答案是连续的。 比如说,对三个月销售量的估计。classification 是说,这个标准答案是离散的。比如说,对是否患有cancer的判断。非监督学习就没有标准答案了。比如说,给你一堆数据,让你来分析这堆数据的结构。

上次我们讨论了基于结果的两类学习。这篇文章我们将关注一些其他方面的学习:监督还是无监督。当训练用例被标记了正确结果的时候,监督学习方式为怎样改进学习给出一个反馈。这类似于教官教导某个Agent,它的行为是否正确。对无监督学习来说这个目标很难实现,因为缺乏事先确定的分类。

·监督学习

监督学习是最常见的分类问题,因为目标往往是让计算机去学习我们已经创建好的分类系统。数字识别再一次成为分类学习的常见样本。更一般地说,对于那些有用的分类系统,和容易判断的分类系统,分类学习都适用。在某些情况下,如果Agent能自行计算分类的话,它(Agent)可能不需要事先给出分类。这将在后面成为无监督学习上下文分类的一个例子。

监督学习是训练神经网络和决策树的最常见技术。这两种技术(神经网络和决策树)高度依赖于事先确定的分类系统给出的信息。对于神经网络来说,分类系统用于判断网络的错误,然后调整网络适应它;对于决策树,分类系统用来判断哪些属性提供了最多的信息,如此一来可以用它解决分类系统的问题。我们将会看到这两者(神经网络和决策树)更多的细节,但在目前,它们用预先确定分类方法的形式来“监督”就足够了。

使用隐马尔科夫模型和贝斯网络的语音识别系统也依赖于某些监督的要素,那通常是为了调节系统的参数以便于最小化给定输入中的错误。

请注意这里提到的一个问题:在分类问题中,学习算法的目标是把给定输入中的错误最小化。这些输入通常被称作“训练集”(原文为training set,译者注),它们是Agent尝试学习的样本。但是,学习训练集表现良好并不一定是件好事。例如,如果我试图教你学习exclusive-or(及逻辑或,译者注),但仅仅给出由一个真和一个假构成的组合,而不把同时为真或为假的组合告诉你,那么根据你学到的规则,你可能对任何问题回答都为真。同样,对于机器学习算法,一个通常的问题是过适合(原文为over-fitting,译者注)数据,以及主要记忆训练集,而不是学习过多的一般分类技术。

你可以这样设想,并不是所有的训练集的输入都分类正确。如果使用的算法有足够强的记忆力,但这显然是“特例”,不适合一般的原则,因此会出现问题。这一点也可能导致过适合。不但要在学习复杂函数时足够强大,而且能产生可概括的结论,寻找这样的算法的确是一个挑战。

·非监督学习

非监督学习看起来非常困难:目标是我们不告诉计算机怎么做,而是让它(计算机)自己去学习怎样做一些事情。非监督学习一般有两种思路。第一种思路是在指导Agent时不为其指定明确的分类,而是在成功时采用某种形式的激励制度。需要注意的是,这类训练通常会置于决策问题的框架里,因为它的目标不是产生一个分类系统,而是做出最大回报的决定。这种思路很好的概括了现实世界,Agent可以对那些正确的行为做出激励,并对其他的行为进行处罚。

强化学习的一些形式常常可以被用于非监督学习,由于没有必然的途径学习影响世界的那些行为的全部信息,因此Agent把它的行为建立在前一次奖惩的基础上。在某种意义上,所有的这些信息都是不必要的,因为通过学习激励函数,Agent不需要任何处理就可以清楚地知道要做什么,因为它(Agent)知道自己采取的每个动作确切的预期收益。对于防止为了计算每一种可能性而进行的大量计算,以及为此消耗的大量时间(即使所有世界状态的变迁概率都已知),这样的做法是非常有益的。另一方面,在尝试出错上,这也是一种非常耗费时间的学习。

不过这一类学习可能会非常强大,因为它假定没有事先分类的样本。在某些情况下,例如,我们的分类方法可能并非最佳选择。在这方面一个突出的例子是Backgammon(西洋双陆棋)游戏,有一系列计算机程序(例如neuro-gammon和TD-gammon)通过非监督学习自己一遍又一遍的玩这个游戏,变得比最强的人类棋手还要出色。这些程序发现的一些原则甚至令双陆棋专家都感到惊讶,并且它们比那些使用预分类样本训练的双陆棋程序工作得更出色。

一种次要的非监督学习类型称之为聚合(原文为clustering,译者注)。这类学习类型的目标不是让效用函数最大化,而是找到训练数据中的近似点。聚合常常能发现那些与假设匹配的相当好的直观分类。例如,基于人口统计的聚合个体可能会在一个群体中形成一个富有的聚合,以及其他的贫穷的聚合。

·总结

非监督学习已经获得了巨大的成功,例如西洋双陆棋程序world-champion calibre以及自动驾驶技术。当有一种为行为赋予权值的简单方法时,它可以成为一项强大的技术。当有足够的数据构成聚类(尽管有时这非常困难),聚合可能会非常有用,特别是一个聚类中关于成员的附加数据由于这些附加的数据可以用于产生更多的结果。

如果有恰当的分类系统(例如疾病处理程序,它一般会在实施自动诊断之后直接决定设计),分类学习也会非常强大,或者当分类是一件非常简单的事情,此时我们非常乐于让计算机为我们进行识别。如果通过算法作出的决定需要输入别的地方,这时分类学习是必要的。否则,对于需要输入的一方来说,计算它的含义将会非常困难。

这两种技术都非常有价值,你需要根据当时的情况决定需要选用哪一种技术——什么类型的问题被解决,解决它需要支出多少时间(通常来说,监督学习和聚合要比强化学习技术更快),以及是否监督学习更有可能(完成)。

在机器学习(Machine learning)领域,主要有三类不同的学习方法:

监督学习(Supervised learning)、

非监督学习(Unsupervised learning)、

半监督学习(Semi-supervised learning),

监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。 
非监督学习:直接对输入数据集进行建模,例如聚类。

半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。

一、 监督学习

1、监督式学习(Supervised learning),是一个机器学习中的方法,可以由训练资料中学到或建立一个模式( learning model),并依此模式推测新的实例。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。 
2、一个监督式学习者的任务在观察完一些训练范例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的值的输出。要达到此目的,学习者必须以"合理"(见归纳偏向)的方式从现有的资料中一般化到非观察到的情况。在人类和动物感知中,则通常被称为概念学习(concept learning)。

3、监督式学习有两种形态的模型。最一般的,监督式学习产生一个全域模型,会将输入物件对应到预期输出。而另一种,则是将这种对应实作在一个区域模型。(如案例推论及最近邻居法)。为了解决一个给定的监督式学习的问题(手写辨识),必须考虑以下步骤: 
1)决定训练资料的范例的形态。在做其它事前,工程师应决定要使用哪种资料为范例。譬如,可能是一个手写字符,或一整个手写的词汇,或一行手写文字。 
2)搜集训练资料。这资料须要具有真实世界的特征。所以,可以由人类专家或(机器或传感器的)测量中得到输入物件和其相对应输出。 
3)决定学习函数的输入特征的表示法。学习函数的准确度与输入的物件如何表示是有很大的关联度。传统上,输入的物件会被转成一个特征向量,包含了许多关于描述物件的特征。因为维数灾难的关系,特征的个数不宜太多,但也要足够大,才能准确的预测输出。 
4)决定要学习的函数和其对应的学习算法所使用的数据结构。譬如,工程师可能选择人工神经网络和决策树。 
5)完成设计。工程师接着在搜集到的资料上跑学习算法。可以借由将资料跑在资料的子集(称为验证集)或交叉验证(cross-validation)上来调整学习算法的参数。参数调整后,算法可以运行在不同于训练集的测试集上 
另外对于监督式学习所使用的词汇则是分类。现著有著各式的分类器,各自都有强项或弱项。分类器的表现很大程度上地跟要被分类的资料特性有关。并没有某一单一分类器可以在所有给定的问题上都表现最好,这被称为‘天下没有白吃的午餐理论’。各式的经验法则被用来比较分类器的表现及寻找会决定分类器表现的资料特性。决定适合某一问题的分类器仍旧是一项艺术,而非科学。 
目前最广泛被使用的分类器有 人工神经网络、支持向量机、最近邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类 。

二、 无监督式学习

1、无监督式学习(Unsupervised Learning )是人工智能网络的一种算法(algorithm),其目的是去对原始资料进行分类,以便了解资料内部结构。有别于监督式学习网络,无监督式学习网络在学习时并不知道其分类结果是否正确,亦即没有受到监督式增强(告诉它何种学习是正确的)。其特点是仅对此种网络提供输入范例,而它会自动从这些范例中找出其潜在类别规则。当学习完毕并经测试后,也可以将之应用到新的案例上。

2、无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。

三、半监督学习

1、半监督学习的基本思想是利用数据分布上的模型假设, 建立学习器对未标签样本进行标签。 
形式化描述为: 
            给定一个来自某未知分布的样本集S=L∪U, 其中L 是已标签样本集L={(x1,y1),(x2,y2), … ,(x |L|,y|L|)}, U是一个未标签样本集U={x’1,x’2,…,x’|U|},希望得到函数f:X → Y可以准确地对样本x预测其标签y,这个函数可能是参数的,如最大似然法;可能是非参数的,如最邻近法、神经网络法、支持向量机法等;也可能是非数值的,如决策树分类。其中, x与x’  均为d 维向量, yi∈Y 为样本x i 的标签, |L| 和|U| 分别为L 和U 的大小, 即所包含的样本数。半监督学习就是在样本集S 上寻找最优的学习器。如何综合利用已标签样例和未标签样例,是半监督学习需要解决的问题。

2、半监督学习问题从样本的角度而言是利用少量标注样本和大量未标注样本进行机器学习,从概率学习角度可理解为研究如何利用训练样本的输入边缘概率 P( x )和条件输出概率P ( y | x )的联系设计具有良好性能的分类器。这种联系的存在是建立在某些假设的基础上的,即聚类假设(cluster  assumption)和流形假设(maniford assumption)。

时间: 2024-11-01 12:28:55

有监督学习 无监督学习的相关文章

机器学习 一 监督学习和无监督学习的区别

前话: 最近一直想学机器学习的东西,无奈自己的书太多但无法专心看一本,纯理论的东西看了感觉不记下来就忘记类,所以我想理论学习和实践一起. 所以最近想把机器学习实战这本书看完,并做好记录.加油.!~ 一:什么是监督学习? 监督学习(supervised learning):通过已有的训练样本(即已知数据以及其对应的输出)来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本映射为相应的输出结果,对输出结果进行简单的判断从而实现分类的目的,那么这个最优模型也就具有了对未知数据进行分类的能力.

机器学习笔记—-监督学习与无监督学习的异同

** 机器学习笔记--监督学习与无监督学习的异同 ** 有监督学习 在监督学习中,输入数据和输出数据存在某种关系,即在已经给定的数据集下,对应的正确输出结果,已经大约知道是什么样子了. 有监督学习常常被归类为 回归 和 分类 问题. 在回归问题中,我们希望得到连续值的输出预测值,即,使用某些连续函数来映射输入值. 在分类问题中,则希望获得的是离散的预测值.将输入值映射到离散的种类上. 无监督学习 无监督学习,对于问题最终的结果,只有很少或没有什么感知.从已有数据中抽取相应的结构,且不必知道数据变

无监督学习小记(参考)

下面凌乱的小记一下无监督学习 无监督学习->聚类 降维 聚类:数据相似性 相似性的评估:两个数据样本间的距离 距离:欧氏距离 曼哈顿距离 马氏距离 夹角余弦 sklearn 聚类算法 sklearn.cluster,如k-means 近邻传播 DBSCAN等 标准的数据输入格式:[样本个数,特征个数]定义的矩阵形式 介绍sklearn.cluster |算法名称|参数|可扩展性|相似度度量| |-|-|-|-| 降维 主成分分析PCA PCA常用于高维数据集的探索与可视化,还可以用于数据压缩和预

机器学习的动机与应用,监督学习与无监督学习

先抛出个例子,根据房子的面积来判断房子的价格. 什么是监督学习,大概了解就是有标准答案的训练,比如上面那个房子的问题,之前给的training examples都是一个x对应特定的y,就相当于有标准答案,这就是监督学习.supervised learning(我理解的) 无监督学习就是没有标准答案的,往往是会根据数据的某些特征分类,分群.(clustering) 强化学习 reinforcement learning,又称奖励学习,评价学习,key reward function.原理和训练狗一

什么是有监督学习和无监督学习

监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力.在人对事物的认识中,我们从孩子开始就被大人们教授这是鸟啊.那是猪啊.那是房子啊,等等.我们所见到的景物就是输入数据,而大人们对这些景物的判断结果(是房子还是鸟啊)就是相应的输出.当我们见识多了以后,脑子里就慢慢地

有监督学习和无监督学习

有监督学习:对具有概念标记(分类)的训练样本进行学习,以尽可能对训练样本集外的数据进行标记(分类)预测.这里,所有的标记(分类)是已知的.因此,训练样本的岐义性低. 无监督学习:对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识.这里,所有的标记(分类)是未知的.因此,训练样本的岐义性高.聚类就是典型的无监督学习 附: 机器学习中的方法或范式(paradigm)有很多种分类体系,例如从学习的方式分,有例子中学习.类比学习.分析学习等,但一般来说,现在研究得最多.被认为最有用

机器学习中的有监督学习,无监督学习,半监督学习

在机器学习(Machine learning)领域.主要有三类不同的学习方法: 监督学习(Supervised learning). 非监督学习(Unsupervised learning). 半监督学习(Semi-supervised learning), 监督学习:通过已有的一部分输入数据与输出数据之间的相应关系.生成一个函数,将输入映射到合适的输出,比如分类. 非监督学习:直接对输入数据集进行建模,比如聚类. 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数. 一.监

监督学习和无监督学习

监督学习 给出一个算法,需要部分数据集已经有正确答案.比如给定房价数据集.监督学习又叫回归问题 例子:房价预测,癌症预测 无监督学习 样本集未作标记,把一组未标记的数据分成多个聚类 例子:组织计算机集群,社交网络分析 鸡尾酒会问题 从背景噪声中提取有效信息. [W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x'); 线性回归 比如房价如下: $x_{1}^{(i)}$表示第i个房子的居住面积,$x_{2}^{(i)}$表示第i个房子的卧室数目,因

无监督学习

在无监督学习中,我们很少或者根本不知道结果是什么样子.我们可以根据数据中变量之间的关系对数据进行聚类,无监督学习没有基于预测结果的反馈. 例子: 聚类:收集1000000个不同的基因,并找到一种方法,自动将这些基因分成不同的变量组,如寿命.位置.角色等.非聚类:"鸡尾酒会算法",让你在混乱的环境中找到结构.(也就是说,在鸡尾酒会上从一片声音中辨别出个人的声音和音乐).