无监督学习
上一节介绍了监督学习,下面来介绍无监督学习,这也是最广泛应用的算法。
什么是无监督学习
上一节中,我们知道了监督学习是通过 对算法,**输入一对数据,也就是input和label(也就是正确答案)**来训练算法。
举个通俗点的例子,就是既告诉算法输入的是什么,又告诉算法,正确的答案是什么,这样输入算法训练完成后,算法就会学会怎么构造这种输出,然后正式使用的时候,输出预测值
而无监督学习,喂给算法的不是一对数据,只有输入,并不告诉算法正确的答案,反而通过算法来自动分类,发现他们内在的关联,所以这种算法是在没有监督的情况下进行的输出,这就是无监督学习。
举个通俗点的例子,比如推荐新闻的时候,会通过寻找文件之间的相似性将他们进行分类,这种方法,就是所谓的聚类。因为每天搜索的新闻千变万化,这种庞大的数量导致没有人告诉算法,什么词和什么词会是同一种分类。这种算法是自动的计算出,动物园应该和熊猫放在同一组,A和B应该在同一组。
分类
无监督学习最常用的就是聚类和降维了。
聚类
无监督学习其中重要的应用就是聚类,给定一堆输入,从中把相似的数据分到同一个组,这就是聚类。典型的应用就是新闻聚类、异常检测、细分市场分类等
降维
把一个大的数据集压缩到一个小的数据集,并且尽可能丢失尽量少的信息,这就是降维。比如视频压缩、图片压缩等等,现在通常用在大模型中的处理,因为输入的视频数据数据量很大,怎么能够在不丢失信息的情况下降维数据,就成了很重要的一点。
有监督和无监督学习的区别
用上面的图来形象的表示下二者的区别,有监督是根据输入的数据对,拟合一个复杂函数,区分类别,而另外一个则是给数据分堆,至于具体怎么分堆,以及怎么拟合这些复杂的输入则输入下面章节的内容。
一句话来说有监督和无监督区别就在于是否训练前就知道正确答案。
比如他们都可以分类,但是不同的是,有监督是在有答案的情况下分类,但是无监督则是发现这些输入可以分成几类,但是提前并不知情。