核方法总结————(一)

一、问题的起由

       在线性回归模型 t = Wx + ε 。如果x和t之间有明显的线性关系,则该模型可以取得较好的效果。如果两者线性关系不显著,则模型会出现较大的偏差。对于近似线性分类模型 y = \sigma (w^{T}x),

如果x是线性可分的,则该模型可得到较好的分类效果,否则该模型将不再适用。

      为解决上述问题,一种方法是对x做非线性映射,得到特征Φ(x),如果Φ(x)和目标变量t之间存在线性关系(回归任务),或Φ(x)本身线性可分(分类任务),则可以在特征空间建立线性回归模型或近线性分类模型,简介实现复杂数据的线性建模。例如,在二维空间的两类点事线性不可分的,但当用一个非线性函数将数据映射到三维特征空间后,则可实现号的线性分类。

  

图 1-1 利用非线性映射将二维空间中线性不可分的数据(左图)映射到三维特征空间(右图)变得线性可分

    设计一个合理的映射函数φ 并不容易。可以通过参数化的神经网络来学习这一映射,也称为特征学习。但该方法存在几个缺点:

     1、特征学习需要对原始数据有很明确的向量表达,否则无法开始学习。在一些实际应用中,将对象表达成数值向量并不容易。

     2、特征学习对特征空间的维度由严格限制,维度过高会导致学习困难,然而一些复杂数据必须在较高维的特征空间中才能表现出线性,特征学习在这类任务上无法应用。

     3、特征学习特别是基于复杂函数的特征学习是非凸问题,训练容易进入局部最优。

    由此,引出另一种对映射函数φ进行设计的方法 ,也就是核方法。核方法不对φ做显示的表示或学习,而是通过数据间的相关性函数k(x,x')对φ进行隐式定义。

 k(x,x') =\Phi (x)^{T}\Phi (x')   ----------(1)

有了核函数,我们只需要计算k(x,x') 即可在特征空间中完成拟合或分类任务,而不需要φ的显示表示。优点:

    1、该方法只关注数据之间的关系,而不是数据本身,因此特别适合数据对象难以用向量明确表达的任务。

    2、由k(x,x')引导出来的φ可能有非常高的维度,甚至是无限维,因此可以满足复杂数据在特征空间线性化的要求。

    3、最后特征空间的模型是线性的,因此模型训练是一个凸优化问题,可保证得到全局最优解。

     以上只是从方法上概略的引出了核函数和核方法,并没有在在具体的机器学习模型中推导,因此下文就以简单的线性回归任务为例,进行具体的推导,从而可以更具体的理解核方法。

  二、 从线性回归到核方法

       线性回归模型可以定义如下:

 y(x;w) = \Phi (x)^{T}w  -----(2-1)

      其中 \Phi(x)  是 线性回归模型的通用映射,以兼顾y与x不直接呈线性情况,也就是\Phi(x)后,与y呈线性关系。当 \Phi(x) = x 就是一般情况。给定一组训练数据\{​{(x_{n},t_{n}): n = 1,2,...,N}\} ,则该模型可以写成如下矩阵形式的回归:

      \mathbf{y} = \Phi ^{T}w   ------(2-2)

其中,\Phi =[\phi (x_{1}),...,\phi (x_{N})] 是一个m*N矩阵。\phi (x_{1}) = [\phi_{0} (x_{1}),...,\phi_{m} (x_{1})]^{T} 对x1做的m类映射,代表了一个样本。因此\Phi^{T} =[\phi (x_{1})^{T},...,\phi (x_{N})^{T}]^{T}---(2-2-1)。如果上述回归模型引入L2正则约束,定义目标函数,通过目标函数最优化求解,可以最终得到权重公式:

w = (\Phi \Phi ^{T} + \lambda I)^{-1}\Phi t-------(2-3)

其中,t = [t_{1},...,t_{N}]^{T} 是目标变量的观察值。

    以上是w的一种解法,可以选择另一种方法对上述回归模型求解,就是将参数理解为由已知的训练集进行加权运算得到,即:

 w = \Phi \alpha-------(2-4)

\alpha \in R^{N} 是每个样本的权重,如果求得了α,也就求得了w。

y = \Phi ^{T}w = \Phi ^{T}\Phi \alpha   ------(2-5)

其中K \in R^{N\times N} 定义了训练集中中任意一对数据样本之间的内积,称为Gram矩阵,其元素k_{ij}定义为:

k_{ij} = \phi (x_{i})^{T}\phi (x_{j}) = k(x_{i},x_{j})--------(2-6)

即可用一个二元的k函数运算来代替映射函数的内积,而不需要知道\phi的具体形式。

(2)  式 同样引入L2正则优化后可以得出解:

\alpha = (K + \lambda I)^{-1} t-------------(2-7)

将(7)式和 (4)式代入(1)式可得:

y(x_{*}) = \phi (x_{*})^{T}w = \phi (x_{*})^{T}\Phi \alpha = \phi (x_{*})^{T}\Phi (K+\lambda I)^{-1}t = k (x_{*})^{T}(K+\lambda I)^{-1}t-------(2-8)

k(x_{*}) = \Phi ^{T}\phi (x_{*}) = [\phi (x_{1})^{T}\phi (x_{*}),...,\phi (x_{N})^{T}\phi (x_{*})]^{T}------------(2-9)

观察(2-8)式可见,线性回归存在另一种不同的解法,在这一解法中,不需要显式地求出模型参数w,也不需要明确定义\phi映射函数,只需要训练数据之间的关系K和测试数据与训练数据的关系k(x_{*}) K和k(x_{*}) 都基于(2-6)所定义的关系函数K(. , .)。而这个函数k就称为和函数,相应的方法为核方法。

    由上可见,这一方法提供了一种全新的学习思路,在这种学习中,用训练数据集合代替参数模型,用数据间的关系代替数据本身,后面我们会看到,描述数据关系的核函数k,事实上隐形定义了映射函数,而且这一映射的复杂度可能远远超过人为定义的映射,因而可以用于在复杂映射\phi函数条件下才有线性关系的数据学习。

三、再生核希尔伯特空间与Mercer定理

    根据(1)式,已知映射函数\phi ,可以通过\phi(x) 和 \phi(z) 的内积求得对称半正定的核函数K(x,z)。反过来,如果已知一个二元函数K(x,z),能否找到一个特征变换\phi,使得(1)式成立,或者说K满足什么条件才能找到特征变换\phi,满足(1)式而成为核函数。

    问题涉及到希尔伯特空间和再生核希尔伯特空间,希尔伯特空间是一个内积空间,当这个内积空间作为一个赋范向量空间完备化后,就成为希尔伯特空间。再生核希尔伯特空间是指根据一个实值函数构成的希尔伯特空间,且满足如下条件:对在此空间上的任一函数f,都可以通过如下方式生成: 

f(x) = <f,K_{x}>    --------------(3-1)

(即f可以通过自身与定义在希尔伯特空间H中的一个函数的内积再生成。满足这个条件的希尔伯特空间称之为再生核希尔伯特空间,这个函数K_{x} 称之为再生核。)

     (公式 3-1 注解:其中x是定义域X中的任一取值,K_{x} 是被x定义希尔伯特空间H上的一个函数(实际上就是一个再生核,根据3-1式,如果不是再生核则不能任意生成f)。同理,x' 对另一取值所定义的函数K_{x^{'}},也可以用上述方式生成。用 K_{x^{'}}代替 上式的f,则有:

K_{x^{'}}(x) = <K_{x^{'}},K_{x^{}}>---------------(3-2)

依内积的对称性,显然有K_{x^{'}}(x) = K_{x^{}}(x)。由此,该RKHS中的所有函数可以有下列二元函数生成:

k(x,x^{'})= <K_{x^{'}},K_{x^{}}>-----------------(3-3)

     由于K(x,x^{'})由内积定义,因此是对称半正定的,这意味着每个RKHS空间至少对应一个对称半正定的二元函数(可以由这个二元函数生成),这说明如果已知一个函数m是核函数即满足定义(1)(可以由希尔伯特空间上的两个函数内积生成),通过该函数构成的再生核希尔伯特空间,在此空间可以找到一个对称半正定二元函数来生成(内积)此空间的所有函数,因此也可以用该函数来生成在此空间上的m函数,所以这个核函数m一定是对称半正定的。

    相反,任何一个对称半正定的二元函数对应一一个RKHS,对于一个给定的对称正定二元函数k(. , .),我们可以简单的取其对应的RKHS作为映射空间:

                                       \phi (x) = k(x, .) = K_{x}(.) --------------------(3-4)

K_{x}(.) 实际上就是将x映射到了H空间,可以看成映射到了无限维。

则有:

                                        k(x,x^{'})= <K_{x^{'}},K_{x^{}}> =<\phi (x) ,\phi (x') > -----------(3-5)

 说明k(x,x')是一个合法的核函数。由此充分性得到证明。

         由此我们看到一个函数满足对称半正定性 则是合法的核函数,这就是Mercer定理

    从上述推导可以看出,K_{x}\phi并不是唯一的,取k(x, .) 是常用的取法,实际可能由其他方式生成,即可能由多个\phi 对应同一核函数。

         例: 核函数  k(x,x') = <x,x'>^{2} ,其中x =(x1,x2),除了 k(x, .) 取法 <(x1,x2), .>^{2},还有:

                                   

  

令x' =(x3,x4) 可以代入验证\phi1 、\phi2 也是RKHS中有效的映射。

    

    四、总结

           本文是学习《机器学习导论》(清华大学出版社,王东,2021年)的总结或笔记。

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板中进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件中的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值