无监督学习是什么?没有标准答案,让数据自己说话
无监督学习(Unsupervised Learning)是机器学习的主要方式之一,它从没有标签的数据中学习:数据只有输入,没有人告诉模型“正确答案”是什么,模型需要自己去发现数据中隐藏的结构、规律和分组。它与监督学习、强化学习并称为机器学习的三大范式。
与监督学习的区别
在监督学习中,每个训练样本都有一个标签,比如每张图片都标注了是猫还是狗,模型学习从输入到标签的映射。而在无监督学习中,只有一大堆没有标注的图片,模型要自己去发现:这些图片可以分成哪几组?哪些图片彼此相似?数据中有哪些主要的变化模式?打个比方,监督学习像有老师批改作业的学习,无监督学习则像一个人独自整理一大箱杂乱的照片,按照自己发现的规律把它们归类。
为什么需要无监督学习
现实世界中,没有标签的数据远远多于有标签的数据:互联网上有海量的文字、图片和视频,但给它们打上标签需要大量的人力。而且在很多问题中,我们本来就不知道“正确答案”是什么,比如一家公司想了解它的客户可以分成哪几类群体,事先并没有现成的分类。无监督学习能够在不需要人工标注的情况下,从数据中挖掘出有价值的信息。
主要的任务和方法
聚类:把相似的样本自动地分成若干组。比如根据客户的消费行为把他们分成不同的群体,把内容相似的新闻归为同一个话题。常用的方法有 K 均值、层次聚类、DBSCAN、高斯混合模型和谱聚类。降维:在尽量保留信息的前提下,减少数据的特征数量,用于数据的压缩、去噪和可视化。常用的方法有主成分分析、t-SNE、UMAP 和自编码器。比如把高维的基因表达数据降到二维画成散点图,观察不同细胞类型的分布。密度估计和生成建模:学习数据的概率分布,从而能够判断某个数据出现的可能性有多大,或者生成与训练数据相似的新数据,比如变分自编码器、生成对抗网络、扩散模型。异常检测:学习正常数据的模式,找出那些与大多数数据明显不同的异常样本,用于发现欺诈交易、设备故障和网络入侵。关联规则挖掘:发现数据中经常一起出现的项目,比如超市购物篮分析中发现经常被一起购买的商品。
自监督学习:无监督学习的新发展
近年来,自监督学习成为了利用无标签数据最重要的方式。它的思路是:从数据本身自动地构造出学习的任务和“标签”,让模型在完成这些任务的过程中学到有用的表示。比如:遮住一句话中的某个词,让模型根据上下文猜出这个词,这是 BERT 的做法;根据前面的文字预测下一个词,这是 GPT 等大语言模型预训练的方式;遮住图片的一部分,让模型还原出来;把同一张图片做不同的变换,让模型学会把它们识别为同一个东西,这是对比学习的做法。严格来说,自监督学习也可以看作无监督学习的一种,因为它不需要人工的标注。今天的大语言模型正是通过在海量的无标签文本上进行自监督的预训练,学到了丰富的语言知识和世界知识。
无监督学习的挑战
无监督学习最大的困难之一是难以评价:没有标准答案,就很难客观地判断学到的结果好不好。比如一份客户数据可以分成三组,也可以分成五组,可能都有道理。聚类的结果是否有意义,往往需要结合领域知识和业务目标来判断。此外,无监督学习的结果对算法和参数的选择比较敏感,不同的方法可能得到不同的结论。