核主成分分析实验与特征提取框架
1. 核主成分分析实验
1.1 玩具示例
为了深入了解核主成分分析(Kernel PCA)在输入空间中的行为,我们进行了一系列使用人工二维数据集的实验。
-
多项式核实验
:使用多项式核 $k(x, x’) = \langle x, x’ \rangle^d$,其中 $d$ 从 1 到 4 变化。线性主成分分析(PCA)($d = 1$)由于输入空间维度为 2,只有 2 个非零特征向量。而非线性 PCA 能够提取更多的主成分,并且其产生的恒定特征值轮廓线能更好地反映数据结构。在所有情况下,第一个主成分沿着数据所基于的抛物线单调变化。在非线性情况下,第二个和第三个成分在不同多项式次数下也表现出相似的行为。第三个成分特征值较小,似乎捕捉到了噪声引起的方差,去除该成分相当于进行降噪。
-
其他核函数实验
:还使用了径向基函数核和神经网络类型的 Sigmoid 核进行了更多玩具示例实验。此外,使用条件正定核(cpd 核)$k(x, x’) = |x - x’|^{\tau}$ 进行实验,当 $\tau = 2$ 时等价于线性 PCA,随着 $\tau$ 减小,特征提取器变得越来越非线性和局部化,这意味着较小的 $\tau$ 值对大距离的权重较小,从而产生更稳健的距离度量。
1.2 手写字符识别实验
我们使用美国邮政服务数据库(USPS)进行了手写字符识别实验。该数据库包含 9298 个维度为 256 的示例,其中 2007 个构成测试集。由于计算原因,我们使用 3000 个训练示例的子集来计算矩阵 $K$,然后使用多项式核 PCA 从训练集和测试集中提取非线性主成分,并使用软间隔超平面分类器评估提取的主成分在分类任务中的实用性。
| # of components | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 32 | 9.6 | 8.8 | 8.1 | 8.5 | 9.1 | 9.3 | 10.8 |
| 64 | 8.8 | 7.3 | 6.8 | 6.7 | 6.7 | 7.2 | 7.5 |
| 128 | 8.6 | 5.8 | 5.9 | 6.1 | 5.8 | 6.0 | 6.8 |
| 256 | 8.7 | 5.5 | 5.3 | 5.2 | 5.2 | 5.4 | 5.4 |
| 512 | n.a. | 4.9 | 4.6 | 4.4 | 5.1 | 4.6 | 4.9 |
| 1024 | n.a. | 4.9 | 4.3 | 4.4 | 4.6 | 4.8 | 4.6 |
| 2048 | n.a. | 4.9 | 4.2 | 4.1 | 4.0 | 4.3 | 4.4 |
从表中可以看出,使用非线性核有两个优点:一是在非线性主成分上训练的线性分类器的性能优于相同数量的线性成分;二是通过使用比线性情况下更多的成分,可以进一步提高非线性成分的性能。对于所有特征数量,最佳的核次数约为 4,并且除一个例外外,非线性特征优于其线性对应特征。最佳分类器的错误率为 4.0%,远优于直接在图像数据上操作的线性分类器(8.9%),与非线性支持向量分类器性能相同。
1.3 核主成分分析实验流程
graph TD;
A[准备数据集] --> B[选择核函数];
B --> C[计算核矩阵 K];
C --> D[进行核主成分分析提取主成分];
D --> E[评估主成分在分类任务中的实用性];
2. 特征提取框架
2.1 标准核主成分分析的问题
标准核主成分分析存在两个问题:一是计算复杂度与样本大小 $m$ 成 $O(m^3)$ 比例;二是得到的特征提取器是训练模式的密集展开,对于每个测试点,特征提取需要进行 $m$ 次核评估。可以使用近似方法来解决这些问题,如稀疏贪心近似和使用约简集技术进行稀疏近似,也可以修改算法以使其更高效并自动产生稀疏特征提取器。
2.2 主成分分析(PCA)
假设数据维度为 $N$,对于中心化的数据 $\tilde{X} = {\tilde{x}
i | \tilde{x}_i = x_i - \frac{1}{m} \sum
{i = 1}^{m} x_i, i = 1, \cdots, m}$,第一个主成分是投影方向方差最大的方向,第一个特征向量 $v_1$ 可以通过以下方式获得:
$v_1 = \arg\max_{|v|
2 = 1} \frac{1}{m} \sum
{i = 1}^{m} |\langle v, \tilde{x}_i \rangle|^2$
后续的特征向量 $v_2, \cdots, v_N$ 选择与前面的特征向量正交,每个特征向量 $v_i$ 相对于剩余的 $(N - i + 1)$ 维子空间满足类似的性质。
2.3 核主成分分析(Kernel PCA)
设 $\tilde{\Phi}(x_i) = \Phi(x_i) - \frac{1}{m} \sum_{i = 1}^{m} \Phi(x_i)$ 为特征空间中数据的中心化版本,定义 $F_{\mathcal{H}} = {w | w \in \mathcal{H}, |w|^2 \leq 1}$ 为候选投影向量集。寻找第一个核 PCA 特征向量的问题可以表述为:
$v_1 = \arg\max_{v \in F_{\mathcal{H}}} \frac{1}{m} \sum_{i = 1}^{m} \langle v, \tilde{\Phi}(x_i) \rangle^2 = \arg\max_{v \in F_{\mathcal{H}}} \text{Var}(\langle v, \Phi(x_i) \rangle)$
从函数空间的角度来看,我们是在约束 $\Omega[f] = |f|^2_{\mathcal{H}} \leq 1$ 下寻找具有最大经验方差的函数 $f$,即希望 $f$ 不过于复杂。
2.4 稀疏核特征分析(Sparse KFA)
在监督学习中,通常通过对展开系数使用 $\ell_1$ 惩罚来实现稀疏解。在特征提取中,我们也采用相同的方法,选择 $\Omega[f] = \sum_{i = 1}^{m} |\beta_i|$,得到 $F_{LP} = {w | w = \sum_{i = 1}^{m} \beta_i \Phi(x_i), \sum_{i = 1}^{m} |\beta_i| \leq 1}$。第一个“主向量” $v_1$ 可以通过以下方式获得:
$v_1 = \arg\max_{v \in F_{LP}} \frac{1}{m} \sum_{i = 1}^{m} \left(\langle v, \Phi(x_i) \rangle - \frac{1}{m} \sum_{j = 1}^{m} \langle v, \Phi(x_j) \rangle\right)^2$
由于 $\ell_1$ 约束,该问题的解在系数 $\beta_i$ 方面是稀疏的,最优解是选择对应于单个模式的方向 $\Phi(x_i)$。
2.5 投影寻踪(Projection Pursuit)
投影寻踪与主成分分析的不同之处在于,它用不同的准则(如非高斯性)代替了最大方差准则。第一个主方向 $v_1$ 可以通过以下方式获得:
$v_1 = \arg\max_{|v|
2 = 1} \frac{1}{m} \sum
{i = 1}^{m} q(\langle v, \tilde{x}
i \rangle)$
更一般地,如果不同投影之间存在耦合,可以写成 $v_1 = \arg\max
{|v|_2 = 1} Q(\langle v, \tilde{x}_1 \rangle, \cdots, \langle v, \tilde{x}_m \rangle)$,其中 $q$ 和 $Q$ 是使结果函数 $f_1(x)$ 具有特定性质时最大化的函数。评估这些对比函数通常需要先计算 $\langle v, x_i \rangle$ 分布的密度估计,确定有趣方向的计算通常很昂贵,实用的投影寻踪工具使用梯度下降进行优化。
2.6 核投影寻踪(Kernel Projection Pursuit)
我们可以将 PCA、投影寻踪和核 PCA 作为特殊情况,得到一个通用的特征提取框架:
$f_1 = \arg\max_{f \in F} \frac{1}{m} \sum_{i = 1}^{m} q(f(x_i))$ 或更一般地 $f_1 = \arg\max_{f \in F} Q(f(x_1), \cdots, f(x_m))$
其中 $F = {f | f: \mathbb{R}^n \to \mathbb{R}, \Omega[f] \leq 1}$。如果 $F$ 是输入空间中的线性函数类,则可以恢复投影寻踪。
2.7 与监督学习的联系
特征提取问题与监督学习中的正则化风险泛函最小化问题有相似之处。在监督学习中,我们在约束 $\Omega[f] \leq c$ 下最小化经验风险 $R_{emp}[f]$;在特征提取中,我们在相同约束下最大化函数 $Q[f] = Q(f(x_1), \cdots, f(x_m))$。
| 任务 | 目标 | 约束 |
| — | — | — |
| 风险最小化 | 最小化 $R_{emp}[f]$ | $\Omega[f] \leq c$ |
| 特征提取 | 最大化 $Q[f]$ | $\Omega[f] \leq c$ |
然而,由于可能的特征提取器类别比投影寻踪中更大,我们必须小心选择 $Q$ 函数,避免选择使任何数据集都“有趣”的特征提取器。如果 $Q$ 不是凸函数,在极值点上进行最大搜索可能无法得到最佳解,会失去一些良好的理论性质。
2.8 特征提取框架流程
graph TD;
A[定义数据集和约束条件] --> B[选择特征提取方法(PCA、Kernel PCA、Sparse KFA、Projection Pursuit 等)];
B --> C[根据所选方法进行特征提取];
C --> D[评估提取的特征];
3. 不同特征提取方法的比较
3.1 性能指标对比
为了更直观地了解各种特征提取方法的特点,我们从计算复杂度、特征稀疏性、数据适应性等方面进行对比,具体如下表所示:
| 方法 | 计算复杂度 | 特征稀疏性 | 数据适应性 | 适用场景 |
| — | — | — | — | — |
| 主成分分析(PCA) | 相对较低,与数据维度和样本数量相关 | 通常为密集特征 | 线性数据 | 数据近似线性分布,对计算效率要求较高的场景 |
| 核主成分分析(Kernel PCA) | 较高,与样本大小成 $O(m^3)$ 比例 | 密集特征 | 非线性数据 | 数据具有非线性结构,需要挖掘潜在特征的场景 |
| 稀疏核特征分析(Sparse KFA) | 相对较低,在大规模数据集上有优势 | 稀疏特征 | 线性和非线性数据 | 希望减少特征数量,提高计算效率的场景 |
| 投影寻踪(Projection Pursuit) | 较高,计算有趣方向较昂贵 | 通常为密集特征 | 非高斯分布数据 | 数据分布非高斯,需要寻找特定特征的场景 |
3.2 实际应用效果对比
在实际应用中,不同的特征提取方法在不同的任务中表现各异。例如,在手写字符识别任务中,核主成分分析和稀疏核特征分析能够提取到更有效的非线性特征,从而提高分类准确率;而主成分分析在数据线性关系明显时,能够快速提取主要特征,适用于对计算速度要求较高的场景。
graph LR;
A[手写字符识别] --> B[Kernel PCA];
A --> C[Sparse KFA];
D[线性数据分类] --> E[PCA];
F[非高斯数据挖掘] --> G[Projection Pursuit];
4. 特征提取方法的选择策略
4.1 考虑数据特点
- 线性数据 :如果数据呈现明显的线性关系,主成分分析是一个不错的选择,它能够快速有效地提取主要特征,并且计算复杂度相对较低。
- 非线性数据 :对于具有非线性结构的数据,核主成分分析和稀疏核特征分析能够更好地挖掘数据的潜在特征。其中,核主成分分析可以通过选择合适的核函数来处理不同类型的非线性数据;而稀疏核特征分析则在需要减少特征数量时具有优势。
- 非高斯分布数据 :当数据分布非高斯时,投影寻踪方法能够根据特定的对比函数找到数据中的有趣特征,适用于需要挖掘数据特殊性质的场景。
4.2 考虑计算资源
- 计算资源充足 :如果计算资源充足,且数据量较小,可以选择核主成分分析等计算复杂度较高的方法,以获得更精确的特征提取结果。
- 计算资源有限 :在计算资源有限的情况下,稀疏核特征分析和主成分分析是更合适的选择,它们能够在保证一定特征提取效果的前提下,降低计算复杂度。
4.3 考虑应用场景
- 分类任务 :在分类任务中,选择能够提高分类准确率的特征提取方法至关重要。对于手写字符识别等非线性分类任务,核主成分分析和稀疏核特征分析通常能够取得较好的效果;而对于线性分类任务,主成分分析可能就足够了。
- 数据挖掘任务 :在数据挖掘任务中,需要根据挖掘的目标选择合适的特征提取方法。如果需要挖掘数据的非高斯特征,投影寻踪方法可能更适合;如果需要减少数据维度,主成分分析或稀疏核特征分析则是可行的选择。
graph TD;
A[数据特点] --> B[线性数据];
A --> C[非线性数据];
A --> D[非高斯数据];
B --> E[PCA];
C --> F[Kernel PCA];
C --> G[Sparse KFA];
D --> H[Projection Pursuit];
I[计算资源] --> J[充足];
I --> K[有限];
J --> F;
K --> E;
K --> G;
L[应用场景] --> M[分类任务];
L --> N[数据挖掘任务];
M --> F;
M --> G;
M --> E;
N --> H;
N --> E;
N --> G;
5. 总结
本文详细介绍了核主成分分析实验以及特征提取框架,包括主成分分析、核主成分分析、稀疏核特征分析、投影寻踪和核投影寻踪等方法。通过玩具示例和手写字符识别实验,展示了核主成分分析在非线性数据处理方面的优势。同时,分析了标准核主成分分析存在的问题,并提出了相应的解决方法。此外,还建立了一个通用的特征提取框架,将多种特征提取方法统一起来,并探讨了它们与监督学习的联系。
在实际应用中,我们可以根据数据特点、计算资源和应用场景等因素,选择合适的特征提取方法。例如,对于线性数据,主成分分析是一个简单有效的选择;对于非线性数据,核主成分分析和稀疏核特征分析能够挖掘更多的潜在特征;而对于非高斯分布数据,投影寻踪方法则能够找到数据中的特殊特征。通过合理选择特征提取方法,我们可以提高数据处理的效率和准确性,为后续的数据分析和机器学习任务奠定良好的基础。
未来,随着数据量的不断增加和数据结构的日益复杂,特征提取方法也将不断发展和完善。例如,如何进一步降低计算复杂度、提高特征提取的准确性和稀疏性,将是未来研究的重要方向。同时,结合深度学习等新兴技术,探索更强大的特征提取方法,也将为解决实际问题提供更多的可能性。
超级会员免费看
1048

被折叠的 条评论
为什么被折叠?



