数据挖掘导论——第七章:聚类
什么是聚类?数据间的相似性和距离的测量方式有哪些?数据标准化如何进行距离计算?层次聚类的思想和流程?K-均值聚类的思想和流程?距离的计算方式如何影响聚类结果?
聚类的要素,包括数据,差异性/相似性测量方式,聚类算法(标准化执行程序或流程)
理解相似性和差异性的度量(p40)。Jaccard和余弦相似性度量。
以下内容由AI生成:
余弦相似度 (Cosine Similarity)是一种衡量两个向量在方向上相似程度的指标,通过计算它们之间夹角的余弦值来实现。它在文本分析、推荐系统、图像识别等领域广泛应用,尤其适用于高维数据(如词向量、用户行为特征等)。
核心思想
- 忽略向量的绝对大小 ,仅关注方向是否一致。
 - 例如:在文本分析中,即使两篇文档长度差异很大,只要主题关键词的分布比例相似,余弦相似度仍然可能很高。
 
数学公式
对于两个向量 A 和 B ,余弦相似度计算公式为:
余弦相似度=∥A∥⋅∥B∥A⋅B=∑i=1nAi2⋅∑i=1nBi2∑i=1nAiBi
- 分子 :向量 A 和 B 的点积(内积)。
 - 分母 :向量 A 和 B 的模长(欧氏范数)的乘积。
 - 取值范围 :[−1,1] 
  
- 1 :方向完全相同。
 - 0 :正交(无相关性)。
 - -1 :方向完全相反。
 
 
几何解释
- 通过夹角判断相似性: 
  
- 夹角越小 (接近0°),余弦值越接近1,相似度越高。
 - 夹角越大 (接近180°),余弦值越接近-1,相似度越低。
 
 - 与向量长度无关:即使两个向量长度差异很大,只要方向一致,相似度仍为1。
 
应用场景
-  
文本相似度
- 将文档表示为词频向量(如TF-IDF),计算余弦相似度判断主题相似性。
 - 例如:判断两篇新闻是否属于同一类别。
 
 -  
推荐系统
- 用户行为向量化后,通过余弦相似度找到兴趣相似的用户或物品。
 - 例如:电影评分向量的相似度用于推荐用户可能喜欢的电影。
 
 -  
图像识别
- 将图像特征编码为向量,通过余弦相似度匹配相似图像。
 
 -  
自然语言处理(NLP)
- 词向量(如Word2Vec、GloVe)的余弦相似度衡量词语义相似性。
 - 例如:“国王”和“女王”的余弦相似度可能较高。
 
 
与欧氏距离的区别
- 欧氏距离 :衡量两点在空间中的绝对距离,受向量长度影响。
 - 余弦相似度 :仅关注方向差异,对长度不敏感。
 - 示例 : 
  
- 向量A=(3,4),向量B=(6,8): 
    
- 欧氏距离较大(相差5),但余弦相似度为1(方向相同)。
 
 - 向量C=(3,4),向量D=(-4,3): 
    
- 欧氏距离较小(约7.07),但余弦相似度为0(正交)。
 
 
 - 向量A=(3,4),向量B=(6,8): 
    
 
优缺点
- 优点 : 
  
- 对高维稀疏数据(如文本)鲁棒。
 - 计算效率高,适合大规模数据。
 
 - 缺点 : 
  
- 忽略向量的绝对大小(如用户评分的尺度差异)。
 - 对噪声敏感(可通过归一化或调整余弦相似度改进)。
 
 
皮尔逊相关系数 (Pearson Correlation Coefficient)是统计学中衡量两个变量之间线性相关程度 的指标,由卡尔·皮尔逊提出。其取值范围在 [-1, 1] 之间,能够反映变量间的正相关、负相关或无相关性。
核心思想
- 线性关系 :仅衡量变量间的线性关联强度,无法捕捉非线性关系(如二次函数、指数关系)。
 - 标准化 :通过协方差标准化为无量纲值,消除变量量纲和量级的影响。
 
