Show
机器学习的常用方法,主要分为有监督学习(supervised learning)和无监督学习(unsupervised learning)。监督学习,就是人们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。在人对事物的认识中,我们从孩子开始就被大人们教授这是鸟啊、那是猪啊、那是房子啊,等等。我们所见到的景物就是输入数据,而大人们对这些景物的判断结果(是房子还是鸟啊)就是相应的输出。当我们见识多了以后,脑子里就慢慢地得到了一些泛化的模型,这就是训练得到的那个(或者那些)函数,从而不需要大人在旁边指点的时候,我们也能分辨的出来哪些是房子,哪些是鸟。监督学习里典型的例子就是KNN、SVM。无监督学习(也有人叫非监督学习,反正都差不多)则是另一种研究的比较多的学习方法,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。这听起来似乎有点不可思议,但是在我们自身认识世界的过程中很多处都用到了无监督学习。比如我们去参观一个画展,我们完全对艺术一无所知,但是欣赏完多幅作品之后,我们也能把它们分成不同的派别(比如哪些更朦胧一点,哪些更写实一些,即使我们不知道什么叫做朦胧派,什么叫做写实派,但是至少我们能把他们分为两个类)。无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。 那么,什么时候应该采用监督学习,什么时候应该采用非监督学习呢?我也是从一次面试的过程中被问到这个问题以后才开始认真地考虑答案。一种非常简单的回答就是从定义入手,如果我们在分类的过程中有训练样本(training data),则可以考虑用监督学习的方法;如果没有训练样本,则不可能用监督学习的方法。但是事实上,我们在针对一个现实问题进行解答的过程中,即使我们没有现成的训练样本,我们也能够凭借自己的双眼,从待分类的数据中人工标注一些样本,并把他们作为训练样本,这样的话就可以把条件改善,用监督学习的方法来做。当然不得不说的是有时候数据表达的会非常隐蔽,也就是说我们手头的信息不是抽象的形式,而是具体的一大堆数字,这样我们很难凭借人本身对它们简单地进行分类。这个说的好像有点不大明白,举个例子说就是在bag-of-words模型的时候,我们利用k-means的方法聚类从而对数据投影,这时候用k-means就是因为我们当前到手的只有一大堆数据,而且是很高维的,当我们想把他们分为50个类的时候,我们已经无力将每个数据标记说这个数应该是哪个类,那个数又应该是哪个类了。所以说遇到这种情况也只有无监督学习能够帮助我们了。那么这么说来,能不能再深入地问下去,如果有训练样本(或者说如果我们可以获得到一些训练数据的话),监督学习就会比无监督学习更合适呢?(照我们单纯地想,有高人教总比自己领悟来的准,来的快吧!)我觉得一般来说,是这样的,但是这要具体看看训练数据的获取。本人在最近课题的研究中,手动标注了大量的训练样本(当然这些样本基本准确了),而且把样本画在特征空间中发现线性可分性非常好,只是在分类面附近总有一些混淆的数据样本,从而用线性分类器进行分类之后这样样本会被误判。然而,如果用混合高斯模型(GMM)来分的话,这些易混淆的点被正确分类的更多了。对这个现象的一个解释,就是不管是训练样本,还是待聚类的数据,并不是所有数据都是相互独立同分布的。换句话说,数据与数据的分布之间存在联系。在我阅读监督学习的大量材料中,大家都没有对训练数据的这一假设(独立同分布)进行说明,直到我阅读到一本书[统计学习方法]的提示后才恍然大悟。对于不同的场景,正负样本的分布如果会存在偏移(可能是大的偏移,也可能偏移比较小),这样的话用监督学习的效果可能就不如用非监督学习了。 ----------------------- jiang1st2010 原文地址:http://blog.csdn.net/jiang1st2010/article/details/7654120 http://chuansong.me/n/1497646651109 监督学习与无监督学习发布于2021-05-21 16:40:38阅读 3820 相关文章
01 术语整理 本节概述机器学习及其三个分类(监督学习、非监督学习和强化学习)。首先,与机器学习相关的术语有人工智能(Artificial Intelligence,AI)、机器学习(Machine Learning,ML)、强化学习、深度学习等,这里对这些术语进行简单的整理。 AI意味着人工智能,其定义因研究人员而异。从广义上讲,它指“像人类一样具有智能的系统和配备这种系统的机器人”。实现AI的方法之一是机器学习。 机器学习可以简单地描述为“向系统提供数据(称为训练数据或学习数据)并通过数据自动确定系统的参数(变量值)”。相反,基于规则的系统是非机器学习系统的一个例子。在基于规则的系统中,由人类来清楚地定义分支条件的参数,例如实现代码中所存在的if语句等。 另一方面,机器学习自动根据训练数据确定代码中的参数,以使系统运行良好。之所以称为机器学习,正是因为系统能根据训练数据计算和确定系统运行所需的参数。 强化学习是机器学习中的一种。机器学习可分为三大类:监督学习、非监督学习和强化学习。我们稍后会讨论这三个分类,这里只需要认识到强化学习是机器学习的一部分即可。 接下来是深度学习。深度学习是实现机器学习的算法之一。机器学习的算法包括逻辑回归、支持向量机(Support Vector Machine,SVM)、决策树、随机森林和神经网络等。深度学习是神经网络中的一种。 最后是深度强化学习。深度强化学习是强化学习和深度学习的结合。 02 监督学习、非监督学习、强化学习 这里对三种机器学习(监督学习、非监督学习和强化学习)分别进行介绍。 首先说明监督学习。 例如,“对邮政编码中的手写数字进行分类”是一种监督学习。邮政编码分类系统将每个数字的手写图像分类为0~9中的一个。诸如0到9的数据的分类目标被称为标签或类。这种系统被称为监督学习,因为给事先提供的训练数据预先标记出了正确的标签。换句话说,带标签的训练数据成了系统的教师。 监督学习包括学习阶段和推理阶段。我们将以图为例来解释手写数字的分类(见图1.1)。 ▲图1.1 使用监督学习区分手写数字的示例 在学习阶段,准备许多0到9的手写数字图像数据,这些数据作为训练数据。训练数据有一个标签(0到9中的某个数值),根据标签可以找到关于手写数字图像的正确答案信息,例如“此手写数字图像为1”。在学习阶段,当将手写数字图像输入系统时,调整(学习)系统的参数以尽量将输入图像分类为正确的标签。 在应用阶段,将无标签的未知手写数字图像数据输入系统,图像被分类为0到9中的某一个输出标签并给出结果。如果已经学习到正确的结果,当输入未知的手写数字图像时,系统将输出正确的数值标签。除了手写数字的分类之外,还可使用监督学习来对图像、声音和文本数据进行分类。 此外,除了上面例子中提到的分类任务,监督学习也用于回归等任务。 接下来,介绍非监督学习。用一个词表达非监督学习就是“分组”。它将大量数据中类似的数据分为一组(称为聚类)。例如,“根据购买数据对客户进行分组的系统”是非监督学习。根据购买历史记录的特征对客户进行分组,可以为每个组实施不同的销售策略。 我们使用图来说明购买数据分析的例子(见图1.2)。假设存储了每个客户过去一年的购买数量和每次平均消费金额的数据,并对此数据进行分析。根据这些数据,客户可以分为两组。A组(左上角)是以较低频次购买高价商品的组,B组(右下角)是多次重复但每次消费金额较低的组。 ▲图1.2 使用非监督学习根据购买数据对客户分组的示例 使用非监督学习进行分组将有助于了解每个客户所属的组,并针对每个组实施最佳销售策略(尽管部分业务还需要更详细的分析)。除了本例中提到的分组(聚类)以外,非监督学习也用于降维和推荐系统。 最后,我们讨论强化学习。强化学习是一种主要用于“时变系统控制规则构建”和“对战博弈策略构建”的方法。例如,强化学习用于机器人的步行控制和围棋对战程序(见图1.3)。 ▲图1.3 强化学习示例(机器人步行控制和围棋比赛系统) 在我们熟悉的例子中,可能更容易想象一个孩子学会骑自行车的情形。当一个孩子学习骑自行车时,并没有人去教其诸如牛顿力学等力学法则以及如何骑车的详细方法,也不必通过观看视频来学习骑自行车。事实上,自己尝试骑自行车,在多次失败的过程中找到一种骑自行车的方法。 强化学习正如学骑自行车的例子,它是一种学习方法,它在不知道控制对象的物理定律的情况下重复试错,以学习到所希望的控制方法。 强化学习中没有带标签的数据作为训练数据,但这并不意味着根本没有监督信息。系统根据强化学习程序运行,在获得所需结果时给出称为奖励的信号。例如,在机器人的步行控制中,可以走的距离就是奖励。在围棋的比赛程序中,赢或输的结果就是奖励。失败时的奖励是负值,也称为惩罚。 如果想通过监督学习来学习机器人的步行控制,就需要尽可能多的“如果腿的关节处于这个角度并且速度是某值,那么就像这样转动电动机A”这样的模式,并预先给出其正确的做法。然而,当机器人行走时,对于每个时刻变化的状态,很难预先给出控制该电动机的正确做法。 另一方面,在强化学习中,将行走距离作为奖励提供给步行控制系统,并且重复试验多次。 这样一来,强化学习系统会根据重复试验和获得的奖励自行改变控制规则,以“如果之前的试验中所做改变使我可以走得更远,则这种改变是正确的”为基础。因此,可以在不教导机器人如何行走的情况下让机器人能渐渐行走更长的距离。 即使在像围棋这样的对战游戏的策略构建中,也无须在每个阶段将强者视为教师数据来进行教导,仅通过将成功或失败作为奖励来重复试验即可。这样做,强化学习系统会一点一点地改变游戏方式并变得更强。 学到的围棋或将棋系统比设计者本人更强大,这一点通过强化学习可以很容易实现。只听这个解释,强化学习就像魔术,但在实践中却存在着种种困难。 强化学习主要适用于“时变系统控制规则构建”和“对战博弈策略构建”,本书以前者“系统控制”为目标任务,通过编写相关程序来学习强化学习。 关于作者:小川雄太郎,东京大学博士,曾在东京大学从事脑机能测量及计算论的神经科学研究。现就职于株式会社电通国际信息服务技术开发部,从事机器学习相关技术的研究开发。 本文摘编自《边做边学深度强化学习:PyTorch程序设计实践》,经出版方授权发布。 什么是监督学习和无监督学习?监督学习是一种目的明确的训练方式,你知道得到的是什么;而无监督学习则是没有明确目的的训练方式,你无法提前知道结果是什么。 监督学习需要给数据打标签;而无监督学习不需要给数据打标签。 监督学习由于目标明确,所以可以衡量效果;而无监督学习几乎无法量化效果如何。
有监督学习有哪些?监督学习最常见的五种算法,你知道几个?. 一. K-近邻算法(k-Nearest Neighbors,KNN). 二. 决策树(Decision Trees). 三. 朴素贝叶斯(Naive Bayesian). 四. 逻辑回归(Logistic Regression). Unsupervised learning 是什么意思?無監督學習(英語:unsupervised learning),又稱非監督式學習,是機器學習的一種方法,沒有給定事先標記過的訓練範例,自動對輸入的資料進行分類或分群。
强化学习属于无监督学习吗?强化学习正如学骑自行车的例子,它是一种学习方法,它在不知道控制对象的物理定律的情况下重复试错,以学习到所希望的控制方法。 强化学习中没有带标签的数据作为训练数据,但这并不意味着根本没有监督信息。 系统根据强化学习程序运行,在获得所需结果时给出称为奖励的信号。 例如,在机器人的步行控制中,可以走的距离就是奖励。
|