预图像与简化集方法详解
在机器学习领域,核算法是一类强大的工具,它通过使用核函数将数据映射到高维特征空间,以处理复杂的非线性问题。然而,核算法的解通常以映射到特征空间的输入模式的展开形式表示,这就引出了预图像问题和简化集方法。下面将详细介绍这些概念及其应用。
1. 核算法基础
在输入空间中使用核函数 (k) 而非点积,相当于通过映射 (\varPhi:\mathcal{X}\to\mathcal{H}) 将数据映射到一个点积空间 (\mathcal{H}) 中,并在该空间中进行点积运算,即:
[k(x,x’) = \langle\varPhi(x),\varPhi(x’)\rangle]
这种方式使得在特征空间 (\mathcal{H}) 中的所有计算都是隐式进行的。但代价是,核算法的解只能以映射到特征空间的输入模式的展开形式获得。例如,支持向量机(SVM)超平面的法向量可以表示为支持向量的展开形式,核主成分分析(Kernel PCA)的特征提取器也可以用训练样本表示:
[\varPsi = \sum_{i = 1}^{m}\alpha_{i}\varPhi(x_{i})]
2. 预图像问题
预图像问题是指寻找输入空间中映射到特征空间中特定向量的模式。这一问题在核主成分分析去噪等方面有应用。
2.1 精确预图像
核算法的解以映射输入点的展开形式表示,但由于映射 (\varPhi) 是非线性的,并非每个这样的展开都有在 (\varPhi) 下的预图像。若预图像存在,则可通过以下命题计算:
命题 18.1(精确预图像)
:考虑特征空间展开 (\varPsi=\sum_{j = 1}^{m}\alpha_{j}\varPhi(x_{j})),其中 (x_{j}\in\mathcal{X})。假设 (\mathcal{X}) 是 (\mathbb{R}^{N}) 的子集,若存在 (z\in\mathbb{R}^{N}) 使得 (\varPhi(z)=\varPsi),且存在可逆函数 (f_{k}) 使得 (k(x,x’) = f_{k}(\langle x,x’\rangle)),则可计算 (z) 为:
[z=\sum_{i = 1}^{N}f_{k}^{-1}\left(\sum_{j = 1}^{m}\alpha_{j}k(x_{j},e_{i})\right)e_{i}]
其中 ({e_{1},\cdots,e_{N}}) 是输入空间的任意一组正交基。
一些核函数,如多项式核 (k(x,x’) = (\langle x,x’\rangle + c)^{d})((c\geq0),(d) 为奇数)、Sigmoid 核 (k(x,x’)=\tanh(\gamma\langle x,x’\rangle+\theta)) 以及径向基函数(RBF)核,在满足一定条件下,可使用该命题计算精确预图像。但不幸的是,很多情况下预图像并不存在,例如高斯核,由于高斯函数不能表示为不同中心高斯函数的线性组合,除了只有一项的平凡情况,其他展开式通常没有精确预图像。
2.2 近似预图像
由于精确预图像在一般情况下无法求解,因此我们尝试寻找近似预图像。若 (z\in\mathbb{R}^{N}) 使得 (\epsilon(z)=|\varPsi - \varPhi(z)|^{2}) 很小,则称 (z) 为 (\varPsi) 的近似预图像。
核主成分分析(Kernel PCA)提供的投影 (P_{n}\varPhi(x)=\sum_{j = 1}^{n}\langle\varPhi(x),v_{j}\rangle v_{j}) 具有最优近似性质。对于从与训练样本相同分布中抽取的 (x),(P_{n}\varPhi(x)) 有望有较好的近似预图像。近似预图像有以下应用:
-
去噪
:给定有噪声的 (x),将其映射到 (\varPhi(x)),丢弃对应特征值 (\lambda_{n + 1},\cdots,\lambda_{m}) 的分量得到 (P_{n}\varPhi(x)),然后计算预图像 (z)。期望数据集的主要结构在特征空间的前 (n) 个方向上被捕获,其余分量主要是噪声,因此 (z) 可视为 (x) 的去噪版本。
-
压缩
:给定核主成分分析的特征向量和 (\varPhi(x)) 的少量特征 (P_{n}\varPhi(x)),计算预图像作为 (x) 的近似重建。当 (n) 小于输入数据的维数时,这种方法很有用。
-
解释
:通过计算预图像来可视化非线性特征提取器 (v_{j})。
3. 寻找近似预图像
3.1 最小化投影距离
我们考虑一个比预图像问题更一般的问题:给定核展开 (\varPsi=\sum_{i = 1}^{N_{x}}\alpha_{i}\varPhi(x_{i})),尝试用 (\varPsi’=\tau\varPhi(z)) 近似它。为了最小化 (|\varPsi - \varPsi’|^{2}),我们可以最小化 (\varPsi) 到 (\text{span}(\varPhi(z))) 的正交投影的距离,即最大化:
[\frac{\langle\varPsi,\varPhi(z)\rangle^{2}}{\langle\varPhi(z),\varPhi(z)\rangle}]
这可以用核函数表示。找到该式的最大值后,通过 (\tau=\frac{\langle\varPsi,\varPhi(z)\rangle}{\langle\varPhi(z),\varPhi(z)\rangle}) 扩展到最小化 (|\varPsi - \varPsi’|^{2})。该函数可以使用无约束非线性优化的标准技术,或者对于特定的核函数,使用定点迭代方法求解。
3.2 RBF 核的定点迭代方法
对于满足 (k(z,z) = 1)(如高斯核和其他归一化 RBF 核)的核函数,上述目标函数简化为 (\langle\varPsi,\varPhi(z)\rangle^{2})。对其求极值可得:
[0=\nabla_{z}\langle\varPsi,\varPhi(z)\rangle^{2}=2\langle\varPsi,\varPhi(z)\rangle\nabla_{z}\langle\varPsi,\varPhi(z)\rangle]
对于 (k(x_{i},z)=k(|x_{i}-z|^{2}))(如高斯核),有:
[0=\sum_{i = 1}^{N_{x}}\alpha_{i}k’(|x_{i}-z|^{2})(x_{i}-z)]
从而得到 (z) 的迭代公式:
[z=\frac{\sum_{i = 1}^{N_{x}}\alpha_{i}k’(|x_{i}-z|^{2})x_{i}}{\sum_{i = 1}^{N_{x}}\alpha_{i}k’(|x_{i}-z|^{2})}]
对于高斯核 (k(x_{i},z)=\exp\left(-\frac{|x_{i}-z|^{2}}{2\sigma^{2}}\right)),迭代公式为:
[z_{n + 1}=\frac{\sum_{i = 1}^{N_{x}}\alpha_{i}\exp\left(-\frac{|x_{i}-z_{n}|^{2}}{2\sigma^{2}}\right)x_{i}}{\sum_{i = 1}^{N_{x}}\alpha_{i}\exp\left(-\frac{|x_{i}-z_{n}|^{2}}{2\sigma^{2}}\right)}]
该迭代公式可在聚类的背景下解释,它确定一个单一高斯聚类的中心,试图捕获尽可能多的正 (\alpha_{i}) 对应的 (x_{、i}),同时避免负 (\alpha_{i}) 对应的 (x_{i})。
3.3 实验示例
- 玩具示例 :使用由三个高斯分布生成的人工数据集进行核主成分分析实验。结果表明,丢弃高阶主成分可以去除高斯分布非零方差带来的噪声。在二维去噪实验中,与线性主成分分析、非线性自编码器和主曲线等方法相比,核主成分分析在处理封闭正方形问题上表现最好。
- 手写数字去噪 :使用美国邮政服务(USPS)手写数字数据库进行实验。对测试模式添加高斯噪声和“斑点”噪声,分别使用线性主成分分析和核主成分分析进行处理。当使用最优数量的分量时,核主成分分析的去噪效果明显优于线性主成分分析。这是因为线性主成分分析最多只能提取 (N) 个分量,而核主成分分析可以提取多达 (m)(训练样本数量)个特征,并且能够处理非线性结构。
4. 简化集方法
在手写数字 MNIST 基准数据集上,支持向量机(SVM)虽然准确率高,但在运行时分类速度上不如神经网络。为了提高速度,我们希望使支持向量展开更稀疏,这就引出了简化集方法。
4.1 问题描述
给定一个向量 (\varPsi\in\mathcal{H}),它以输入模式 (x_{i}\in\mathcal{X}) 的映射图像展开:
[\varPsi=\sum_{i = 1}^{N_{x}}\alpha_{i}\varPhi(x_{i})]
我们尝试用简化集展开 (\varPsi’) 近似 (\varPsi):
[\varPsi’=\sum_{i = 1}^{N_{z}}\tau_{i}\varPhi(z_{i})]
其中 (N_{z}<N_{x}),(\tau_{i}\in\mathbb{R}),(z_{i}\in\mathcal{X})。为了实现这一目标,我们需要最小化:
[|\varPsi - \varPsi’|^{2}=\sum_{i,j = 1}^{N_{x}}\alpha_{i}\alpha_{j}k(x_{i},x_{j})+\sum_{i,j = 1}^{N_{z}}\tau_{i}\tau_{j}k(z_{i},z_{j})-2\sum_{i = 1}^{N_{x}}\sum_{j = 1}^{N_{z}}\alpha_{i}\tau_{j}k(x_{i},z_{j})]
关键在于,即使 (\varPhi) 未明确给出,上式也可以用核函数计算和最小化。
4.2 寻找系数
简化集问题包括确定简化集向量 (z_{i}) 和计算展开系数 (\tau_{i}) 两部分。我们先从计算系数开始。
下面是一个总结上述过程的表格:
|方法|描述|应用场景|
| ---- | ---- | ---- |
|精确预图像|若存在预图像,可通过特定公式计算|适用于满足特定条件的核函数,如多项式核、Sigmoid 核等|
|近似预图像|通过最小化投影距离等方法寻找|用于去噪、压缩、解释等场景|
|简化集方法|用简化集展开近似特征空间向量|提高支持向量机的运行速度|
以下是一个 mermaid 流程图,展示了寻找近似预图像的过程:
graph TD;
A[给定核展开 Ψ] --> B[考虑用 Ψ' = τΦ(z) 近似 Ψ];
B --> C[最小化投影距离];
C --> D{核函数类型};
D -- RBF 核 --> E[使用定点迭代方法];
D -- 其他 --> F[使用标准非线性优化技术];
E --> G[得到近似预图像 z];
F --> G;
通过上述方法,我们可以在核算法中更好地处理预图像问题和提高算法速度,从而在实际应用中取得更好的效果。在后续部分,我们将继续探讨简化集向量的确定以及这些方法在更多场景中的应用。
预图像与简化集方法详解
4.3 确定简化集向量
确定简化集向量 (z_{i}) 是简化集方法中的关键步骤,通常有两种主要方式:从训练集中选择和构造合成扩展模式。
-
从训练集中选择
:这种方法直接从训练集中挑选合适的向量作为简化集向量。其优点是简单直接,利用了已有的训练数据。例如,可以根据某些准则(如向量与目标向量的相关性、向量的代表性等)从训练集中筛选出部分向量组成简化集。
-
构造合成扩展模式
:该方法不局限于训练集,而是通过一定的算法构造出全新的向量作为简化集向量。这种方式可能需要更复杂的算法设计,但有可能得到更优的简化集。例如,可以基于训练数据的分布特征,使用聚类、生成模型等方法生成合成向量。
4.4 简化集方法在 SVM 中的应用
将简化集方法应用于支持向量机(SVM)的解向量时,可以显著提高其运行速度。在一些对测试集速度要求较高的任务中,如人脸检测,这一优势尤为关键。具体操作步骤如下:
1.
确定简化集
:根据上述确定简化集向量的方法,从训练集中选择或构造出简化集向量 (z_{i})。
2.
计算展开系数
:通过最小化 (|\varPsi - \varPsi’|^{2}) 来计算简化集展开的系数 (\tau_{i})。
3.
使用简化集进行分类
:在测试阶段,使用简化集展开 (\varPsi’) 代替原始的支持向量展开 (\varPsi) 进行分类决策。
以下是一个表格,总结了简化集方法在 SVM 中的应用步骤:
|步骤|操作|
| ---- | ---- |
|1|确定简化集向量 (z_{i}),可从训练集中选择或构造合成扩展模式|
|2|计算简化集展开系数 (\tau_{i}),通过最小化 (|\varPsi - \varPsi’|^{2})|
|3|在测试阶段,使用简化集展开 (\varPsi’) 进行分类决策|
5. 方法总结与对比
为了更清晰地理解预图像问题和简化集方法,下面对相关方法进行总结和对比。
5.1 预图像方法对比
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 精确预图像 | 计算结果准确,若存在预图像可得到精确解 | 很多情况下预图像不存在,适用范围有限 | 满足特定条件的核函数,如多项式核、Sigmoid 核等 |
| 近似预图像 | 可处理大多数情况,有多种应用场景 | 只能得到近似解 | 去噪、压缩、解释等场景 |
5.2 简化集方法对比
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 从训练集中选择 | 简单直接,利用已有训练数据 | 可能无法得到最优简化集 | 对速度提升要求不高,训练数据具有代表性的场景 |
| 构造合成扩展模式 | 有可能得到更优的简化集 | 算法设计复杂 | 对速度提升要求较高,需要更精确简化集的场景 |
6. 总结与展望
预图像问题和简化集方法在核算法中具有重要的应用价值。通过寻找近似预图像,我们可以实现数据去噪、压缩和特征解释等功能;通过简化集方法,我们可以提高支持向量机等算法的运行速度。
在实际应用中,需要根据具体问题和数据特点选择合适的方法。例如,在处理具有非线性结构的数据时,核主成分分析和核算法的优势更为明显;在对速度要求较高的任务中,简化集方法可以显著提高算法的效率。
未来,随着机器学习技术的不断发展,预图像问题和简化集方法可能会在更多领域得到应用,并且可能会有更高效、更准确的算法被提出。例如,结合深度学习的方法,可能会进一步提高预图像的求解精度和简化集的构造质量。
以下是一个 mermaid 流程图,展示了整个预图像与简化集方法的流程:
graph LR;
A[核算法基础] --> B[预图像问题];
B --> B1[精确预图像];
B --> B2[近似预图像];
B2 --> C[寻找近似预图像];
C --> C1[最小化投影距离];
C1 --> C2{RBF 核?};
C2 -- 是 --> C3[定点迭代方法];
C2 -- 否 --> C4[标准非线性优化技术];
C3 --> D[实验验证];
C4 --> D;
D --> E[简化集方法];
E --> E1[确定简化集向量];
E1 --> E11[从训练集中选择];
E1 --> E12[构造合成扩展模式];
E --> E2[计算展开系数];
E11 --> E3[应用于 SVM];
E12 --> E3;
E2 --> E3;
通过对预图像问题和简化集方法的深入研究和应用,我们可以更好地发挥核算法的优势,解决实际问题中的复杂挑战。希望本文能够为相关领域的研究和实践提供有益的参考。
超级会员免费看
686

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