数学公式
对于变量 X 和 Y,其观测值为 (x1,y1),(x2,y2),…,(xn,yn),皮尔逊相关系数 r 的计算公式为:
r=标准差(X)⋅标准差(Y)协方差(X,Y)=∑i=1n(xi−xˉ)2⋅∑i=1n(yi−yˉ)2∑i=1n(xi−xˉ)(yi−yˉ)
其中:
- xˉ 和 yˉ 分别是 X 和 Y 的均值。
 - 协方差 :衡量 X 和 Y 的联合变化趋势。
 - 标准差 :标准化协方差,使结果不受变量尺度影响。
 
取值范围与意义
|   相关系数 r  |   相关性  |   解释  | 
|---|---|---|
|   1  |   完全正相关  |   Y随X线性递增  | 
|   0  |   无线性相关性  |   变量间无明显线性关系  | 
|   -1  |   完全负相关  |   Y随X线性递减  | 
- 绝对值大小 : 
  
- ( |r| > 0.7 ):强相关
 - ( 0.4 < |r| \leq 0.7 ):中等相关
 - ( |r| \leq 0.4 ):弱相关
 
 
与余弦相似度的联系
- 数学形式相似 :
皮尔逊相关系数等价于对中心化后的数据 (减去均值)计算余弦相似度。r=余弦相似度(X−xˉ,Y−yˉ) - 关键区别 : 
  
- 余弦相似度关注向量方向,皮尔逊系数关注线性相关性。
 - 皮尔逊系数对数据进行了中心化(消除均值影响)。
 
 
1. 欧氏距离(Euclidean Distance)
定义 :
 欧氏距离是衡量两个点在多维空间中绝对距离的指标,即两点之间的直线距离。
 公式 :
 对于两个点 A=(a1,a2,…,an) 和 B=(b1,b2,…,bn),欧氏距离为:
d=i=1∑n(ai−bi)2
特点 :
- 直观易懂,符合几何直觉。
 - 对量纲敏感 :若特征单位或范围差异大(如“身高(cm)”与“体重(kg)”),量级大的特征会主导距离计算。
 
2. 为什么需要归一化?
问题 :
 假设两个特征:
- 特征1:身高(范围:150-200 cm)
 - 特征2:体重(范围:50-100 kg)
 
计算欧氏距离时,身高差异(如50 cm)会远大于体重差异(如50 kg),导致距离主要由身高决定,而体重的影响被弱化。
 解决方法 :
 通过归一化 (Normalization)将不同特征的取值范围统一,消除量纲和量级的影响。
3. 常用的归一化方法
(1) 最小-最大归一化(Min-Max Scaling)
将数据缩放到固定区间(如[0, 1]):
xnorm=xmax−xminx−xmin
适用场景 :
- 数据分布均匀,且已知最大/最小值。
 - 如图像像素值(0-255)归一化到[0, 1]。
 
(2) Z-Score 标准化(Standardization)
将数据转换为均值为0、标准差为1的分布:
xstd=σx−μ
适用场景 :
- 数据近似正态分布,或存在异常值(对异常值鲁棒性较强)。
 - 如金融数据、自然语言处理中的词向量。
 
(3) 其他方法
- 小数定标归一化 :按小数位数缩放(如除以1000)。
 - 稳健标准化 :使用中位数和四分位距(IQR),适合有离群值的数据。
 
4. 归一化对欧氏距离的影响
归一化前 :
- 特征量级差异大时,距离被量级大的特征主导。
归一化后 : - 所有特征对距离的贡献被均衡化,模型能更公平地捕捉不同特征的关系。
 
示例 :
 假设有两个样本:
- 样本1:身高=180 cm,体重=70 kg
 - 样本2:身高=160 cm,体重=60 kg
 
