在人工智能和机器学习方面,监督学习和无监督学习的区别是什么? 你能举个例子简单地解释一下吗?


当前回答

监督式学习

你有输入x和目标输出t。所以你训练算法泛化到缺失的部分。它被监督是因为目标是给定的。你是管理员,告诉算法:对于例子x,你应该输出t!

无监督学习

虽然分割、聚类和压缩通常是按照这个方向计算的,但我很难给出一个好的定义。

让我们以自动编码器压缩为例。当你只有给定的输入x时,人类工程师是如何告诉算法目标也是x的。所以在某种意义上,这与监督学习没有什么不同。

对于聚类和分割,我不太确定它是否真的符合机器学习的定义(见其他问题)。

其他回答

既然你问了这个非常基本的问题,似乎有必要详细说明机器学习本身是什么。

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.

监督学习基本上是一种技术,其中机器学习的训练数据已经被标记,假设是一个简单的偶数分类器,在训练过程中你已经对数据进行了分类。因此它使用“LABELLED”数据。

相反,无监督学习是一种机器自己标记数据的技术。或者你可以说这是机器从头开始自己学习的情况。

例如,训练神经网络通常是监督学习:你告诉网络你输入的特征向量对应于哪个类。

聚类是无监督学习:你让算法决定如何将样本分组到具有共同属性的类中。

另一个无监督学习的例子是Kohonen的自组织地图。

监督式学习

你有输入x和目标输出t。所以你训练算法泛化到缺失的部分。它被监督是因为目标是给定的。你是管理员,告诉算法:对于例子x,你应该输出t!

无监督学习

虽然分割、聚类和压缩通常是按照这个方向计算的,但我很难给出一个好的定义。

让我们以自动编码器压缩为例。当你只有给定的输入x时,人类工程师是如何告诉算法目标也是x的。所以在某种意义上,这与监督学习没有什么不同。

对于聚类和分割,我不太确定它是否真的符合机器学习的定义(见其他问题)。

我可以给你们举个例子。

假设您需要识别哪些车辆是汽车,哪些是摩托车。

在监督学习的情况下,你的输入(训练)数据集需要被标记,也就是说,对于你的输入(训练)数据集中的每个输入元素,你应该指定它是代表一辆汽车还是一辆摩托车。

在无监督学习的情况下,你不标记输入。无监督模型将输入聚类到基于相似特征/属性的聚类中。所以,在这种情况下,没有像“car”这样的标签。