什么是无监督学习

你小时候见到了狗和猫两种动物,奶奶告诉你狗是狗,猫是猫这是监督学习。

你小时候见到了狗和猫两种动物,没人告诉你哪个是狗哪个是猫,但你根据他们样子、体型等特征的不同鉴别出这是两种不同的生物,并对特征归类,这是无监督学习。现在机器学习领域最火的就是半监督学习 因为现在获取数据很容易 不太可能什么label都没有 而且无监督学习一直效果很差 很容易overfit,而label所有数据耗时耗力又太多,数据量太大。

是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。但根据知乎惯例,答案还是要继续扩展的。首先看什么是学习(learning)?一个成语就可概括:举一反三。此处以高考为例,高考的题目在上考场前我们未必做过,但在高中三年我们做过很多很多题目,懂解题方法,因此考场上面对陌生问题也可以算出答案。机器学习的思路也类似:我们能不能利用一些训练数据(已经做过的题),使机器能够利用它们(解题方法)分析未知数据(高考的题目)?最简单也最普遍的一类机器学习算法就是分类(classification)。对于分类,输入的训练数据有特征(feature),有标签(label)。所谓的学习,其本质就是找到特征和标签间的关系(mapping)。这样当有特征而无标签的未知数据输入时,我们就可以通过已有的关系得到未知数据标签。在上述的分类过程中,如果所有训练数据都有标签,则为有监督学习(supervised learning)。如果数据没有标签,显然就是无监督学习(unsupervised learning)了,也即聚类(clustering)。目前分类算法的效果还是不错的,但相对来讲,聚类算法就有些惨不忍睹了。确实,无监督学习本身的特点使其难以得到如分类一样近乎完美的结果。这也正如我们在高中做题,答案(标签)是非常重要的,假设两个完全相同的人进入高中,一个正常学习,另一人做的所有题目都没有答案,那么想必第一个人高考会发挥更好,第二个人会发疯。这时各位可能要问,既然分类如此之好,聚类如此之不靠谱,那为何我们还可以容忍聚类的存在?因为在实际应用中,标签的获取常常需要极大的人工工作量,有时甚至非常困难。

这时有人可能会想,难道有监督学习和无监督学习就是非黑即白的关系吗?有没有灰呢?Good idea。灰是存在的。二者的中间带就是半监督学习(semi-supervised learning)。对于半监督学习,其训练数据的一部分是有标签的,另一部分没有标签,而没标签数据的数量常常极大于有标签数据数量(这也是符合现实情况的)。隐藏在半监督学习下的基本规律在于:数据的分布必然不是完全随机的,通过一些有标签数据的局部特征,以及更多没标签数据的整体分布,就可以得到可以接受甚至是非常好的分类结果。

监督学习

预测变量:已知结果

人工输入正确的已知结果,机器使用已知信息预测新的结果。

回归:估计连续变量(输入确切值)。

分类:定义一个类别(离散值、布尔值、定类变量)。

无监督学习

发现数据中的结构,结果未知。

人工输入未定义结果的数据。机器发现隐藏在数据中的有用信息。

聚类分析:进行分组密度分析:近似分布;降维:选择相关变量。

监督学习

回归:线性回归、普通最小二乘回归、LOESS(局部回归)、神经网络。

分类:决策树、支持向量机、贝叶斯、k-近邻算法、逻辑回归、随机森林。

无监督学习

聚类分析:k均值聚类、系统聚类。

降维:主成分分析(PCA)、线性判别分析(LDA)。