【发布时间】:2010-12-22 08:53:15
【问题描述】:
在人工智能和机器学习方面,有监督学习和无监督学习有什么区别? 你能用一个例子提供一个基本的、简单的解释吗?
【问题讨论】:
标签: machine-learning artificial-intelligence supervised-learning unsupervised-learning
在人工智能和机器学习方面,有监督学习和无监督学习有什么区别? 你能用一个例子提供一个基本的、简单的解释吗?
【问题讨论】:
标签: machine-learning artificial-intelligence supervised-learning unsupervised-learning
由于您提出了这个非常基本的问题,因此似乎值得说明机器学习本身是什么。
机器学习是一类数据驱动的算法,即与“正常”算法不同,它是“告诉”什么是“好答案”的数据。示例:用于图像中人脸检测的假设非机器学习算法将尝试定义人脸是什么(圆形皮肤状彩色圆盘,在您期望眼睛的地方有深色区域等)。机器学习算法不会有这样的编码定义,但会“通过示例学习”:您将展示几张人脸和非人脸图像,一个好的算法最终将学习并能够预测是否看不见图片是一张脸。
这个特定的人脸检测示例是监督,这意味着您的示例必须标记,或者明确说明哪些是人脸,哪些不是。
在无监督算法中,您的示例没有标记,即您什么都不说。当然,在这种情况下,算法本身不能“发明”什么是人脸,但它可以尝试将cluster 数据分成不同的组,例如它可以区分人脸与风景有很大不同,风景与马有很大不同。
因为另一个答案提到了它(虽然,以不正确的方式):有“中间”形式的监督,即半监督和主动学习。从技术上讲,这些是监督方法,其中有一些“智能”方法可以避免大量标记示例。在主动学习中,算法本身决定你应该标记哪些东西(例如,它可以非常确定风景和马,但它可能会要求你确认大猩猩是否确实是一张脸的图片)。在半监督学习中,有两种不同的算法,它们从标记的示例开始,然后“告诉”对方他们对大量未标记数据的看法。他们从这个“讨论”中学习。
【讨论】:
监督学习是指您为算法提供的数据被“标记”或“标记”,以帮助您的逻辑做出决策。
示例:贝叶斯垃圾邮件过滤,您必须将项目标记为垃圾邮件以优化结果。
无监督学习是一类算法,它试图在没有任何外部输入(除了原始数据)的情况下找到相关性。
示例:数据挖掘聚类算法。
【讨论】:
训练数据包含输入向量示例及其对应目标向量的应用称为监督学习问题。
在其他模式识别问题中,训练数据由一组输入向量 x 组成,没有任何对应的目标值。这种无监督学习问题的目标可能是在数据中发现相似的示例组,这称为聚类
模式识别和机器学习(Bishop,2006 年)
【讨论】:
在监督学习中,输入x 提供预期结果y(即当输入为x 时模型应该产生的输出),通常称为“类”(或“标签”)对应的输入x。
在无监督学习中,不提供示例 x 的“类”。因此,无监督学习可以被认为是在未标记的数据集中寻找“隐藏结构”。
监督学习的方法包括:
分类(1R、朴素贝叶斯、决策树学习算法等 作为 ID3 CART,等等)
数值预测
无监督学习的方法包括:
聚类(K-means,层次聚类)
关联规则学习
【讨论】:
我可以告诉你一个例子。
假设您需要识别哪辆车是汽车,哪一辆是摩托车。
在监督学习案例中,您的输入(训练)数据集需要被标记,也就是说,对于您的输入(训练)数据集中的每个输入元素,您应该指定它是否代表汽车或摩托车。
在无监督学习案例中,您无需标记输入。无监督模型将输入聚类到基于例如聚类的聚类中。关于类似的功能/属性。所以,在这种情况下,没有像“汽车”这样的标签。
【讨论】:
例如,训练神经网络通常是监督学习:你告诉网络哪个类对应于你输入的特征向量。
聚类是无监督学习:您让算法决定如何将样本分组到具有共同属性的类中。
另一个无监督学习的例子是Kohonen's self organizing maps。
【讨论】:
我一直发现无监督学习和有监督学习之间的区别是任意的,而且有点令人困惑。这两种情况之间没有真正的区别,相反,算法可以或多或少具有“监督”的一系列情况。半监督学习的存在就是一个明显的界限模糊的例子。
我倾向于将监督视为向算法提供关于应该首选哪些解决方案的反馈。对于传统的监督设置,例如垃圾邮件检测,您告诉算法“不要在训练集上犯任何错误”;对于传统的无监督设置,例如聚类,您告诉算法“彼此靠近的点应该在同一个聚类中”。碰巧的是,第一种形式的反馈比后者更具体。
简而言之,当有人说“有监督”时,想想分类,当他们说“无监督”时,想想聚类,除此之外不要太担心。
【讨论】:
监督学习
监督学习基于训练数据样本 来自已分配正确分类的数据源。 这种技术用于前馈或多层 感知器 (MLP) 模型。这些 MLP 具有三个独特的 特点:
这些特征以及通过培训学习 解决困难和多样化的问题。通过学习 在有监督的 ANN 模型中进行训练,也称为误差反向传播算法。纠错-学习 算法基于输入输出训练网络 采样并找到误差信号,这是 输出计算和所需的输出,并调整 神经元的突触权重与 误差信号与输入实例的乘积 突触权重。基于这个原则,error back 传播学习分两遍进行:
向前传球:
在这里,输入向量被呈现给网络。该输入信号通过网络逐个神经元向前传播,并出现在输出端
网络作为输出信号:y(n) = φ(v(n)) 其中v(n) 是由v(n) =Σ w(n)y(n). 定义的神经元的诱导局部场 在输出层计算的输出 o(n) 与所需的响应d(n) 进行比较并发现该神经元的错误e(n)。在此过程中,网络的突触权重保持不变。
向后传球:
源自该层输出神经元的误差信号通过网络向后传播。这计算了每一层中每个神经元的局部梯度,并允许网络的突触权重按照 delta 规则进行变化:
Δw(n) = η * δ(n) * y(n).
这种递归计算继续进行,前向传递,然后是每个输入模式的反向传递,直到网络收敛。
人工神经网络的监督学习范式是高效的,并且可以找到一些线性和非线性问题的解决方案,例如分类、工厂控制、预测、预测、机器人技术等。
无监督学习
自组织神经网络使用无监督学习算法进行学习,以识别未标记输入数据中的隐藏模式。这种无监督是指在不提供错误信号来评估潜在解决方案的情况下学习和组织信息的能力。在无监督学习中缺乏学习算法的方向有时可能是有利的,因为它让算法可以回顾以前没有考虑过的模式。自组织地图(SOM)的主要特点是:
计算层也称为竞争层,因为该层中的神经元相互竞争以变得活跃。因此,这种学习算法被称为竞争算法。 SOM 中的无监督算法 分三个阶段工作:
比赛阶段:
对于呈现给网络的每个输入模式x,计算具有突触权重w的内积,并且竞争层中的神经元找到一个判别函数,该判别函数诱导神经元之间的竞争,突触权重向量为接近欧几里得距离的输入向量被宣布为比赛的获胜者。该神经元称为最佳匹配神经元,
i.e. x = arg min ║x - w║.
合作阶段:
获胜的神经元确定协作神经元的拓扑邻域h 的中心。这是通过横向交互d 之间的
协作神经元。这个拓扑邻域会在一段时间内减小其大小。
自适应阶段:
使获胜神经元及其邻域神经元能够增加与输入模式相关的判别函数的个体值 通过适当的突触权重调整,
Δw = ηh(x)(x –w).
在重复呈现训练模式后,由于邻域更新,突触权重向量倾向于遵循输入模式的分布,因此 ANN 无需监督即可学习。
自组织模型自然地代表了神经生物学行为,因此被用于许多现实世界的应用中,例如聚类、语音识别、纹理分割、矢量编码等。
【讨论】:
已经有很多答案详细解释了这些差异。我在 codeacademy 上找到了这些 gif,它们经常帮助我有效地解释这些差异。
请注意,训练图像在此处具有标签,并且模型正在学习图像的名称。
【讨论】:
机器学习: 它探索了可以从数据中学习和预测的算法的研究和构建。此类算法通过从示例输入构建模型来进行操作,以便将数据驱动的预测或决策表示为输出,而不是遵循严格的静态程序指令。
监督学习: 它是从标记的训练数据中推断函数的机器学习任务。训练数据由一组训练示例组成。在监督学习中,每个示例都是由一个输入对象(通常是一个向量)和一个期望的输出值(也称为监督信号)组成的对。监督学习算法分析训练数据并生成推断函数,可用于映射新示例。
由“老师”给计算机提供示例输入及其所需输出,目标是学习将输入映射到输出的一般规则。具体而言,监督学习算法采用已知集合输入数据和对数据的已知响应(输出),并训练模型以生成对新数据响应的合理预测。
无监督学习: 这是没有老师的学习。一基本 您可能想要对数据做的事情是将其可视化。从未标记的数据中推断出描述隐藏结构的函数是机器学习任务。由于提供给学习者的示例没有标记,因此没有错误或奖励信号来评估潜在的解决方案。这将无监督学习与监督学习区分开来。无监督学习使用试图找到自然分区的程序 的模式。
在无监督学习中,没有基于预测结果的反馈,即没有老师来纠正你。在无监督学习方法下,没有提供标记示例,并且在学习过程中没有输出的概念过程。因此,由学习方案/模型来寻找模式或发现输入数据的组
当您需要大量的数据时,您应该使用无监督学习方法 训练模型的数据量,以及意愿和能力 去实验和探索,当然是一个不好的挑战 通过更成熟的方法解决。通过无监督学习,它是 可以学习比有监督的更大和更复杂的模型 learning.Here 就是一个很好的例子
.
【讨论】:
监督学习:您提供各种标记的示例数据作为输入,以及正确的答案。该算法将从中学习,并根据之后的输入开始预测正确的结果。 示例:电子邮件垃圾邮件过滤器
无监督学习:您只提供数据,不提供任何信息 - 例如标签或正确答案。算法自动分析数据中的模式。 示例:谷歌新闻
【讨论】:
监督学习: 说一个孩子去幼儿园。老师在这里给他展示了 3 个玩具屋、球和汽车。现在老师给了他10个玩具。 他会根据他以前的经验将它们分为房子、球和车三个盒子。 所以孩子首先受到老师的监督,以获得几组正确的答案。然后他在未知玩具上进行了测试。
无监督学习: 又是幼儿园的例子。给一个孩子10个玩具。他被告知要分割相似的部分。 因此,根据形状、大小、颜色、功能等特征,他将尝试将 3 组表示为 A、B、C 并将它们分组。
监督一词意味着您正在监督/指导机器以帮助它找到答案。一旦它学会了指令,它就可以很容易地预测新的案例。
无监督意味着没有监督或指导如何找到答案/标签,机器将利用其智能在我们的数据中找到一些模式。在这里它不会进行预测,它只会尝试找到具有相似数据的集群。
【讨论】:
监督学习,给出带有答案的数据。
鉴于电子邮件被标记为垃圾邮件/非垃圾邮件,学习垃圾邮件过滤器。
给定一个诊断为患有或未患有糖尿病的患者数据集,学习将新患者分类为患有或未患有糖尿病。
无监督学习,给定没有答案的数据,让电脑对事物进行分组。
给定一组在网络上找到的新闻文章,将它们分组为一组关于同一故事的文章。
给定一个自定义数据数据库,自动发现细分市场并将客户分组到不同的细分市场。
【讨论】:
监督学习
在此,用于训练网络的每个输入模式都是 与输出模式相关联,该模式是目标或期望的 图案。学习期间假定有老师在场 过程,当在网络的计算之间进行比较时 输出和正确的预期输出,以确定错误。这 然后可以使用错误来更改网络参数,从而导致 性能提升。
无监督学习
在这种学习方法中,目标输出不呈现给 网络。就好像没有老师可以呈现想要的一样 模式,因此,系统通过发现和学习自己的 适应输入模式中的结构特征。
【讨论】:
我会尽量保持简单。
监督学习:在这种学习技术中,我们得到一个数据集,系统已经知道数据集的正确输出。所以在这里,我们的系统通过预测自己的值来学习。然后,它通过使用成本函数来检查其预测与实际输出的接近程度来进行准确性检查。
无监督学习:在这种方法中,我们很少或根本不知道我们的结果是什么。因此,我们从不知道变量影响的数据中推导出结构。 我们通过基于数据中变量之间的关系对数据进行聚类来构建结构。 在这里,我们没有基于我们的预测的反馈。
【讨论】:
您有输入 x 和目标输出 t。所以你训练算法泛化到缺失的部分。它受到监督,因为目标是给定的。你是主管告诉算法:对于例子 x,你应该输出 t!
虽然分割、聚类和压缩通常都算在这个方向上,但我很难为它想出一个好的定义。
我们以auto-encoders for compression 为例。虽然您只给出了输入 x,但人类工程师如何告诉算法目标也是 x。所以在某种意义上,这和监督学习没有什么不同。
对于聚类和分割,我不太确定它是否真的符合机器学习的定义(参见other question)。
【讨论】:
监督学习:您已标记数据并且必须从中学习。例如房屋数据和价格,然后学习预测价格
无监督学习:您必须找到趋势然后进行预测,没有给出先前的标签。 例如,班上有不同的人,然后来了一个新人,那么这个新学生属于哪个组。
【讨论】:
在监督学习中,我们知道输入和输出应该是什么。例如,给定一组汽车。我们必须找出哪些是红色的,哪些是蓝色的。
然而,无监督学习是我们必须在很少或根本不知道输出应该如何的情况下找出答案的地方。例如,学习者可能能够建立一个模型,根据面部模式和诸如“你在笑什么?”之类的词的相关性来检测人们何时微笑。
【讨论】:
监督学习可以根据训练期间的学习将新项目标记为训练标签之一。您需要提供大量的训练数据集、验证数据集和测试数据集。如果您提供数字的像素图像向量以及带有标签的训练数据,那么它可以识别数字。
无监督学习不需要训练数据集。在无监督学习中,它可以根据输入向量的差异将项目分组到不同的集群中。如果您提供数字的像素图像向量并要求它分类为 10 个类别,它可能会这样做。但它确实知道如何标记它,因为您没有提供训练标签。
【讨论】:
监督学习基本上是你有输入变量(x)和输出变量(y)并使用算法来学习从输入到输出的映射函数。我们称之为监督的原因是因为算法从训练数据集中学习,算法迭代地对训练数据进行预测。 监督有两种类型——分类和回归。 分类是当输出变量是像是/否、真/假这样的类别时。 回归是指输出是真实值,例如人的身高、温度等。
在联合国监督学习中,我们只有输入数据 (X) 而没有输出变量。 这被称为无监督学习,因为与上面的监督学习不同,没有正确答案,也没有老师。算法留给他们自己的设计来发现和呈现数据中有趣的结构。
无监督学习的类型是聚类和关联。
【讨论】:
监督学习基本上是一种技术,其中机器学习的训练数据已经被标记,假设一个简单的奇数分类器,您已经在训练期间对数据进行了分类。因此它使用“LABELLED”数据。
相反,无监督学习是一种机器自己标记数据的技术。或者你可以说它是机器从头开始自己学习的情况。
【讨论】:
简单 监督学习是一种机器学习问题,其中我们有一些标签,通过使用这些标签,我们实现了回归和分类等算法。分类应用于我们的输出形式为 0 或 1,真/假,是/否。并且在输出真实价值的地方应用回归,例如价格的房子
无监督学习是一种机器学习问题,我们没有任何标签,这意味着我们只有一些数据,非结构化数据,我们必须使用聚类数据(数据分组)各种无监督算法
【讨论】:
监督机器学习
“算法从训练数据中学习的过程和 预测输出。 "
预测输出的准确性与训练数据(长度)成正比
监督学习是您拥有输入变量 (x)(训练数据集)和输出变量 (Y)(测试数据集),并使用算法来学习从输入到输出的映射函数。
Y = f(X)
主要类型:
算法:
分类算法:
Neural Networks
Naïve Bayes classifiers
Fisher linear discriminant
KNN
Decision Tree
Super Vector Machines
预测算法:
Nearest neighbor
Linear Regression,Multi Regression
应用领域:
语音识别
预测 HR 是否选择特定候选人
预测股市价格
【讨论】:
监督学习:
监督学习算法分析训练数据并生成推断函数,可用于映射新示例。
问题类别:
回归:在连续输出中预测结果 => 将输入变量映射到某个连续函数。
例子:
给定一张人的照片,预测他的年龄
分类:以离散输出预测结果 => 将输入变量映射到离散类别
例子:
这个肿瘤会癌变吗?
无监督学习:
无监督学习从尚未标记、分类或分类的测试数据中学习。无监督学习识别数据中的共性,并根据每条新数据中是否存在此类共性做出反应。
我们可以通过根据数据中变量之间的关系对数据进行聚类来得出这种结构。
没有基于预测结果的反馈。
问题类别:
聚类: 是对一组对象进行分组的任务,使得同一组(称为集群)中的对象更相似(在某种意义上) 彼此之间,而不是其他组(集群)中的人
例子:
收集 1,000,000 个不同的基因,并找到一种方法自动将这些基因分组到不同的变量(例如寿命、位置、角色等)以某种方式相似或相关的组中 .
此处列出了常用用例。
Difference between classification and clustering in data mining?
参考资料:
【讨论】:
简单来说.. :) 这是我的理解,请随时纠正。 监督学习是,我们根据提供的数据知道我们在预测什么。所以我们在数据集中有一列需要被预测。 无监督学习是,我们尝试从提供的数据集中提取意义。我们不清楚要预测什么。所以问题是我们为什么要这样做?.. :) 答案是 - 无监督学习的结果是组/集群(相似的数据在一起)。因此,如果我们收到任何新数据,我们会将其与已识别的集群/组相关联并了解其特征。
希望对你有帮助。
【讨论】:
监督学习
监督学习是我们知道原始输入的输出的地方,即数据被标记,以便在机器学习模型的训练过程中了解它需要在给定的输出中检测什么,并在过程中指导系统在此基础上检测预标记对象的训练将检测我们在训练中提供的相似对象。
在这里,算法将知道数据的结构和模式。监督学习用于分类
例如,我们可以有不同的对象,其形状是正方形、圆形、三角形,我们的任务是排列相同类型的形状 标记的数据集标记了所有形状,我们将在该数据集上训练机器学习模型,根据训练日期集,它将开始检测形状。
无监督学习
无监督学习是一种不知道最终结果的无指导学习,它将对数据集进行聚类,并根据对象的相似属性将对象分成不同的束并检测对象。
这里的算法将在原始数据中搜索不同的模式,并在此基础上对数据进行聚类。无监督学习用于聚类。
例如,我们可以有多种形状的不同对象,正方形,圆形,三角形,所以它会根据对象的属性来制作束,如果一个对象有四个边,它会认为它是正方形,如果它有三个边三角形,如果没有边比圆,这里数据没有标记,它会学习自己检测各种形状
【讨论】:
机器学习是一个你试图让机器模仿人类行为的领域。
您像婴儿一样训练机器。人类学习、识别特征、识别模式和训练自己的方式,与您通过提供具有各种特征的数据来训练机器的方式相同。机器算法识别数据中的模式并将其分类为特定类别。
机器学习大致分为两类,监督学习和非监督学习。
监督学习是指输入向量/数据具有相应目标值(输出)的概念。另一方面,无监督学习是指只有输入向量/数据而没有任何对应目标值的概念。
监督学习的一个例子是手写数字识别,其中您有对应数字 [0-9] 的数字图像,无监督学习的一个例子是按购买行为对客户进行分组。
【讨论】: