40、核函数设计:从理论到应用

核函数设计:从理论到应用

1. ANOVA核函数

ANOVA核函数在核函数设计中有着独特的地位。当参数 (D = N) 时,核函数 (k) 等于张量积 (k^{(1)}\otimes\cdots\otimes k^{(N)});而当 (D = 1) 时,(k) 则变为直接和 (k^{(1)}+\cdots + k^{(N)})。对于 (1 < D < N) 的中间值,核函数处于张量积和直接和之间。

ANOVA核函数通常使用适中的 (D) 值,它指定了我们感兴趣的属性 (x_{id}) 之间的交互顺序。在计算时,需要对考虑 (D) 阶交互的众多项进行求和。不过,通过利用递归过程进行核评估,可以降低计算成本。

在多维支持向量回归问题中,ANOVA核函数表现出色。例如,输入为 (N) 维向量时,所有的 (k^{(n)}) 都选择为具有无限节点的一维线性样条核函数,其形式为:
[k^{(n)}(x,x’) = \frac{\min(x,x’)^3}{3}+\frac{\min(x,x’)^2|x - x’|}{2}+1+xx’,\quad n = 1,\cdots,N]
需要注意的是,建议为 (k^{(n)}) 选择一个很少或从不取零值的核函数,因为单个零项会消除乘积项。此外,ANOVA核函数是 (R) - 卷积的特殊情况。

2. 字符串核函数

支持向量机在文本分类中常用的一种方法是词袋表示法。它将给定文本映射为稀疏向量,向量的每个分量对应一个单词,当相关单词出现在文本中时,该分量设为 1(或其他数字)。利用高效的稀疏表示,两个这样的向量之间的点积可以快速计算,这个点积就是一个有效的核函数,称为稀疏向量核。然而,它的一个缺点是没有考虑文档的词序。

为了更有效地处理字符串数据,提出了一种更复杂的方法。其基本思想是通过比较字符串包含的子串来衡量它们的相似性,子串不必连续,且子串首尾元素距离越远,相似性权重越低。

下面详细介绍这种核函数:
- 定义相关集合和符号 :考虑有限字母表 (\Sigma),长度为 (n) 的所有字符串集合 (\Sigma_n),以及所有有限字符串集合 (\Sigma^ =\bigcup_{n = 0}^{\infty}\Sigma_n)。字符串 (s\in\Sigma^ ) 的长度记为 (|s|),元素记为 (s(1),\cdots,s(|s|)),(s) 和 (t\in\Sigma^ ) 的连接记为 (st)。
-
构建子序列 :给定索引序列 (i=(i_1,\cdots,i_{|u|})),其中 (1\leq i_1<\cdots < i_{|u|}\leq|s|),定义子序列 (u = s(i)=s(i_1)\cdots s(i_{|u|})),子序列在 (s) 中的长度 (l(i)=i_{|u|}-i_1 + 1)。
-
定义特征空间和特征映射 :长度为 (n) 的字符串构建的特征空间定义为 (\mathcal{H} n=\ell^2(\Sigma_n))。对于每个 (u\in\Sigma_n),特征映射的坐标表示为 ([\Phi_n(s)]_u=\sum {i:s(i)=u}\lambda^{l(i)}),其中 (0 < \lambda\leq1) 是衰减参数。
-
定义字符串核函数 *:由映射 (\Phi_n) 诱导的核函数形式为 (k_n(s,t)=\sum_{u\in\Sigma_n}[\Phi_n(s)] u[\Phi_n(t)]_u=\sum {u\in\Sigma_n}\sum_{(i,j):s(i)=t(j)=u}\lambda^{l(i)}\lambda^{l(j)})。为了考虑不同长度的字符串,使用线性组合 (k=\sum_{n}c_nk_n),其中 (c_n>0)。同时,建议对特征映射进行归一化,即使用 (\frac{\Phi(t)}{|\Phi(t)|}),对于核函数则使用 (\frac{k(s,t)}{\sqrt{k(s,s)k(t,t)}})。

