核方法:Kernel Fisher判别与贝叶斯核方法解析
1. Kernel Fisher判别(KFD)算法概述
Kernel Fisher判别(KFD)分析可看作是支持向量机(SVM)分类器和核主成分分析(Kernel PCA)的融合。它与其他分类器一样,会考虑数据的标签 $y_i$;和PCA类似,通过最大化一个涉及方差的准则,在数据集中找到一个“有趣”的方向。并且,KFD分析和SVM、Kernel PCA一样,在由核函数诱导的特征空间中进行操作。
1.1 实验示例
1.1.1 玩具示例
使用一个玩具数据集来阐释KFD算法。实验采用高斯核函数:
[k(x, x’) = \exp\left(-\frac{|x - x’|^2}{c}\right)]
对同一玩具数据集进行三次KFD算法运行,每次使用不同的 $c$ 值:
-
大 $c$ 值
:诱导的特征空间几何形状与输入空间相似,算法计算出的判别函数几乎是线性的。对于线性不可分的问题,这种情况显然不合适。
-
小 $c$ 值
:核函数变得非常局部化,算法开始记忆数据。
-
中等核宽度
:可以计算出良好的非线性分离。
在KFD中,不存在位于边界上的支持向量的几何概念,因为该算法不使用边界。
1.1.2 基准测试结果
对KFD在真实世界数据上的应用进行了广泛的基准测试比较,涉及13个不同的基准数据集,与支持向量机(SVM)、单一径向基函数分类器(RBF)、AdaBoost(AB)和正则化AdaBoost(ABR)进行对比,结果如下表所示:
| 数据集 | SVM | KFD | RBF | AB | ABR |
| — | — | — | — | — | — |
| Banana | 11.5±0.07 | 10.8±0.05 | 10.8±0.06 | 12.3±0.07 | 10.9±0.04 |
| Breast Cancer | 26.0±0.47 | 25.8±0.46 | 27.6±0.47 | 30.4±0.47 | 26.5±0.45 |
| Diabetes | 23.5±0.17 | 23.2±0.16 | 24.3±0.19 | 26.5±0.23 | 23.8±0.18 |
| German | 23.6±0.21 | 23.7±0.22 | 24.7±0.24 | 27.5±0.25 | 24.3±0.21 |
| Heart | 16.0±0.33 | 16.1±0.34 | 17.6±0.33 | 20.3±0.34 | 16.5±0.35 |
| Image | 3.0±0.06 | 3.3±0.06 | 3.3±0.06 | 2.7±0.07 | 2.7±0.06 |
| Ringnorm | 1.7±0.01 | 1.5±0.01 | 1.7±0.02 | 1.9±0.03 | 1.6±0.01 |
| F. Sonar | 32.4±0.18 | 33.2±0.17 | 34.4±0.20 | 35.7±0.18 | 34.2±0.22 |
| Splice | 10.9±0.07 | 10.5±0.06 | 10.0±0.10 | 10.1±0.05 | 9.5±0.07 |
| Thyroid | 4.8±0.22 | 4.2±0.21 | 4.5±0.21 | 4.4±0.22 | 4.6±0.22 |
| Titanic | 22.4±0.10 | 23.2±0.20 | 23.3±0.13 | 22.6±0.12 | 22.6±0.12 |
| Twonorm | 3.0±0.02 | 2.6±0.02 | 2.9±0.03 | 3.0±0.03 | 2.7±0.02 |
| Waveform | 9.9±0.04 | 9.9±0.04 | 10.7±0.11 | 10.8±0.06 | 9.8±0.08 |
从表中可以看出,KFD的表现非常出色,即使与最先进的分类器如AdaBoost和SVM相比也是如此。
1.2 KFD算法流程
graph TD;
A[输入数据集] --> B[选择高斯核函数及参数c];
B --> C[计算核矩阵];
C --> D[在特征空间中计算Fisher判别];
D --> E[得到判别函数];
E --> F[对新数据进行分类];
2. 贝叶斯核方法概述
贝叶斯学习方法与风险最小化框架有一些根本的区别。其关键区别在于,贝叶斯方法允许将先验知识非常直观地融入到估计过程中。此外,在贝叶斯框架内,可以获得对估计过程本身的置信度和可靠性的估计,这些估计计算起来相对容易,不像在某些情况下遇到的一致收敛类型的界限。
2.1 贝叶斯估计的基本假设
2.1.1 似然性
假设给定一个假设 $f$ 以及关于将 $x$ 映射到 $y$ 的过程的信息。可以通过分布 $P(y|x, f(x))$ 以及如果存在密度则通过 $p(y|x, f(x))$ 来形式化这个过程。与之前的推理不同的是,假设分布 $P(y|x, f(x))$ 是已知的(在某些情况下,通过使用超参数可以放宽到对参数族的了解)。
给出几个例子来说明:
-
风速观测
:$f(x)$ 是位置 $x$ 处的真实风速,$y$ 是观测到的风速,观测受到测量过程中的误差(仪器不精确、操作不当等)的影响。即 $y = f(x) + \epsilon$,其中 $\epsilon$ 是建模噪声过程的随机变量,$P(y|x, f(x)) = P(y - f(x))$。
-
图像像素
:$y$ 和 $f(x)$ 是二进制变量,如图像上的黑白像素。例如,$f(x)$ 是位置 $x$ 处像素的颜色,$y$ 是通过(有噪声的)传真传输接收到的图像副本上该像素的颜色。此时只需考虑概率 $P(y|f(x))$,其中 $y, f(x) \in {-1, 1}$。
-
癌症预测
:想要根据一组医学观察 $x$ 来建模患者患癌症的概率 $P(y = \text{cancer}|x)$,可以使用一个函数依赖 $f(x)$,通过转移函数将其转换为 $P(y|x)$。
给出三种转移函数的例子:
-
逻辑转移函数
:
[P(y = 1|x, f(x)) = \frac{\exp(f(x))}{1 + \exp(f(x))}]
逻辑回归与此等价于建模:
[f(x) = \ln\frac{p(y = 1|f(x))}{p(y = -1|f(x))}]
-
Probit
:假设 $y$ 由 $f$ 的符号给出,但受到高斯噪声的影响,即 $y = \text{sgn}(f(x) + \epsilon)$,其中 $\epsilon \sim \mathcal{N}(0, \sigma^2)$。则有:
[p(y|f(x)) = \int \frac{\text{sgn}(yf(x) + \epsilon) + 1}{2} p(\epsilon) d\epsilon = \Phi\left(\frac{yf(x)}{\sigma}\right)]
其中 $\Phi$ 是正态分布的分布函数。
-
标签噪声
:在存在随机标签噪声的情况下进行分类(可能除了之前讨论的噪声模型 $p_0(y|t)$),以概率 $2\zeta$ 随机分配标签(相当于以概率 $\zeta$ 随机翻转标签)。则有:
[p(y|f(x)) = \zeta + (1 - 2\zeta)p_0(y|f(x))]
当数据是独立同分布生成时,似然性可以分解为:
[P(Y|X, f) = \prod_{i = 1}^{m} P(y_i|x_i, f(x_i))]
2.1.2 先验分布
在解决实际估计问题时,通常对预期的结果有一些先验知识,例如对平滑估计的期望、对特定参数形式的偏好,或者输入 $x_i$ 的某些维度之间或不同位置的预测之间的首选相关性。以下是一些先验分布的例子:
-
参数先验
:已知 $f$ 是 $\sin x$、$\cos x$、$\sin^2 x$ 和 $\cos^2 x$ 的线性组合,且系数从区间 $[-1, 1]$ 中选择。则密度 $p(f)$ 可以写为:
[p(f) =
\begin{cases}
\frac{1}{16} & \text{如果 } f = \beta_1 \sin x + \beta_2 \cos x + \beta_3 \sin^2 x + \beta_4 \cos^2 x, \text{ 其中 } \beta_i \in [-1, 1] \
0 & \text{否则}
\end{cases}
]
-
函数值的先验
:对 $f$ 了解不多,只知道其值 $f(x_i)$ 是相关的,并且根据零均值和协方差矩阵 $K$ 的高斯分布分布。对于三个值(用 $f_i$ 作为简写),有:
[p(f_1, f_2, f_3) = \frac{1}{\sqrt{(2\pi)^3 \det K}} \exp\left(-\frac{1}{2}(f_1, f_2, f_3) K^{-1} (f_1, f_2, f_3)^T\right)]
协方差矩阵 $K$ 的非对角元素越大,相应的函数值 $f(x_i)$ 和 $f(x_j)$ 相关性越强。
-
非参数先验
:只知道平滑且值小的函数更有可能出现。可以假设函数出现的先验概率仅取决于其 $L^2$ 范数和其一阶导数的 $L^2$ 范数,即:
(-\ln p(f) = c + |f|^2 + |\frac{\partial f}{\partial x}|^2)
2.1.3 贝叶斯规则与推理
根据贝叶斯规则,结合条件概率和先验概率:
[p(Y|f, X)p(f) = p(Y, f|X)]
同时,也可以将 $p(Y, f|X)$ 分解为:
[p(f|Y, X)p(Y) = p(Y, f|X)]
通过组合这两个式子,可以得到贝叶斯规则:
[p(f|X, Y) = \frac{p(Y|f, X)p(f)}{p(Y)}]
由于 $f$ 不进入 $p(Y)$,可以简化为:
[p(f|X, Y) \propto p(Y|f, X)p(f)]
为了评估哪个假设 $f$ 更有可能出现,只需分析 $p(Y|f, X)p(f)$。此外,可以通过计算上式右边的归一化因子来恢复 $p(Y)$。最后,$p(f|X, Y)$ 还可以用于预测新位置 $x$ 处的 $y$:
[p(y|X, Y, x) = \int p(y|f, x)p(f|X, Y) df]
可以计算观测值 $y(x)$ 的期望值:
[\hat{y}(x) = E[y(x)|Z]]
并通过尾部界限来指定对估计的置信度:
[P\left(\left|y(x) - E[y(x)|Z]\right| > \delta|Z\right) \leq \epsilon]
然而,评估这个界限通常计算成本较高,在大多数情况下不能进行解析计算,因此需要使用近似方法。
2.2 贝叶斯核方法流程
graph TD;
A[输入数据集] --> B[确定似然函数和先验分布];
B --> C[根据贝叶斯规则计算后验分布];
C --> D[使用近似方法进行推理];
D --> E[得到预测结果];
3. 贝叶斯核方法的具体类型
3.1 高斯过程
高斯过程假设相邻系数是相关的。在理论上,我们已知函数值 $f(x_i)$ 是相关的,并且根据零均值和协方差矩阵 $K$ 的高斯分布分布,如之前提到的:
[p(f_1, f_2, f_3) = \frac{1}{\sqrt{(2\pi)^3 \det K}} \exp\left(-\frac{1}{2}(f_1, f_2, f_3) K^{-1} (f_1, f_2, f_3)^T\right)]
这里的协方差矩阵 $K$ 与再生核希尔伯特空间和正则化理论中使用的核矩阵相同。
在实现方面,需要一些优化知识,如牛顿法和稀疏贪婪方法。其实现流程如下:
graph TD;
A[输入数据集] --> B[确定协方差矩阵K];
B --> C[根据高斯分布计算函数值的概率];
C --> D[使用优化方法进行参数估计];
D --> E[得到预测模型];
E --> F[对新数据进行预测];
3.2 拉普拉斯过程
拉普拉斯过程假设估计可以展开为核函数的稀疏线性组合,因此更倾向于这样的假设。它的特点在于能够在保证一定精度的情况下,减少不必要的核函数的使用,从而提高计算效率。
其流程如下:
graph TD;
A[输入数据集] --> B[选择核函数];
B --> C[构建稀疏线性组合模型];
C --> D[优化模型参数];
D --> E[得到稀疏回归模型];
E --> F[对新数据进行预测];
3.3 相关向量机
相关向量机假设每个核函数的贡献由具有自己方差的正态分布控制。与其他方法相比,它能够自动选择相关的核函数,减少模型的复杂度。
其工作流程如下:
graph TD;
A[输入数据集] --> B[初始化核函数的方差];
B --> C[计算每个核函数的贡献];
C --> D[选择相关的核函数];
D --> E[训练模型];
E --> F[对新数据进行预测];
4. KFD与贝叶斯核方法的对比
4.1 性能对比
| 方法 | 优点 | 缺点 |
|---|---|---|
| KFD | 与SVM分类器表现相当,在某些问题上略好;可进行概率解释 | 训练程序不如SVM成熟,对于大规模数据集的竞争力有待提高 |
| 贝叶斯核方法 | 能直观融入先验知识,可获得估计过程的置信度和可靠性估计 | 部分计算需要近似方法,计算复杂度可能较高 |
4.2 应用场景对比
- KFD :适用于中等规模问题,尤其是对分类性能要求较高且对概率解释有需求的场景。
- 贝叶斯核方法 :在有先验知识可利用的情况下表现出色,可根据不同的先验分布假设(如高斯过程、拉普拉斯过程、相关向量机)应用于不同类型的问题。
5. 总结
Kernel Fisher判别(KFD)分析是一种融合了SVM分类器和Kernel PCA特点的算法,在一些基准测试中表现良好,但训练程序有待进一步完善。贝叶斯核方法则通过将先验知识融入估计过程,为学习问题提供了新的视角,并且能够获得对估计过程的置信度和可靠性估计。
两种方法各有优缺点,适用于不同的应用场景。在实际应用中,可以根据问题的特点、数据规模以及对模型性能和解释性的需求,选择合适的方法。同时,随着技术的不断发展,这些方法的性能和应用范围也有望得到进一步的提升和拓展。
以下是一个总结两种方法关键步骤的表格:
| 方法 | 关键步骤 |
| — | — |
| KFD | 选择高斯核函数及参数c,计算核矩阵,在特征空间中计算Fisher判别,得到判别函数,对新数据进行分类 |
| 贝叶斯核方法 | 确定似然函数和先验分布,根据贝叶斯规则计算后验分布,使用近似方法进行推理,得到预测结果 |
通过对这两种方法的深入了解和合理应用,能够更好地解决各种分类和回归问题。
超级会员免费看
1567

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



