在人工智能和机器学习方面,监督学习和无监督学习的区别是什么? 你能举个例子简单地解释一下吗?
当前回答
监督式学习: 假设一个孩子去了幼儿园。这里老师给他看了3个玩具——房子,球和汽车。现在老师给了他10个玩具。 他会根据他以前的经验把它们分为房子,球和汽车3个盒子。 因此,孩子首先是由老师监督,因为他们在几组比赛中答对了答案。然后用不知名的玩具对他进行测试。
无监督学习: 还是幼儿园的例子。给一个孩子10个玩具。他被告知要分割类似的部分。 因此,根据形状、大小、颜色、功能等特征,他会尝试将A、B、C分成3组,并将它们分组。
监理这个词的意思是你给机器提供监督/指令,帮助它找到答案。一旦它学会指令,就可以很容易地预测新的情况。
无监督意味着没有监督或指示如何找到答案/标签,机器将利用它的智能在我们的数据中找到一些模式。在这里,它不会进行预测,它只会尝试寻找具有相似数据的集群。
其他回答
监督式学习
训练数据包括输入向量的示例及其相应的目标向量的应用被称为监督学习问题。
无监督学习
在其他模式识别问题中,训练数据由一组输入向量x组成,没有任何对应的目标值。这种无监督学习问题的目标可能是在数据中发现相似的例子组,在这里它被称为聚类
模式识别和机器学习(Bishop, 2006)
监督学习可以根据训练过程中的学习,将一个新项目标记为训练过的标签之一。您需要提供大量的训练数据集、验证数据集和测试数据集。如果你提供数字的像素图像向量以及带有标签的训练数据,那么它就可以识别数字。
无监督学习不需要训练数据集。在无监督学习中,它可以根据输入向量的差异将项目分组到不同的簇中。如果你提供像素的数字图像向量,并要求它分为10个类别,它可能会这样做。但它知道如何标注,因为你没有提供培训标签。
我尽量简单点。
监督学习:在这种学习技术中,我们得到一个数据集,系统已经知道该数据集的正确输出。这里,我们的系统通过预测自己的值来学习。然后,它通过使用代价函数来检查其预测与实际输出的接近程度,从而进行准确性检查。
无监督学习:在这种方法中,我们很少或根本不知道我们的结果是什么。因此,我们从不知道变量影响的数据中推导出结构。 我们根据数据中变量之间的关系对数据进行聚类,从而形成结构。 在这里,我们没有基于预测的反馈。
既然你问了这个非常基本的问题,似乎有必要详细说明机器学习本身是什么。
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.
我一直认为无监督学习和有监督学习之间的区别是随意的,有点令人困惑。这两种情况之间没有真正的区别,相反,在一系列情况下,算法可以或多或少地“监督”。半监督学习的存在是界限模糊的一个明显例子。
我倾向于认为监督是对算法提供关于应该首选哪些解决方案的反馈。对于传统的监督设置,比如垃圾邮件检测,你告诉算法“不要在训练集上犯任何错误”;对于传统的无监督设置,比如聚类,你告诉算法“彼此接近的点应该在同一个聚类中”。很巧的是,第一种反馈形式比后者更具体。
简而言之,当有人说“有监督”时,想想分类,当他们说“无监督”时,想想聚类,尽量不要过于担心除此之外的问题。
推荐文章
- model.eval()在pytorch中做什么?
- 为什么binary_crossentropy和categorical_crossentropy对同一个问题给出不同的性能?
- 一般来说,应该选择哪种机器学习分类器?
- 是否可以使用scikit-learn K-Means聚类来指定自己的距离函数?
- 哪些是遗传算法/遗传规划解决方案的好例子?
- 如何在Python中进行热编码?
- 如何将数据分成3组(训练、验证和测试)?
- 历史库存数据的来源
- 如何在PyTorch中初始化权重?
- 关于如何将数据集划分为训练集和验证集,是否存在经验法则?
- 在scikit-learn中保存分类器到磁盘
- 如何解释机器学习模型的损失和准确性
- 线性回归和逻辑回归的区别是什么?
- 监督学习和无监督学习的区别是什么?
- 如何在Python中实现Softmax函数