为了实际计算 (k_n),定义 (k_i’(s,t)=\sum_{u\in\Sigma_i}\sum_{(i,j):s(i)=t(j)=u}\lambda^{|s|+|t|-i_1 - j_1+2}),并通过以下递归式计算:
[
\begin{cases}
k_0’(s,t)=1,\quad \text{对所有 }s,t\
k_i’(s,t)=0,\quad \text{如果 }\min(|s|,|t|)<i\
k_i(s,t)=0,\quad \text{如果 }\min(|s|,|t|)<i\
k_i’(sx,t)=\lambda k_i’(s,t)+\sum_{j:t_j=x}k_{i - 1}’(s,t[1,\cdots,j - 1])\lambda^{|t|-j + 2},\quad i = 1,\cdots,n - 1\
k_n(sx,t)=k_n(s,t)+\sum_{j:t_j=x}k_{n - 1}’(s,t[1,\cdots,j - 1])\lambda^2
\end{cases}
]

3. 局部改进核函数
3.1 图像处理中的局部改进核函数

在支持向量机分类器中使用核函数 (k(x,x’)=\langle x,x’\rangle^d) 会隐式地在所有可能的 (d) 个像素乘积的空间中形成决策边界。但在实际图像中,短距离的相关性比长距离的相关性更可靠。因此,定义了核函数 (k_{d_1,d_2}^p):
1. 计算第三张图像 :计算 (x) 和 (x’) 的逐像素乘积得到 ((x\odot x’))。
2. 采样 :使用直径为 (p) 的金字塔形感受野对 ((x\odot x’)) 进行采样,以所有位置 ((i,j)) 为中心,得到值 (z_{ij}=\sum_{i’,j’}w(\max(|i - i’|,|j - j’|))(x\odot x’) {i’j’})。其中,一种可能的加权函数 (w(n)=\max(q - n,0)),此时 (p = 2q+1) 是金字塔形感受野的宽度。
3. 考虑局部相关性 :将每个 (z
{ij}) 提升到 (d_1) 次幂,以考虑金字塔范围内的局部相关性。
4. 考虑长距离相关性 :将 (z_{ij}^{d_1}) 在整个图像上求和,并将结果提升到 (d_2) 次幂,以允许 (d_2) 阶的长距离相关性。

得到的核函数阶数为 (d_1d_2),但除非 (d_1 = 1),否则它不包含 (d_1d_2) 个像素的所有可能相关性。当 (d_1 = 1) 时,就恢复为标准的 (d_2) 次完全多项式核函数。

在小MNIST数据库上的实验结果表明,使用金字塔形感受野核函数 (k_{d_1,d_2}^p)(直径 (p = 9),(d_1d_2 = 4))可以提高分类性能。例如,(d_1 = d_2 = 2) 时,错误率为 (3.1\%);(d_1 = 4),(d_2 = 1) 时,错误率为 (3.4\%)。而使用图像平移生成虚拟支持向量的方法错误率为 (2.8\%),将两者结合可以得到最佳性能,错误率为 (2.0\%)。具体结果如下表所示:
| 分类器 | 测试错误率(%) |
| ---- | ---- |
| SV(4次完全多项式核) | 4.0 |
| 半局部核 (k_{2,2}^9) | 3.1 |
| 纯局部核 (k_{4,1}^9) | 3.4 |
| 带平移的虚拟SV | 2.8 |
| 带 (k_{2,2}^9) 的虚拟SV | 2.0 |

下面是图像处理局部改进核函数计算的流程图:

graph TD;
    A[输入图像x和x'] --> B[计算x⊙x'];
    B --> C[使用金字塔形感受野采样];
    C --> D[计算zij];
    D --> E[zij提升到d1次幂];
    E --> F[求和并提升到d2次幂];
    F --> G[输出核函数值];
3.2 DNA起始密码子识别中的局部改进核函数

