<meta charset="utf-8">
作者:深度攻城狮
链接:https://www.zhihu.com/question/27138263/answer/230490634
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
监督学习(supervised learning)是指用已经标记好的数据(labelled data),做训练来预测新数据的类型(class),或者是值。预测已有类型叫做分类(classification),预测一个值叫做回归(regression)。
无监督学习(unsupervised learning)是指不需要提前对数据做标记,直接对它们做聚类(clustering)。
更多的内容看我的另一篇文章:有监督学习和无监督学习
那么什么是半监督学习(semi-supervised learning)呢?其实就和它的名字一样,同时用了有监督学习的方法和无监督的方法,更准确的说是同时用了标记好的数据(labelled data)和未标记的数据(unlabelled data) 。总结上面所说的监督学习用于分类和回归,无监督学习用于聚类,那么半监督学习的目的是什么呢?目的是用现有的数据训练出更好的数据模型。要知道,现在占主导地位的还是有监督学习,如何更好的利用无监督学习还是一个正在研究的话题,之所以需要开发他的原因是我们不需要人工的给数据打标签,这样会非常省事。从这里可以得知,虽然我们现在可以有海量的数据,但是其中只有很少一部分是有标签的。所以半监督学习就是要同时利用有标记的数据和没标记的数据。 举个例子:
<figure>
<noscript><img src="https://pic1.zhimg.com/50/v2-d0fffc210bb74aa212f9b2ee55fce81c_hd.jpg" data-rawwidth="284" data-rawheight="177" class="content_image" width="284"></noscript>
</figure>
假设上图中红点和蓝点表示两类数据class1,class2。绿点表示没有被标记的数据。如果现在我们用支持向量机(SVM),仅对有标记的数据分类,那么分割线如左图所示。但是其实真是情况是,如果我们不忽略为做标记的数据,数据的分布其实是如右图所示的。那么一个更好的划分线也应该是如右图所示的垂直线。这就是半监督学习的基本原理。