无监督学习

与监督学习不同,无监督学习是指对没有标签的数据进行学习,或者说对没有正确答案的数据进行学习,一个例子如下所示。

无监督学习 图像分类 代码_算法

我们希望我们的机器学习算法能够自动的将图中的数据分为左下和右上这两类。

无监督学习 图像分类 代码_机器学习_02


类似这种探寻数据内在结构,通过算法对无标签数据进行划分族群的算法称为聚类分析。比如我们在网上看新闻的时候我们会发现类似的新闻会被归为一类,例如体育,娱乐,经济,政治等等。我们知道成数十万以上的新闻是不可能有标签的,我们只能通过聚类算法,将相似的新闻归为一类。

无监督学习 图像分类 代码_算法_03

聚类分析还在计算机集群(试图找到哪些计算机会协同合作),社交网络(探寻哪些人之间联系密切,找到一个又一个的朋友圈),市场细分(根据不同人的不同消费风格对市场进行细分,分别推荐不同类型的商品),最后是天文数据的研究(形成星系形成理论)。

另一个有趣的案例是鸡尾酒会的问题——如图,假设现在有两个人说话,右边有两个记录声音的麦克风,由于两个人到麦克风的距离会有不同,所以两个麦克风接收的信号会有差异。

无监督学习 图像分类 代码_人工智能_04


由于每个麦克风都会记录两个人重叠的声音,我们的目标是将这两个人的声音区分开来,于是我们就采用了一种无监督学习的算法。我们可能以为实现这样的一个系统需要用到复杂的C++或者Java库等等,可实际上,它只需要如下的一行matlab代码:

无监督学习 图像分类 代码_算法_05


当然现在比较流行的机器学习程序语言是python。

最后总结一下,无监督学习主要是探索数据内部的规律,在没有标签的情况下能够对数据进行相应的处理例如聚类分析。从统计的角度来说我们常做的是核密度估计。