在计算生物学中,识别翻译起始位点(TIS)是一个关键问题。可以将寻找TIS的任务建模为分类问题,使用支持向量机进行分类。在TIS识别任务中,结合生物学知识设计合适的核函数非常有用。以下是三种对核函数的修改:
- 局部改进DNA核函数 :在每个序列位置,在长度为 (2l + 1) 的小窗口内局部比较两个序列。对匹配的核苷酸进行求和,并乘以从窗口边界到中心递增的权重 (\omega_j),将结果提升到 (d_1) 次幂。
[win_p(x,x’)=\left(\sum_{j=-l}^{l}\omega_jmatch_{p + j}(x,x’)\right)^{d_1}]
其中,(match_{p + j}(x,x’)) 在位置 (p + j) 的核苷酸匹配时为 1,否则为 0。然后将 (win_p) 计算的窗口得分在整个序列长度上求和,并将结果提升到 (d_2) 次幂,得到核函数 (k(x,x’)=\left(\sum_{p = 1}^{l}win_p(x,x’)\right)^{d_2})。这种核函数强调局部相关性。
- 密码子改进核函数 :除了计算对应位置的匹配核苷酸外,还计算偏移三个位置的匹配。它反映了编码序列的密码子结构,通过显式推导单项式特征可以证明它是一个可接受的核函数。
- 使用Salzberg得分的局部核函数 :用一系列对数奇数得分表示每个数据点,对应每个位置的两个概率。然后类似于局部改进核函数进行处理,用这些得分序列替换稀疏表示,进一步提高了分类性能。

不同学习算法在起始密码子分类上的错误率比较如下表所示:
| 算法 | 核参数 | 错误率 |
| ---- | ---- | ---- |
| 神经网络 | - | 15.4% |
| Salzberg方法 | - | 13.8% |
| SVM,简单多项式((d = 1)) | - | 13.2% |
| SVM,局部改进核((d_1 = 4,l = 4)) | - | 11.9% |
| SVM,密码子改进核((d_1 = 2,l = 3)) | - | 12.2% |
| SVM,Salzberg核((d_1 = 3,l = 1)) | - | 11.4% |

综上所述,这些经过工程设计的核函数在DNA起始密码子识别任务中表现出色,优于神经网络和原始的Salzberg方法,减少了高达25%的错误分类数量。同时,在图像处理和DNA起始密码子识别等不同领域,局部改进核函数都展示了其有效性和实用性。通过结合不同类型的先验知识,可以进一步提高支持向量机的性能。在未来的研究中,可以继续探索如何更好地设计核函数,以适应更多复杂的应用场景。

核函数设计:从理论到应用

4. 自然核函数
4.1 自然核函数的基本概念

生成模型技术如隐马尔可夫模型(HMM)、动态图形模型或专家混合模型等,能为处理缺失和不完整数据、不确定性或可变长度序列提供一个有原则的框架。而判别模型如支持向量机(SVM)和其他核方法已成为应用机器学习的标准工具。将两者优势结合的一个有前景的方法是设计受生成模型启发的核函数。

为了定义从生成模型导出的一类核函数,需要引入信息几何的一些基本概念。考虑一族由 (\theta = (\theta_1,\cdots,\theta_r)) 平滑参数化的生成模型 (p(x|\theta)),这些模型在所有概率密度函数的空间中形成一个流形(称为统计流形)。关键思想是利用这个流形上的几何结构,为训练模式 (x_i) 获得一个诱导度量。

使用对数似然函数 (l(x,\theta)=\ln p(x|\theta)) 代替直接处理 (p(x|\theta))。(l(x,\theta)) 的导数映射称为得分 (V_{\theta}(x)=(\nabla_{\theta_1}l(x,\theta),\cdots,\nabla_{\theta_r}l(x,\theta))=\nabla_{\theta}\ln p(x|\theta)),其坐标被视为切向量的“自然”基。例如,若 (p(x|\theta)) 是正态分布,一种可能的参数化是 (\theta = (\mu,\Sigma)),其中 (\mu) 是均值向量,(\Sigma) 是高斯的协方差矩阵。(V_{\theta}(x)) 分量的大小指定了 (\theta) 的特定分量(即特定模型参数)的变化对生成对象 (x) 的概率的影响程度。

