62、聚类与降维技术解析

聚类与降维技术解析

聚类技术

聚类是一种将数据点分组为有意义的簇的技术,在多个领域有着广泛的应用。

轮廓系数(Silhouette Coefficient)

轮廓系数是一种用于解释和验证簇内数据一致性的方法,它为每个数据点的聚类情况提供了简洁的图形表示。该方法于1987年被提出。

轮廓系数(SC),也称为轮廓得分,用于衡量每个数据点与其所在簇的内聚性以及与相邻簇的分离率。其取值范围是[-1, +1],值越高,表示数据点与其所在簇的内聚性越高,与相邻簇的偏差越小。如果大多数数据点的轮廓系数较高,则表明聚类配置良好;如果许多数据点的轮廓系数较低或为负,则聚类结果不佳。

设 $x_i$ 和 $x_{i’}$ 表示数据点,$G_{own}$ 为所属簇,$G_{next}$ 为相邻簇。对于数据点 $x_i \in G_{own}$,其到 $G_{own}$ 中所有其他数据点的平均距离为:
[a(i) = \frac{1}{|G_{own}| - 1} \sum_{x_{i’} \in G_{own}} d(x_i, x_{i’})]
$a(i)$ 表示 $x_i$ 分配到 $G_{own}$ 的内聚性,值越小,内聚性越高。

此外,对于每个数据点 $x_i \in G_{own}$,其到任何相邻簇 $G_{next}$ 中所有数据点的最小平均距离为:
[b(i) = \min_{G_{own} \neq G_{next}} \frac{1}{|G_{next}|} \sum_{x_{i’} \in G_{next}} d(x_i, x_{i’})]

因此,数据点 $x_i$ 的轮廓系数(SC)定义为:
[SC(i) = \frac{b(i) - a(i)}{\max {a(i), b(i)}}]
$SC(i)$ 的取值范围是[0, 1]。

以下是轮廓系数的计算步骤:
1. 计算每个数据点到其所属簇内其他数据点的平均距离 $a(i)$。
2. 计算每个数据点到相邻簇内所有数据点的最小平均距离 $b(i)$。
3. 根据公式计算每个数据点的轮廓系数 $SC(i)$。

聚类的应用领域

聚类在多个领域都有广泛的应用,具体如下:
| 领域 | 应用 |
| ---- | ---- |
| 数据挖掘 | 分析数据并发现潜在模式 |
| 医学 | 医学图像分析、医学图像分割和三维重建 |
| 商业和营销 | 对客户或商品进行分组 |
| 万维网 | 社交网络分析和搜索结果分组 |
| 计算机科学 | 场景分割和推荐系统制定 |

通过聚类,可以更好地理解数据的结构和特征,为后续的分析和决策提供支持。

降维技术

降维是将高维数据映射到低维表示,同时保留数据的内在属性。下面将详细介绍降维的相关内容。

降维问题与定义

降维也被一些研究人员称为维度缩减。在处理高维数据时,降维具有重要意义。

  • 维度的定义

    • 数学空间的维度 :指表示任何点所需的最小坐标数。例如,在数学中的欧几里得空间,一维空间中的点用一个坐标表示,二维空间用两个坐标表示,三维空间用三个坐标表示。
    • 数据空间的维度 :指数据中的特征数量,也称为属性,可以用变量或向量表示。如果数据处于高维数据空间,则称为高维数据。
  • 高维数据
    给定一个数据集,设 $n$ 表示其数据点的数量,$p$ 表示其特征(属性)的数量。如果 $n$ 很大且 $p \gg 3$(3 是欧几里得空间的维度),则该数据集被称为高维数据。

我们面临着大量的高维数据,如人类基因分布、全球气候模式、恒星光谱、语音信号、数字图像和视频以及自然语言文本等。处理高维数据非常困难,需要通过降维进行去噪,特别是在可视化方面。降维还可以作为其他机器学习任务的预处理步骤,用于减少输入数据中的特征数量,提高特征学习的准确性,并减少模型训练时间。

需要注意的是,高维数据与大数据不同:高维数据指数据特征维度非常高的数据集,而大数据指规模非常大且难以用传统方法处理的数据集。

  • 降维的定义
    降维在机器学习中是一项将高维空间中的数据映射到低维空间,同时保留原始高维数据基本特征的任务。

我们需要降维的主要原因如下:
1. 维度灾难问题 :随着数据维度的增加,数据处理或分析所需的工作量呈指数级增长,形成维度灾难。
2. 数据稀疏问题 :高维数据的表示导致无用信息膨胀,使数据中有意义的特征稀缺,存在大量无意义的特征。
3. 内在维度问题 :内在维度指表示高维数据所需的最小特征向量数量。这是因为数据中存在大量冗余特征和噪声。
4. 数据可视化问题 :将高维数据映射到低维空间可以以易于理解的可视化方式表示数据中的复杂关系和模式。

降维的工作原理

