机器学习中的降维与贝叶斯网络技术
立即解锁
发布时间: 2025-08-30 00:50:03 阅读量: 9 订阅数: 14 AIGC 

### 机器学习中的降维与贝叶斯网络技术
#### 1. 拉普拉斯谱嵌入(Laplacian Spectral Embedding)
拉普拉斯谱嵌入与局部线性嵌入(LLE)算法类似,都使用底部的 Q + 1 个特征向量。最后一步的数学理论基于瑞利 - 里兹(Rayleigh - Ritz)方法,舍弃最后一个特征向量,其余的 Q 个特征向量确定低维表示 φi。
以下是使用 Scikit - Learn 类 `SpectralEmbedding` 将该算法应用于数据集的示例代码:
```python
from sklearn.manifold import SpectralEmbedding
se = SpectralEmbedding(n_components=2, n_neighbors=15)
X_se = se.fit_transform(faces['data'])
```
拉普拉斯谱嵌入和之前的方法都处理局部信息,试图找到能保留微观特征几何结构的低维表示。这种方式会使相近的点共享局部特征,因此可以看到包含同一类元素的小聚类,但也会有一些明显的离群点。与之不同,Isomap 或 t - SNE 等方法处理整个分布,试图确定一个与原始数据集全局属性近似等距的表示。
#### 2. t - 分布随机邻域嵌入(t - SNE)
t - SNE 是由 Van der Mateen 和 Hinton 提出的强大的流形降维技术。该算法基于一个基本假设:两个 N 维点 xi 和 xj 之间的相似性可以表示为条件概率 p(xj|xi),每个点由以 xi 为中心、方差为 σi 的高斯分布表示。方差从所需的困惑度(perplexity)开始选择,低困惑度值表示低不确定性,通常更可取,在常见的 t - SNE 任务中,困惑度值在 10÷50 范围内通常是可以接受的。
如果两个样本非常相似,那么第一个样本在第二个样本条件下的概率就高;而不相似的点对应的条件概率则低。t - SNE 将这些条件概率建模,并且将概率 p(xi|xi) 设置为零,将条件概率对称化以简化问题。
我们的目标是将高维分布 P 降维到低维分布 Q,t - SNE 算法的目标是最小化 P 和 Q 之间的 Kullback - Leibler 散度:
\[
D_{KL}(P||Q)=\sum_{i=1}^{N}\sum_{j=1}^{N}p_{ij}\log\frac{p_{ij}}{q_{ij}}
\]
其中第一项是原始分布 P 的熵,第二项是交叉熵 H(P, Q),通常使用梯度下降算法来最小化该散度。
以下是使用 Scikit - Learn 类 `TSNE` 将 t - SNE 算法应用于 Olivetti 人脸数据集的示例代码:
```python
from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, perplexity=20)
X_tsne = tsne.fit_transform(faces['data'])
```
通过视觉检查标签分布可以确认,t - SNE 从原始高维分布中重新创建了最优聚类。该算法可用于多种非线性降维任务,如处理图像、词嵌入或复杂特征向量。其主要优势在于将相似性视为概率,无需对成对距离施加全局或局部约束,在某种程度上可以将 t - SNE 视为基于交叉熵成本函数的反向多类分类问题。
#### 3. 算法选择
选择使用哪种算法取决于具体问题:
- 当需要在降维时保留向量之间的全局相似性(例如样本是没有局部属性的长特征向量,如词嵌入或数据编码),t - SNE 或 Isomap 是不错的选择。
- 当需要尽可能保持局部距离(例如不同样本可能共享的视觉补丁结构)与原始表示接近时,局部线性嵌入或谱嵌入算法更合适。
#### 4. 贝叶斯定理及相关概念
##### 4.1 条件概率与贝叶斯定理
在概率空间 S 中,两个事件 A 和 B,A 在 B 条件下的概率称为条件概率,定义为:
\[
P(A|B)=\frac{P(A,B)}{P(B)}
\]
由 P(A, B) = P(B, A) 可推导出贝叶斯定理:
\[
P(A|B)=\frac{P(B|A)P(A)}{P(B)}
\]
该定理允许将一个条件概率表示为另一个条件概率以及两个边际概率 P(A) 和 P(B) 的函数。在许多机器学习问题中,通常更容易处
0
0
复制全文
相关推荐