由于 (\ln p(x|\theta)) 的流形是黎曼流形,在其切空间(得分的空间)上定义了一个度量,其度量张量由 Fisher 信息矩阵的逆给出:
[I = E_p[V_{\theta}(x)V_{\theta}(x)^T],\quad I_{ij}=E_p[\nabla_{\theta_i}\ln p(x|\theta)\nabla_{\theta_j}\ln p(x|\theta)]]
这里 (E_p) 表示关于密度 (p) 的期望。这个度量称为 Fisher 信息度量,它通过得分映射 (V_{\theta}(x)) 和 (I^{-1}) 来衡量一对示例 (x_i) 和 (x_j) 之间生成过程的差异。

定义 13.8(自然核):设 (M) 是一个严格正定矩阵,称为自然矩阵。对应的自然核定义为 (k_{nat}^M(x,x’) = V_{\theta}(x)^TM^{-1}V_{\theta}(x’)=\nabla_{\theta}\ln p(x|\theta)^TM^{-1}\nabla_{\theta}\ln p(x’|\theta))。当 (M = I) 时,得到 Fisher 核;当 (M = 1) 时,得到一个称为普通核的核函数。

4.2 自然核函数的正则化算子

在 SVM 中,最小化一个正则化风险泛函,其中复杂度项在特征空间表示中可以写成 (|w|^2),在输入空间考虑函数时可以写成 (|\Upsilon f|^2)。核函数 (k) 和正则化算子 (\Upsilon) 之间的联系由 (k(x_i,x_j)=\langle(\Upsilon k)(x_i,\cdot),(\Upsilon k)(x_j,\cdot)\rangle) 给出。

为了分析自然核函数 (k_{nat}^I) 的性质,通过找到一个相关的算子 (\Upsilon_{nat}^M) 使得上述关系成立,来利用核函数和正则化算子之间的联系。选择在实值函数的 (L^2(p)) 空间中的点积 (\langle f,g\rangle=\int f(x)g(x)p(x|\theta)dx),因为这会导致相应正则化算子的简单形式。

命题 13.9(自然核的正则化算子):给定一个严格正定矩阵 (M)、一个生成模型 (p(x|\theta)) 和对应的自然核 (k_{nat}^M(x,x’)),(\Upsilon_{nat}^M) 是一个等价的正则化算子,如果它满足 (M=\int(\Upsilon_{nat}^M\nabla_{\theta}\ln p(x|\theta))(\Upsilon_{nat}^M\nabla_{\theta}\ln p(x|\theta))^Tp(x|\theta)dx)。

证明过程如下:将 (k_{nat}^M(x,x’)) 的定义代入 (k(x_i,x_j)=\langle(\Upsilon k)(x_i,\cdot),(\Upsilon k)(x_j,\cdot)\rangle) 中,经过一系列推导可以得到上述必要条件。

对于 (M = I) 的特殊情况(Fisher 核),将 (\Upsilon_{nat}^I = 1) 代入上述等式右边,得到 Fisher 信息矩阵的定义。这意味着 Fisher 核对应的正则化器等于估计函数的平方 (L^2(p)) 范数 (|\Upsilon f|^2=|f|^2_{L^2(p)})。

对于 (M = 1) 的情况,当 (p(x|\theta)) 属于指数族密度时,即 (\ln p(x|\theta)=\langle\theta,x\rangle-\alpha(x)+c_0)(其中 (\alpha(x)) 是任意函数,(c_0) 是归一化常数),相关的正则化算子是梯度算子 (\nabla_x),正则化项可以写成 (|\Upsilon f|^2=|\nabla_x f(x)|^2_p=\int|\nabla_x f(x)|^2p(x|\theta)dx),它通过一阶导数的平滑性来偏好平滑函数。

4.3 自然核函数的特征映射