为了更好地理解降维任务,下面从形式描述和图示描述两个方面进行介绍。

  • 形式描述
    设 $\mathbb{R}^h$ 和 $\mathbb{R}^l$ 分别表示高维和低维实向量的集合,其中 $h \gg l$ 且 $1 \leq l \leq 3$。设 $\mathcal{X}$ 和 $\mathcal{Y}$ 分别表示高维输入空间和低维输出空间,$\mathcal{X} \subseteq \mathbb{R}^h$,$\mathcal{Y} \subseteq \mathbb{R}^l$。

给定一个包含 $m$ 个高维数据点的数据集:
[D_{high} = {x_i | i = 1, 2, \cdots, m}]
其中 $x_i \in \mathcal{X}$。

设计一个假设集 $H$,将高维输入空间 $\mathcal{X}$ 中的数据映射到低维输出空间 $\mathcal{Y}$:
[H: \mathcal{X} \to \mathcal{Y}]

目标是找到降维的最佳假设 $h \in H$,将高维数据集 $D_{high} \subseteq \mathcal{X}$ 映射到低维数据集 $D_{low} \subseteq \mathcal{Y}$,即:
[h: D_{high} \to D_{low}]
同时保留高维数据的基本属性。

  • 图示描述
    通过四幅示意图可以直观地看到降维前后的变化。降维前是高维空间 $\mathcal{X} \subseteq \mathbb{R}^h$,降维后分别是三维空间($l = 3$)、二维空间($l = 2$)和一维空间($l = 1$)。降维前后的数据空间维度发生了变化,但高维数据的基本属性在低维空间中仍然保持不变。

下面是降维工作原理的 mermaid 流程图:

graph TD;
    A[高维数据集] --> B[设计假设集 H];
    B --> C[寻找最佳假设 h];
    C --> D[将高维数据映射到低维数据];
    D --> E[保留基本属性];
降维的相关元素

降维是将高维数据映射到低维空间的过程,涉及以下几个方面的元素:

  • 特征处理方法

    • 特征选择 :从原始特征池中选择一个子集。具体来说,它基于输入数据的原始特征的相关性,过滤掉不相关或冗余的特征,同时保留相关性最高的特征子集,但特征本身不发生变化。特征选择的主要技术包括过滤方法、包装方法和嵌入式方法。
    • 特征提取 :也称为特征投影,是从现有数据中提取有用特征的过程。具体来说,它对输入数据的特征进行变换,然后将其映射到新的低维特征空间。一些常用的特征提取技术包括主成分分析(PCA)和线性判别分析(LDA)。
  • 降维类型

    • 线性降维 :使用线性映射将高维空间中的输入数据映射到低维空间。线性降维可以进一步分为两个子类型:线性子空间学习和多线性子空间学习。
    • 非线性降维 :使用非线性映射将高维空间中的数据映射到低维空间。它包括距离矩阵方法、核方法、流形学习和邻域嵌入方法等子类型。
    • 深度降维 :使用深度人工神经网络将数据从高维空间映射到低维空间。深度降维的算法包括深度自动编码器和变分自动编码器。

以下是降维相关元素的关系图:

graph LR;
    A[特征处理方法] --> B[特征选择];
    A --> C[特征提取];
    D[降维类型] --> E[线性降维];
    D --> F[非线性降维];
    D --> G[深度降维];
    E --> H[线性子空间学习];
    E --> I[多线性子空间学习];
    F --> J[距离矩阵方法];
    F --> K[核方法];
    F --> L[流形学习];
    F --> M[邻域嵌入方法];
    G --> N[深度自动编码器];
    G --> O[变分自动编码器];

通过对这些元素的理解和应用,可以选择合适的降维方法来处理不同类型的高维数据。

在下半部分,我们将详细介绍线性降维、非线性降维和深度降维的具体算法,以及它们在实际应用中的特点和优势。

聚类与降维技术解析

线性降维

线性降维有线性子空间学习和多线性子空间学习两种子类型,下面分别介绍。

线性子空间学习

线性子空间学习是一种传统的降维技术,它将原始高维数据表示为向量,并使用最优线性映射方法将其映射到较低维空间。

典型的线性子空间学习算法如下:
| 算法名称 | 算法描述 |
| ---- | ---- |
| 主成分分析(PCA) | 一种常用的降维方法,使用正交变换将高维数据线性变换到新的坐标系,用较少的维度描述数据,保留最大信息量,提高数据可解释性并实现多维数据可视化 |
| 独立成分分析(ICA) | 假设每个高维数据是独立成分的混合,将其分解为独立的非高斯分布,并识别与其他成分相关性最小的成分,是一种盲源分离方法,典型例子是“鸡尾酒会问题” |
| 线性判别分析(LDA) | 是 Fisher 判别分析的推广,通过在数据集中找到投影矩阵来降维,确保在低维空间中同一类数据的差异最小化,不同类数据的差异最大化 |

以下是线性子空间学习算法的 mermaid 流程图:

