聚类任务的概述
“物以类聚,人以群分”,这恰恰是聚类任务的核心要义。聚类就是深入探索事物内在特性和隐含规律的过程,将拥有相同或相似特性的事物集结在一起。
在无监督学习的领域中,数据的标签常常是未知的。聚类任务的目的就在于将数据集内的样本分割成多个通常不重叠的子集。通过训练这些无标记的样本,从而揭示数据的内在特性和隐含规律。
以A班级学生的身高和体重数据为例,假设我们不知道这些样本中哪些是男生,哪些是女生,即男女生标签是未知的。我们便可通过聚类任务来分析,哪些样本更可能属于男生,哪些则更可能属于女生。
聚类中的相似性度量方法
欧氏距离(Euclidean Distance)是计算聚类中样本间相似性的一种常用方法,它源自几何数学中计算两点间距离的公式。
对于两个n维向量a(x11,x12,…,x1n)和b(x21,x22,…,x2n),它们之间的欧氏距离可按以下方式计算:
K均值聚类算法详解
K均值聚类算法,简称K-means,是一种常用的聚类方法。其详细步骤和逻辑,可参考周志华《机器学习》中的描述。
图解与代码分析
接下来,我们将结合图示和Python代码,为大家进行详细解析。
对于A班级的20名学生样本数据,其中性别标签0代表女,1代表男,我们暂时将性别设为未知状态。
代码片段如下:
在讲解机器学习的过程中,我尽量减少复杂数学公式的推导。通过结合代码和图例的方式,让大家更容易理解。为了避免隐藏实现细节,我避免使用sklearn、scipy、tensorflow等库的封装函数,而是亲自编写代码实现过程。
希望这样的方式能够帮助大家更好地理解和学习聚类任务及其相关算法。
之后的内容,我们将继续通过代码和图例,深入讲解另一种原型聚类算法——学习向量量化(LVQ)。