在人工智能和机器学习方面,监督学习和无监督学习的区别是什么? 你能举个例子简单地解释一下吗?
当前回答
机器学习是一个让机器模仿人类行为的领域。
你训练机器就像训练婴儿一样。人类学习、识别特征、识别模式并训练自己的方式,就像你通过输入各种特征的数据来训练机器一样。机器算法识别数据中的模式,并将其分类到特定的类别。
机器学习大致分为两类,有监督学习和无监督学习。
监督学习是一个概念,你有相应的目标值(输出)的输入向量/数据。另一方面,无监督学习的概念是只有输入向量/数据,没有任何相应的目标值。
监督学习的一个例子是手写数字识别,其中有对应数字[0-9]的数字图像,而非监督学习的一个例子是根据购买行为对客户进行分组。
其他回答
已经有很多答案可以详细解释这些差异。我在codeacademy上找到了这些动图,它们经常能帮助我有效地解释它们之间的差异。
监督式学习
请注意,训练图像在这里有标签,并且模型正在学习图像的名称。
无监督学习
注意,这里所做的只是分组(聚类),模型不知道任何图像。
例如,训练神经网络通常是监督学习:你告诉网络你输入的特征向量对应于哪个类。
聚类是无监督学习:你让算法决定如何将样本分组到具有共同属性的类中。
另一个无监督学习的例子是Kohonen的自组织地图。
监督式学习
在这种情况下,用于训练网络的每个输入模式都是 与输出模式相关联,它是目标或所需的 模式。在学习过程中假定有老师在场 过程,当对网络的计算结果进行比较时 输出和正确的预期输出,以确定误差。的 错误可以用来更改网络参数,从而导致 性能的提高。
无监督学习
在这种学习方法中,目标输出不会呈现给机器 网络。这就好像没有老师来呈现所渴望的 模式,因此,系统通过发现和学习自己 适应输入模式中的结构特征。
既然你问了这个非常基本的问题,似乎有必要详细说明机器学习本身是什么。
Machine Learning is a class of algorithms which is data-driven, i.e. unlike "normal" algorithms it is the data that "tells" what the "good answer" is. Example: a hypothetical non-machine learning algorithm for face detection in images would try to define what a face is (round skin-like-colored disk, with dark area where you expect the eyes etc). A machine learning algorithm would not have such coded definition, but would "learn-by-examples": you'll show several images of faces and not-faces and a good algorithm will eventually learn and be able to predict whether or not an unseen image is a face.
这个特殊的人脸检测的例子是有监督的,这意味着你的例子必须被标记,或者明确地说哪些是人脸,哪些不是。
在无监督算法中,你的例子没有标记,也就是说你什么都不说。当然,在这种情况下,算法本身不能“发明”人脸是什么,但它可以尝试将数据聚类到不同的组中,例如,它可以区分人脸与风景非常不同,而风景与马非常不同。
Since another answer mentions it (though, in an incorrect way): there are "intermediate" forms of supervision, i.e. semi-supervised and active learning. Technically, these are supervised methods in which there is some "smart" way to avoid a large number of labeled examples. In active learning, the algorithm itself decides which thing you should label (e.g. it can be pretty sure about a landscape and a horse, but it might ask you to confirm if a gorilla is indeed the picture of a face). In semi-supervised learning, there are two different algorithms which start with the labeled examples, and then "tell" each other the way they think about some large number of unlabeled data. From this "discussion" they learn.
监督学习可以根据训练过程中的学习,将一个新项目标记为训练过的标签之一。您需要提供大量的训练数据集、验证数据集和测试数据集。如果你提供数字的像素图像向量以及带有标签的训练数据,那么它就可以识别数字。
无监督学习不需要训练数据集。在无监督学习中,它可以根据输入向量的差异将项目分组到不同的簇中。如果你提供像素的数字图像向量,并要求它分为10个类别,它可能会这样做。但它知道如何标注,因为你没有提供培训标签。
推荐文章
- 如何从scikit-learn决策树中提取决策规则?
- 数据挖掘中分类和聚类的区别?
- model.eval()在pytorch中做什么?
- 为什么binary_crossentropy和categorical_crossentropy对同一个问题给出不同的性能?
- 一般来说,应该选择哪种机器学习分类器?
- 是否可以使用scikit-learn K-Means聚类来指定自己的距离函数?
- 哪些是遗传算法/遗传规划解决方案的好例子?
- 如何在Python中进行热编码?
- 如何将数据分成3组(训练、验证和测试)?
- 历史库存数据的来源
- 如何在PyTorch中初始化权重?
- 关于如何将数据集划分为训练集和验证集,是否存在经验法则?
- 在scikit-learn中保存分类器到磁盘
- 如何解释机器学习模型的损失和准确性
- 线性回归和逻辑回归的区别是什么?