归一化前 :
 欧氏距离 = (180−160)2+(70−60)2=400+100=500≈22.36
归一化后 (假设身高缩放到[0,1],体重缩放到[0,1]):
- 身高:180→1,160→0.5
 - 体重:70→1,60→0
归一化后距离 = (1−0.5)2+(1−0)2=0.25+1=1.25≈1.12 
归一化后,身高和体重对距离的贡献权重相同。
5. 实际应用中的注意事项
- 选择归一化方法 : 
  
- 若数据有明显边界(如像素值),用Min-Max。
 - 若数据分布接近正态或有离群值,用Z-Score。
 
 - 训练集与测试集 : 
  
- 归一化的参数(如均值、标准差)应基于训练集计算,再应用于测试集。
 
 - 动态数据 : 
  
- 对于实时数据流,可能需要定期更新归一化参数。
 
 
6. 何时需要归一化?
- 需要计算距离的算法 :KNN、K-Means、SVM(使用RBF核时)等。
 - 特征量纲差异大时 (如“销售额”与“用户评分”)。
 - 梯度下降优化 :归一化能加速收敛(如神经网络)。
 
欧氏距离的相关性矩阵 通常指的是通过计算样本之间的欧氏距离,生成一个对称矩阵,用于表示样本间的相似性或差异性。虽然“相关性矩阵”一般指变量间的线性相关性(如皮尔逊相关系数),但欧氏距离矩阵在功能上类似,主要用于衡量样本间的绝对距离 而非相关性。以下是详细解释:
1. 欧氏距离矩阵的定义
对于 n 个样本,每个样本有 m 个特征,欧氏距离矩阵是一个 n×n 的对称矩阵,其中每个元素 Dij 表示样本 i 和样本 j 之间的欧氏距离:
Dij=k=1∑m(xik−xjk)2
特点 :
- 对角线元素为0(样本与自身的距离为0)。
 - 对称性:Dij=Dji。
 
2. 欧氏距离矩阵 vs. 相关性矩阵
|   对比项  |   欧氏距离矩阵  |   相关性矩阵  | 
|---|---|---|
|   衡量内容  |   样本间的绝对距离  |   变量间的线性相关性  | 
|   输入数据  |   样本(行)之间的关系  |   变量(列)之间的关系  | 
|   取值范围  |   [0,+∞)  |   [−1,1]  | 
|   应用场景  |   聚类、分类、异常检测  |   特征选择、关系分析  | 
3. 构建欧氏距离矩阵的步骤
4. 应用场景
- 聚类分析(如K-Means) :
通过距离矩阵衡量样本间相似性,将相似样本归为一类。 - 多维标度分析(MDS) :
将高维数据降维到低维空间,保留样本间距离关系。 - 异常检测 :
远离其他样本的点可能为异常值(如距离矩阵中某行数值普遍较大)。 - 推荐系统 :
计算用户或物品间的相似性(需结合其他方法,如协同过滤)。 
5. 注意事项
- 归一化的重要性 :
若特征量纲差异大(如“价格”与“销量”),需先归一化(如Z-Score或Min-Max),避免某些特征主导距离计算。 - 高维数据的稀疏性 :
在高维空间中,欧氏距离可能失效(距离趋近相似),需结合降维技术(如PCA)。 - 计算复杂度 :
数据量较大时(如10万样本),计算 n2 的距离矩阵会占用大量内存,需优化算法或采样。 
6. 可视化
可通过热图(Heatmap)直观展示距离矩阵
闵可夫斯基距离 (Minkowski Distance)是欧氏距离和曼哈顿距离的泛化形式 ,通过一个参数 p 控制距离计算的敏感度。它在机器学习和数据分析中广泛用于衡量样本间的相似性或差异性。
1. 数学定义
对于两个点 A=(a1,a2,…,an) 和 B=(b1,b2,…,bn),闵可夫斯基距离公式为:
d(A,B)=(i=1∑n∣ai−bi∣p)1/p
其中:
- p 是一个正实数(( p \geq 1 )),控制距离的敏感度。
 - 当 p=1 时,退化为曼哈顿距离 (Manhattan Distance)。
 - 当 p=2 时,退化为欧氏距离 (Euclidean Distance)。
 - 当 p→∞ 时,退化为切比雪夫距离 (Chebyshev Distance)。
 
