什么是聚类?数据间的相似性和距离的测量方式有哪些?数据标准化如何进行距离计算?层次聚类的思想和流程?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. 应用场景
-
层次聚类:
- 生物信息学(如基因表达数据分析)。
- 社交网络分析(社区发现)。
- 需要层次化结果的场景(如市场细分中的多级分类)。
-
分区聚类:
- 图像分割(如基于像素颜色聚类)。
- 客户细分(已知大致客户类别数)。
- 实时数据处理(如传感器数据分析)。