回顾通过离散基函数集合构造核函数的方法 (k(x_i,x_j)=\sum_{n}d_n\gamma_n\varphi_n(x_i)\varphi_n(x_j)),其中 (d_n\in{0,1}) 且 (\sum_{n}d_n\gamma_n) 收敛。设置所有 (d_n = 1) 意味着选择保留由 (\varphi_n) 张成的整个空间。了解 (\varphi_n) 和 (\gamma_n) 有助于理解核函数的正则化性质。

命题 13.12(自然核的特征映射):设 (I) 是 Fisher 信息矩阵,(M) 是自然矩阵,(s_i,\Lambda_i) 是 (M^{-\frac{1}{2}}IM^{-\frac{1}{2}}) 的特征系统。核函数 (k_{nat}^M(x,x’)) 可以分解为特征系统 (\varphi_i(x)=\frac{1}{\sqrt{\Lambda_i}}s_i^TM^{-\frac{1}{2}}\nabla_{\theta}\ln p(x|\theta)) 和 (\gamma_i=\Lambda_i)。

证明过程基于 (s_i) 是正交基((1=\sum_{i}s_is_i^T))以及 (k_{nat}^M) 的定义,通过一系列计算可以证明 (\varphi_i) 是正交的。

Fisher 核 (k_{nat}^I) 的特征值都是 1,这反映了矩阵 (I) 对得分 (\nabla_{\theta}\ln(p(x|\theta))) 进行了白化处理。所有特征值相等的结果有一些重要的后果。标准的 VC 维数界表明,线性函数类的容量由 (R^2\Lambda^2) 界定,其中 (R) 是包含数据的最小球体的半径(在特征空间中),(\Lambda) 是允许的权重向量的最大长度。最近的研究表明,相关积分算子的谱和 Gram 矩阵 (k((x_i,x_j))_{ij}) 的谱可以用于制定更严格的泛化误差界。对于 Fisher 核,由于 Fisher 矩阵对得分进行了白化处理,不存在非各向同性的情况,这表明标准的各向同性 VC 界在这种情况下应该相当精确。此外,Fisher 核的平坦谱为比较不同模型提供了一种方法:如果为一组模型 (p(x|\theta_j)) 计算 Gram 矩阵,那么对于真实模型,期望所有的 (\gamma_i = 1),这可以用于模型选择。

5. 总结与展望
核函数类型 应用领域 特点
ANOVA 核函数 多维支持向量回归 通过参数 (D) 控制交互顺序,计算可利用递归过程降低成本
字符串核函数 文本分类 考虑字符串子串相似性,可处理不同长度字符串,有递归计算方法
局部改进核函数 图像处理、DNA 起始密码子识别 强调局部相关性,结合先验知识可提高性能
自然核函数 结合生成模型和判别模型优势 基于生成模型的几何结构,有特定的正则化和特征映射性质

从上述不同类型的核函数可以看出,核函数的设计在机器学习的多个领域都有着重要的应用。不同的核函数适用于不同的问题场景,并且可以通过结合先验知识和优化计算方法来提高性能。

在未来的研究中,可以进一步探索以下方向:
- 更复杂的应用场景 :随着数据的复杂性不断增加,如高维数据、多模态数据等,需要设计更合适的核函数来处理这些数据。
- 核函数的组合与融合 :尝试将不同类型的核函数进行组合,以充分发挥它们的优势,提高模型的性能。
- 自适应核函数设计 :根据数据的特点和问题的需求,自动调整核函数的参数,实现自适应的核函数设计。

下面是核函数设计与应用的整体流程图:

graph LR;
    A[问题定义] --> B[选择核函数类型];
    B --> C{是否需要先验知识};
    C -- 是 --> D[结合先验知识设计核函数];
    C -- 否 --> E[使用标准核函数];
    D --> F[训练模型];
    E --> F;
    F --> G[评估模型性能];
    G --> H{性能是否满足要求};
    H -- 是 --> I[应用模型];
    H -- 否 --> J[调整核函数参数或选择新的核函数];
    J --> F;

总之,核函数设计是一个充满挑战和机遇的研究领域,通过不断的探索和创新,可以为机器学习的发展带来新的突破。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值