2. 不同 p 值的影响
-  
曼哈顿距离(( p = 1 )) :
d=∣a1−b1∣+∣a2−b2∣+⋯+∣an−bn∣
计算坐标差的绝对值之和,适用于网格状路径(如城市街区)。 -  
欧氏距离(( p = 2 )) :
d=(a1−b1)2+(a2−b2)2+⋯+(an−bn)2
直线距离,适用于连续空间中的几何分析。 -  
切比雪夫距离(( p \to \infty )) :
d=max(∣a1−b1∣,∣a2−b2∣,…,∣an−bn∣)
取坐标差的最大绝对值,适用于维度间重要性差异大的场景。 
3. 闵可夫斯基距离的特点
- 灵活性 :通过调整 p,适应不同数据分布和任务需求。
 - 量纲敏感 :若特征单位或范围差异大,需先归一化 (如Z-Score或Min-Max)。
 - 高维问题 :在高维空间中,所有距离度量可能趋近相似(“维度灾难”),需结合降维技术。
 
应用场景
- 机器学习算法 : 
  
- K近邻(KNN)分类/回归。
 - K-Means聚类(需选择合适的 ( p ))。
 
 - 图像识别 :
像素特征间的相似性度量(常选择 ( p = 2 ))。 - 异常检测 :
通过设定阈值,筛选远离大多数样本的点。 
4.马哈拉诺比斯距离
马哈拉诺比斯距离(Mahalanobis Distance)是一种统计度量方法,用于衡量数据点与分布中心或不同分布之间的相似性。与欧氏距离不同,它考虑了数据各维度之间的相关性 和尺度差异 ,因此在多维数据分析中更为有效。
1. 核心思想
-  
欧氏距离的局限性 :
欧氏距离直接计算两点之间的几何距离,但假设所有维度相互独立且方差相同。若数据存在相关性或不同维度的量纲差异(如身高和体重),欧氏距离可能失真。 -  
马哈拉诺比斯距离的改进 :
通过引入协方差矩阵 ,标准化数据并消除维度间的相关性,使距离度量更符合数据的实际分布。 
2. 数学公式
对于数据点 x 和分布中心 μ (或另一点 y ),马哈拉诺比斯距离定义为:
DM=(x−μ)TS−1(x−μ)
其中:
- S 是数据的协方差矩阵,
 - S−1 是其逆矩阵,
 - (x−μ) 是向量差。
 
3. 关键特性
- 尺度不变性 :通过协方差矩阵标准化,消除量纲影响。
 - 相关性考量 :协方差矩阵的逆会调整维度间相关性,例如: 
  
- 若两维度正相关,它们的差异会被“削弱”;
 - 若方差大,该维度的权重会被降低。
 
 - 几何意义 :将数据空间“扭曲”为各向同性(各维度独立且方差相同)的超球面,再计算欧氏距离。
 
4. 应用场景
- 异常检测 :识别偏离分布中心的点(距离越大越可能是异常)。
 - 分类问题 :如KNN算法中,替代欧氏距离以提升分类效果。
 - 数据预处理 :评估样本是否符合某一分布(如多元正态分布)。
 
5. 示例说明
如何比较分差?在两场不同的考试中,分差相当于多少个标准差?
6. 注意事项
- 协方差矩阵可逆性 :若特征高度相关或样本数少于维度,需正则化(如岭回归)或降维(如PCA)。
 - 分布假设 :默认数据符合多元正态分布,否则结果可能不准确。
 