graph TD;
    A[高维数据] --> B[PCA];
    A --> C[ICA];
    A --> D[LDA];
    B --> E[低维数据(PCA 降维)];
    C --> F[低维数据(ICA 降维)];
    D --> G[低维数据(LDA 降维)];
多线性子空间学习

当处理大量高维数据时,线性子空间学习会产生高维向量,需要估计大量参数,应用困难。

多线性子空间学习将高维向量空间映射到一组低维向量空间,使用不同类型的数据张量分析工具进行降维,可用于高维数据。它是线性子空间学习的高阶推广,线性子空间学习算法可推广到多线性空间学习算法,相关算法如下:
- 多线性主成分分析(MPCA)
- 多线性独立成分分析(MICA)
- 多线性线性判别分析(MLDA)

多线性子空间学习与线性子空间学习的关系如下表所示:
| 对比项 | 线性子空间学习 | 多线性子空间学习 |
| ---- | ---- | ---- |
| 数据处理难度 | 处理大量高维数据时需估计大量参数,应用困难 | 可处理高维数据,利用张量分析工具降维 |
| 推广关系 | 基础方法 | 是线性子空间学习的高阶推广 |
| 代表算法 | PCA、ICA、LDA | MPCA、MICA、MLDA |

非线性降维

非线性降维使用非线性映射将高维空间中的数据映射到低维空间,主要包括以下几种方法:

距离矩阵方法

通过计算数据点之间的距离矩阵,然后基于这个矩阵进行降维操作。其核心思想是在低维空间中尽可能保持数据点之间的距离关系。例如,多维尺度分析(MDS)就是一种基于距离矩阵的降维方法,它试图在低维空间中重构数据点的相对位置,使得数据点之间的距离与高维空间中的距离尽可能相似。

核方法

核方法通过引入核函数,将数据从原始空间映射到高维特征空间,然后在高维特征空间中进行线性降维。常见的核函数有高斯核函数、多项式核函数等。核主成分分析(KPCA)是核方法在降维中的典型应用,它在高维特征空间中进行主成分分析,从而实现非线性降维。

流形学习

流形学习假设高维数据分布在一个低维流形上,其目标是发现这个低维流形的结构。等距特征映射(Isomap)是流形学习的经典算法,它通过计算数据点之间的测地距离(沿着流形表面的最短路径距离),然后使用多维尺度分析在低维空间中重构数据点的位置。

邻域嵌入方法

邻域嵌入方法关注数据点的局部邻域结构,试图在低维空间中保留这种局部结构。局部线性嵌入(LLE)是邻域嵌入方法的代表算法,它假设每个数据点可以由其邻域内的其他数据点线性表示,然后在低维空间中寻找同样的线性表示关系,从而实现降维。

非线性降维方法的特点和适用场景如下表所示:
| 方法 | 特点 | 适用场景 |
| ---- | ---- | ---- |
| 距离矩阵方法 | 基于数据点间距离重构低维空间位置 | 数据点间距离信息重要的场景 |
| 核方法 | 通过核函数映射到高维空间进行线性降维 | 数据具有非线性结构的场景 |
| 流形学习 | 发现高维数据的低维流形结构 | 数据分布在低维流形上的场景 |
| 邻域嵌入方法 | 保留数据点的局部邻域结构 | 关注局部信息的场景 |

深度降维

深度降维使用深度人工神经网络将数据从高维空间映射到低维空间,主要基于以下两种算法:

深度自动编码器

深度自动编码器是一种无监督学习模型,由编码器和解码器两部分组成。编码器将高维输入数据压缩为低维表示,解码器则尝试从低维表示中重构原始输入数据。通过最小化重构误差,深度自动编码器可以学习到数据的有效低维表示。

深度自动编码器的训练过程可以分为以下步骤:
1. 初始化编码器和解码器的参数。
2. 将高维数据输入到编码器中,得到低维表示。
3. 将低维表示输入到解码器中,重构原始数据。
4. 计算重构误差,使用反向传播算法更新编码器和解码器的参数。
5. 重复步骤 2 - 4,直到重构误差收敛。

变分自动编码器

变分自动编码器是深度自动编码器的扩展,它引入了概率模型。变分自动编码器假设低维表示服从某种概率分布,通过最大化数据的对数似然的变分下界来训练模型。变分自动编码器不仅可以学习到数据的低维表示,还可以进行数据生成。

深度降维算法的对比:
| 算法 | 特点 | 优势 |
| ---- | ---- | ---- |
| 深度自动编码器 | 无监督学习,通过重构误差学习低维表示 | 简单易实现,可用于特征提取 |
| 变分自动编码器 | 引入概率模型,可进行数据生成 | 具有更强的生成能力,能学习到数据的分布 |

综上所述,聚类和降维技术在数据处理和分析中具有重要作用。聚类可以帮助我们发现数据的内在结构,而降维可以处理高维数据带来的挑战。不同的聚类和降维方法适用于不同的场景,在实际应用中,需要根据数据的特点和任务的需求选择合适的方法。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值