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


当前回答

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

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.

其他回答

我可以给你们举个例子。

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

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

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

监督学习:你给出各种标记的示例数据作为输入,以及正确的答案。该算法将从中学习,并开始根据输入预测正确的结果。示例:电子邮件垃圾邮件过滤器

无监督学习:你只提供数据,不告诉任何东西——比如标签或正确答案。算法自动分析数据中的模式。例如:谷歌新闻

我一直认为无监督学习和有监督学习之间的区别是随意的,有点令人困惑。这两种情况之间没有真正的区别,相反,在一系列情况下,算法可以或多或少地“监督”。半监督学习的存在是界限模糊的一个明显例子。

我倾向于认为监督是对算法提供关于应该首选哪些解决方案的反馈。对于传统的监督设置,比如垃圾邮件检测,你告诉算法“不要在训练集上犯任何错误”;对于传统的无监督设置,比如聚类,你告诉算法“彼此接近的点应该在同一个聚类中”。很巧的是,第一种反馈形式比后者更具体。

简而言之,当有人说“有监督”时,想想分类,当他们说“无监督”时,想想聚类,尽量不要过于担心除此之外的问题。

已经有很多答案可以详细解释这些差异。我在codeacademy上找到了这些动图,它们经常能帮助我有效地解释它们之间的差异。

监督式学习

请注意,训练图像在这里有标签,并且模型正在学习图像的名称。

无监督学习

注意,这里所做的只是分组(聚类),模型不知道任何图像。

Supervised Learning is basically where you have input variables(x) and output variable(y) and use algorithm to learn the mapping function from input to the output. The reason why we called this as supervised is because algorithm learns from the training dataset, the algorithm iteratively makes predictions on the training data. Supervised have two types-Classification and Regression. Classification is when the output variable is category like yes/no, true/false. Regression is when the output is real values like height of person, Temperature etc.

联合国监督学习是指我们只有输入数据(X),没有输出变量。 这被称为无监督学习,因为与上面的监督学习不同,它没有正确的答案,也没有老师。算法由它们自己的设计来发现和呈现数据中有趣的结构。

无监督学习的类型有聚类和关联。