层次聚类
层次聚类的步骤是,计算相似度或距离矩阵,让每个点成为一个集群,合并最相似的集群,更新相似度或距离矩阵,继续合并最相似的矩阵,直到只剩下一个集群。
合并集群后如何更新相似度或距离矩阵?最小值/最大值/群组各点距离的平均值/中心点之间的距离
层次聚类(Hierarchical Clustering)和分区聚类(Partitional Clustering)是两种主要的聚类分析方法,它们在算法逻辑、应用场景和结果形式上有显著差异。以下是详细解释和对比:
1. 核心概念
层次聚类
- 定义 :通过树状结构(Dendrogram)表示数据的层次化分组,分为两种类型: 
  
- 聚合层次聚类 (Agglomerative):自底向上,初始每个样本为一个簇,逐步合并最相似的簇。
 - 分裂层次聚类 (Divisive):自顶向下,初始所有样本为一个簇,逐步分裂为更小的簇。
 
 - 结果 :生成一棵树状图,可灵活选择聚类数目。
 
分区聚类
- 定义 :将数据划分为互不重叠的子集(簇),每个样本仅属于一个簇。
 - 典型算法 :K-means、K-medoids、模糊C-means。
 - 核心思想 :通过迭代优化(如最小化簇内误差)确定最终划分。
 
2. 算法流程对比
|   步骤  |   层次聚类  |   分区聚类(以K-means为例)  | 
|---|---|---|
|   初始化  |   每个样本为独立簇(聚合)或一个大簇(分裂)  |   随机选择K个初始中心点  | 
|   相似度计算  |   基于簇间距离(如单链接、全链接、平均链接)  |   基于样本到中心点的距离(如欧氏距离)  | 
|   迭代方式  |   逐步合并或分裂,形成树状结构  |   迭代更新中心点和簇分配,直到收敛  | 
|   结果输出  |   树状图(需手动选择切割点确定簇数)  |   直接输出K个簇的标签  | 
3. 关键区别
|   维度  |   层次聚类  |   分区聚类  | 
|---|---|---|
|   簇数选择  |   无需预先指定,通过树状图动态选择  |   需预先指定K值(如K-means)  | 
|   计算复杂度  |   高(O(n²)或O(n³)),适合小数据集  |   低(O(n·K·d·iter)),适合大数据集  | 
|   对噪声/异常值敏感度  |   较敏感(尤其是单链接)  |   较敏感(可通过K-medoids改进)  | 
|   结果可解释性  |   树状图直观展示层次关系  |   直接输出簇标签,缺乏层次信息  | 
|   数据分布假设  |   无严格假设(依赖链接准则)  |   通常假设簇是凸形(如K-means假设球形)  | 
4. 优缺点对比
层次聚类
- 优点 : 
  
- 无需预先指定簇数。
 - 结果可视化强(树状图)。
 - 适合探索数据的潜在层次结构。
 
 - 缺点 : 
  
- 计算成本高,不适合大数据集。
 - 对噪声和离群值敏感。
 - 合并/分裂步骤不可逆,可能影响最终结果。
 
 
分区聚类
- 优点 : 
  
- 计算效率高,适合高维大数据。
 - 实现简单(如K-means)。
 
 - 缺点 : 
  
- 需预先指定K值(可通过肘部法则或轮廓系数优化)。
 - 对初始中心点敏感,可能收敛到局部最优。
 - 假设簇是凸形,难以处理复杂形状。
 
 
5. 应用场景
-  
层次聚类 :
- 生物信息学(如基因表达数据分析)。
 - 社交网络分析(社区发现)。
 - 需要层次化结果的场景(如市场细分中的多级分类)。
 
 -  
分区聚类 :
- 图像分割(如基于像素颜色聚类)。
 - 客户细分(已知大致客户类别数)。
 - 实时数据处理(如传感器数据分析)。
 
 
