机器学习:无监督学习与聚类算法

决策树、线性和逻辑回归都是比较常用的机器器学习算法,他们虽然有着不不同的功能,但却都属于 “有监督学习” 的一部分,即是说,模型在训练的时候,即需要特征矩阵X,也需要真实标签y。机器器学习当中,还有相当一部分算法属于 “无监督学习” ,无监督的算法在训练的时候只需要特征矩阵X,不需要标签。无监督学习的代表算法有聚类算法、降维算法。

聚类

聚类分析提供由个别数据对象到数据对象所指派的簇的抽象。此外,一些聚类技术使用簇原型(即同一个簇中用于代表其他对象的数据对象,例如质心等)来刻画簇特征。这些簇原型可以用作大量数据分析和数据处理技术的基础。因此,就聚类用于数据处理理层面而言,聚类分析是研究发现最有代表性的簇原型的技术。
数据降维
许多数据分析技术,如回归和PCA,都具有O(m2)或更高的时间或空间复杂度(其中m是对象的个数)。因此对于大型数据集,这些技术不切实际。然而,可以将算法用于仅包含簇原型的数据集,即每一列只保留其原型,而不是整个数据集。依赖分析类型、原型个数和原型代表数据的精度,行汇总结果可以与使用所有数据得到的结果相媲美。
数据离散压缩
簇原型可以用于数据列压缩。例如,创建一个包含所有簇原型的表,即每个原型赋予一个整数值,作为它在表中的位置(索引)。每个对象用于它所在的簇相关联的原型的索引表示。这类压缩称作向量量化(vector quantization),并常用于图像、声音和视频数据。
无论是用于数据降维还是离散压缩,都将损失一定的数据信息量,而能够使用聚类进行信息浓缩的数据特点是:
(1)许多数据对象之间高度相似
(2)某些信息丢失是可以接受的
(3)希望大幅度压缩数据量
有效地发现最近邻
很多机器学习算法都是基于距离的模型,即找出最近邻可能需要计算所有点对点之间的距离,如之前介绍的KNN。通常可以使用簇原型减少发现对象最近邻所需要计算的距离的数目。直观地说,如果两个簇原型相距很远,则对应簇中的对象不可能互为近邻。这样,为了找出一个对象的最近邻,只需要计算到邻近簇中对象的距离,其中两个簇的邻近性用其原型之间的距离度量,从而大幅降低KNN类算法的计算量量。

核心概念

聚类分析

聚类分析仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组。其目标是,组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性(同质性)越大,组间差别越大,聚类就越好。

简单来说,簇就是分类结果的类,但实际上簇并没有明确的定义,并且簇的划分没有客观标准,我们可以利用下图来理理解什么是簇。该图显示了20个点和将它们划分成簇的3种不同方法。标记的形状指示簇的隶属关系。下图分别将数据划分成两部分和六部分。然而,将2个较大的簇都划分成3个子簇可能是人的视觉系统造成的假象。此外,说这些点形成4个簇可能也不不无道理。该图表明簇的定义是不精确的,而最好的定义依赖于数据的特性和期望的结果。
聚类分析与其他将数据对象分组的技术相关。例如,聚类可以看作一种类,它用类(簇)标号创建对象的标记。然而,只能从数据导出这些标号。相比之下,KNN则是监督分类(supervised classfication),即使用由类标号已知的对象开发的模型,对新的、无标记的对象赋予类标号。为此,有时称聚类分析为非监督分类(unsupervised classification)。在数据挖掘中,不附加任何条件使用术语分类时,通常是指监督分类。
机器学习:无监督学习与聚类算法_第1张图片

你可能感兴趣的:(机器学习,算法,机器学习,算法)