基于核概念的KCCA算法

2023-11-16

1、由CCA算法过渡至KCCA算法

典型相关分析(CCA)算法是一种标准的统计技术,用于寻找两个最大相关的随机向量的线性投影。CCA算法是一个计算两个多维变量相关性的强大方法,但如果两个变量间存在非线性相关的关系,CCA算法也许在此时会失效。为了克服CCA算法的这个弊端,KCCA算法通过引入”kernel trick”的概念改进CCA算法

2、KCCA算法的原理与推导

传统的CCA算法的目标是找寻一对方向向量 w x w_x wx w y w_y wy 以使得多维变量 X X X Y Y Y在这对方向上的投影 w x T X w_x^T X wxTX w y T Y w_y^T Y wyTY之间的相关性 ρ ( x , y ) ρ(x,y) ρ(x,y)最大化。

ρ ( X , Y , w x , w y ) = w x T X Y T w y T w x T X X T w x T w y T Y Y T w y T (1) ρ(X,Y,w_x,w_y)=\frac{w_x^TXY^Tw_y^T}{\sqrt{w_x^TXX^Tw_x^T}\sqrt{w_y^TYY^Tw_y^T}}\tag{1} ρ(X,Y,wx,wy)=wxTXXTwxT wyTYYTwyT wxTXYTwyT(1)

而当两个多维变量X、Y之间存在非线性相关性时,KCCA算法通过将变量X映射至希尔伯特空间 Φ Φ Φ(Hibert Space,详细见有关希尔伯特空间定义的讨论)。
Φ : R n x → F , x → Φ ( x ) (2) \Phi:R^{n_x}\rightarrow{F},x\rightarrow{\Phi{(x)}}\tag{2} Φ:RnxF,xΦ(x)(2)
此时,相关性函数变成了如下(3)式所示:

ρ ( Φ ( x ) , y ; w Φ ( x ) , w y ) ρ(\Phi(x),y;w_{\Phi(x)},w_y) ρ(Φ(x),y;wΦ(x),wy)
= w Φ ( x ) T Φ ( x ) Y T w y T w Φ ( x ) T Φ ( x ) ( Φ ( x ) ) T w Φ ( x ) T w y T Y Y T w y T (3) =\frac{w_{\Phi(x)}^T{\Phi(x)}Y^Tw_y^T}{\sqrt{w_{\Phi(x)}^T{\Phi(x)}({\Phi(x)})^Tw_{\Phi(x)}^T}\sqrt{w_y^TYY^Tw_y^T}}\tag{3} =wΦ(x)TΦ(x)(Φ(x))TwΦ(x)T wyTYYTwyT wΦ(x)TΦ(x)YTwyT(3)

因此,KCCA算法的目标等同于找寻 w Φ ( x ) w_{Φ(x)} wΦ(x) w y w_y wy来在下(4)式约束中最大化 w Φ ( x ) Φ ( X ) Y T w y w_Φ(x) Φ(X)Y^T w_y wΦ(x)Φ(X)YTwy

w Φ ( x ) T Φ ( x ) ( Φ ( x ) ) T w Φ ( x ) T = w y T Y Y T w y T = 1 (4) w_{\Phi(x)}^T{\Phi(x)}({\Phi(x)})^Tw_{\Phi(x)}^T=w_y^TYY^Tw_y^T=1\tag{4} wΦ(x)TΦ(x)(Φ(x))TwΦ(x)T=wyTYYTwyT=1(4)

根据前人总结,存在方向向量 α Φ ( x ) α_{Φ(x)} αΦ(x)使得:
w Φ ( x ) = ( Φ ( X ) ) α Φ ( x ) (5) w_{Φ(x)}=(Φ(X))α_{Φ(x)}\tag{5} wΦ(x)=(Φ(X))αΦ(x)(5)

假设 k ( x i , x j ) k(x_i,x_j) k(xi,xj)是一个核函数,它能够在希尔伯特空间中由下述点积式表示。

( k ) i j = k ( x i , x j ) = ⟨ Φ ( X i ) , Φ ( X j ) ⟩ = ( Φ ( X i ) ) T Φ ( X j ) (6) (k)_{ij}=k(x_i,x_j) = \langle\Phi(X_i),\Phi(X_j)\rangle=(\Phi(X_i))^T\Phi(X_j)\tag{6} (k)ij=k(xi,xj)=Φ(Xi),Φ(Xj)=(Φ(Xi))TΦ(Xj)(6)

由此,我们得到了一个N×N的矩阵K(该矩阵也称之为Gram矩阵, Gram矩阵是两两向量的内积组成,所以Gram矩阵可以反映出该组向量中各个向量之间的某种关系,详情见格拉姆矩阵详细解读),其具体可以写为:

K = ( Φ ( X ) ) T Φ ( X ) (7) K=({\Phi(X)})^T{\Phi(X)}\tag{7} K=(Φ(X))TΦ(X)(7)

结合(4)、(5)、(7)式,我们可以得到:

w Φ ( x ) Φ ( X ) Y T w y = α Φ ( x ) T K Y T w y (8) w_{Φ(x)} Φ(X)Y^T w_y=α_{Φ(x)}^TKY^Tw_y\tag{8} wΦ(x)Φ(X)YTwy=αΦ(x)TKYTwy(8)

w y T Y Y T w y T = w Φ ( x ) T Φ ( x ) ( Φ ( x ) ) T w Φ ( x ) = α Φ ( x ) T K K α Φ ( x ) (9) w_y^TYY^Tw_y^T=w_{Φ(x)}^TΦ(x)(Φ(x))^Tw_{Φ(x)}=α_{Φ(x)}^TKKα_{Φ(x)}\tag{9} wyTYYTwyT=wΦ(x)TΦ(x)(Φ(x))TwΦ(x)=αΦ(x)TKKαΦ(x)(9)

至此,解决KCCA问题等同于找寻 α Φ ( x ) α_{Φ(x)} αΦ(x) w y w_y wy在如下约束中最大化目标值,即 max ⁡ α Φ ( x ) , w y   α Φ ( x ) T K Y T w y     s . t .     w y T Y Y T w y T = α Φ ( x ) T K K α Φ ( x ) = 1 {\underset{α_{Φ(x)},{w_y}}{\operatorname {max} }}\ α_{Φ(x)}^T KY^T w_y\ \ \ s.t.\ \ \ w_y^TYY^Tw_y^T=α_{Φ(x)}^TKKα_{Φ(x)}=1 αΦ(x),wymax αΦ(x)TKYTwy   s.t.   wyTYYTwyT=αΦ(x)TKKαΦ(x)=1

为了求解该问题,引入拉格朗日算子,构建拉格朗日式为:

L ( α Φ ( x ) , w y , λ , μ ) L(α_{Φ(x)},w_y,λ,μ) L(αΦ(x),wy,λ,μ)

= α Φ ( x ) T K Y T w y − λ ( α Φ ( x ) T K K α Φ ( x ) − 1 ) / 2 − μ ( w y T Y Y T w y T − 1 ) =α_{Φ(x)}^TKY^Tw_y-λ(α_{Φ(x)}^TKKα_{Φ(x)} - 1)/2-μ(w_y^TYY^Tw_y^T - 1) =αΦ(x)TKYTwyλ(αΦ(x)TKKαΦ(x)1)/2μ(wyTYYTwyT1)

对拉格朗日式中的 α Φ ( x ) α_{Φ(x)} αΦ(x) w y w_y wy分别求偏导,并使得偏导式为0,由此我们可以得到:
∂ L ∂ α Φ ( x ) = K Y T w y − λ K K α Φ ( x ) = 0 (10) \frac{\partial L}{\partial α_{Φ(x)}}=KY^Tw_y-λKKα_{Φ(x)}=0\tag{10} αΦ(x)L=KYTwyλKKαΦ(x)=0(10)
∂ L ∂ α Φ ( x ) = Y K α Φ ( x ) − μ Y Y T w y = 0 (11) \frac{\partial L}{\partial α_{Φ(x)}}=YKα_{Φ(x)}-μYY^Tw_y=0\tag{11} αΦ(x)L=YKαΦ(x)μYYTwy=0(11)
解得
μ = λ , w y = ( Y Y T ) − 1 Y K μ α Φ ( x ) (12) μ=λ,w_y=\frac{(YY^T)^{-1} YK}{μ} α_{Φ(x)}\tag{12} μ=λ,wy=μ(YYT)1YKαΦ(x)(12)

由此得:
K Y T ( Y Y T ) − 1 Y K α Φ ( x ) = λ 2 K K α Φ ( x ) (13) KY^T (YY^T)^{-1} YKα_{Φ(x)}=λ^2 KKα_{Φ(x)}\tag{13} KYT(YYT)1YKαΦ(x)=λ2KKαΦ(x)(13)

如果格拉姆矩阵K满秩,则(13)式两端同左乘 K − 1 K − 1 K^{-1} K^{-1} K1K1,得:
K − 1 Y T ( Y Y T ) − 1 Y K α Φ ( x ) = λ 2 α Φ ( x ) (14) K^{-1}Y^T (YY^T)^{-1} YKα_{Φ(x)}=λ^2 α_{Φ(x)}\tag{14} K1YT(YYT)1YKαΦ(x)=λ2αΦ(x)(14)

然而,在大多数情况下,由于 K K K是一个中心化的格拉姆矩阵,故K通常为奇异矩阵(行列式值为0,非满秩)。为了解决这个问题,一个可行的方案是引入一个正则化矩阵 N K I N_K I NKI重解(14)式中的特征方程,其中, I I I为一个单位矩阵,而 N K N_K NK是一个较小的常数。
( K + N K I ) − 1 Y T ( Y Y T ) − 1 Y K α Φ ( x ) = λ 2 α Φ ( x ) (15) (K+N_KI)^{-1}Y^T (YY^T)^{-1} YKα_{Φ(x)}=λ^2 α_{Φ(x)}\tag{15} (K+NKI)1YT(YYT)1YKαΦ(x)=λ2αΦ(x)(15)

该方案虽然可行,但是正则化矩阵的选取会很大程度上影响KCCA算法的性能。为了进一步克服选取正则化矩阵带来影响的弊端,本文中提出了一个基于特征值分解的改进版KCCA算法。事实上,最大的特征值由下列的瑞利商(Rayleigh quotient)给出:

λ 2 = α Φ ( x ) T K Y T ( Y Y T ) − 1 Y K α Φ ( x ) α Φ ( x ) T K K α Φ ( x ) (16) λ^2=\frac{α_{Φ(x)}^TKY^T (YY^T)^{-1} YKα_{Φ(x)}}{α_{Φ(x)}^TKKα_{Φ(x)}}\tag{16} λ2=αΦ(x)TKKαΦ(x)αΦ(x)TKYT(YYT)1YKαΦ(x)(16)

W = Y T ( Y Y T ) − 1 Y W=Y^T (YY^T)^{-1} Y W=YT(YYT)1Y,则(16)式可被写为:

λ 2 = α Φ ( x ) T K W K α Φ ( x ) α Φ ( x ) T K K α Φ ( x ) (17) λ^2=\frac{α_{Φ(x)}^TKWKα_{Φ(x)}}{α_{Φ(x)}^TKKα_{Φ(x)}}\tag{17} λ2=αΦ(x)TKKαΦ(x)αΦ(x)TKWKαΦ(x)(17)

因此,解决KCCA等同于找寻 α Φ ( x ) α_{Φ(x)} αΦ(x)最大化(17)式中的瑞利商,这也等同于求解广义判别分析(generalized discriminant analysis,GDA)中的最优值问题。

参考资料与文献:

  1. 有关希尔伯特空间定义的讨论——知乎
  2. 格拉姆矩阵详细解读——CSDN博客
  3. Wenming Zheng, Xiaoyan Zhou, Cairong Zou and Li Zhao, “Facial expression recognition using kernel canonical correlation analysis (KCCA),” in IEEE Transactions on Neural Networks, vol. 17, no. 1, pp. 233-238, Jan. 2006, doi: 10.1109/TNN.2005.860849.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于核概念的KCCA算法 的相关文章

随机推荐

  • STM32+M5311对接 OneNET 项目记录

    以前做过的一个演示项目 一款判断人体进出的语言播报方案 通过LwM2M 协议连接 OneNET 硬件平台 M5311 STM32F103 云平台 中国移动 OneNET 语音芯片 WT 唯创知音 WT588D 传感器探头 SHARP 夏普
  • java中String类型转Map类型

    import com alibaba fastjson String str HashMap hashMap JSON parseObject str HashMap class
  • 生活是一种习惯

    生活是一种习惯 昨天看到一天文章 贫穷的理由 让我想到很多 我从家乡出来 来到北京 根据自己的亲身体会 人要养成一个好的习惯 善于学习 不安于现状的习惯 人活着 要想活出个样了 非大众化的人生 就要不安于现状 不要让自己养成满足的习惯 要不
  • [1048]python base64与hex相互转换

    base64转hex coding utf 8 Python 2 import base64 text woidjw b64 hex base64 b64decode text encode hex print b64 hex b64 he
  • C语言学习

    目录 调试 基本概念 bug 调试 debug 调试步骤 Debug和Release VS是集成开发环境 IDE 调试的快捷键 调试窗口 监视 减少程序的错误 assert 表达式 const 变量 调试 基本概念 bug 虫子 bug引申
  • 梦之光芒ctf小游戏闯关过程

    梦之光芒ctf游戏闯关 简介 玩这个游戏 您需要有JS 编码解码 XSS SQL注入 图片隐写 逆向分析等基本常识 游戏地址 http monyer com game game1 进入第1关 入口提示 请点击链接进入第1关 连接在左边 连接
  • max_binlog_size

    max binlog size 默认就是一个G最大值 但是有有什么会发现超过了一个G 原因就是 If a write to the binary log causes the current log file size to exceed
  • java application.yml 配置对象数组

    java application yml 配置对象数组 application yml 配置对象数组 常规对象中获取属性 场景 application yml 配置对象数组 定义配置文件结构 用于定义配置文件的数据结构 打印服务中用到的打印
  • Thinkpad在linux(ubuntu)下修改电池充电阈值,成功解决Thinkpad在Linux下的电池充电问题

    look this for more info http www thinkwiki org wiki Tp smapi 安装tp smapi aptitude install tp smapi dkms modprobe tp smapi
  • Kubernetes弃用Docker的由来和始末

    2020年12月初 Kubernetes在发布v1 20的时候重磅宣称将逐渐弃用Docker 一石激起千层浪 瞬间引爆容器圈 但没想到已经过去两个月时间了 还有文章用UC体误导吃瓜群众 还在学Docker Docker已死 额 累了 毁灭吧
  • mysql join 自己_用JOIN自己更新MySql

    HI我有查詢選擇了主鍵 id 1或外鍵 1的所有行 這是自己的連接 用JOIN自己更新MySql 選擇 SELECT f2 wz AS wz FROM d7x6r magazyn faktura zakupowa f LEFT JOIN S
  • 强化学习——基本概念

    什么是强化学习 强化学习关注与智能体 agent 如何与环境交互中不断学习以完成特定的目标 与有监督学习相比 不需要告诉智能体数据以及对应的标签 学习相应的模型 而是需要智能体在环境中一次次学习 哪些数据对应哪些标签 从而学习规律知道策略
  • Oracle 数据导入*.sql 提示ORA-01950

    今天执行远程Oracle 数据库数据导入时 提示ORA 01950 超出导入文件大小限制 cmd 远程连接oracle 数据库 sqlplus root root1234 192 50 68 246 orcl 导入指定位置的 sql文件 E
  • 双向广度优先搜索(介绍)

    双向广度优先搜索 广度优先搜索遵循从初始结点开始一层层扩展直到找到目标结点的搜索规则 它只能较好地解决状态不是太多的情况 承受力很有限 如果扩展结点较多 而目标结点又处在较深层 采用前文叙述的广度搜索解题 搜索量巨大是可想而知的 往往就会出
  • http请求 405错误

    http请求 405错误 方法不被允许 Method not allowed 405错误常常伴随着POST请求 所有有人会告诉你这些 但是时候他并不能解决你的问题 所以我说一点不一样的 假如你有一个user类 里面有两个属性userName
  • nat技术简介(转载)

    NAT Network Address Translation 网络地址转换 是将IP数据报文头中的IP地址转换为另一个IP地址的过程 在实际应用中 NAT主要用于实现私有网络访问公共网络的功能 这种通过使用少量的公网IP地址代表较多的私网
  • 快速搭建你的api数据交易平台-图文开发教程

    项目背景 如果你需要开发搭建自己的api数据交易平台 并且能在平台上面进行对客户管理 接口管理 套餐管理 账单管理 充值管理 那么下面将来介绍如何使用接口大师这个框架快速进行开发 安装 PhalApi专业版的运行环境要求如下 操作系统 Wi
  • nVidia TK1 基于深度学习框架 Caffe 的物体识别

    By Toradex 胡珊逢 1 简介 深度学习目前正吸引着越来越多人的关注 相关算法框架层出不穷 例如TensorFlow Caffe Keras CNTK Torch7等等 这些算法在数据分析 聚类 识别和预测方面提供了极大的帮助 因此
  • Python爬虫-某网酒店数据

    前言 本文是该专栏的第5篇 后面会持续分享python爬虫案例干货 记得关注 本文以某网的酒店数据为例 实现根据目标城市获取酒店数据 具体思路和方法跟着笔者直接往下看正文详细内容 附带完整代码 正文 地址 aHR0cHM6Ly93d3cuY
  • 基于核概念的KCCA算法

    基于核概念的KCCA算法 1 由CCA算法过渡至KCCA算法 2 KCCA算法的原理与推导 1 由CCA算法过渡至KCCA算法 典型相关分析 CCA 算法是一种标准的统计技术 用于寻找两个最大相关的随机向量的线性投影 CCA算法是一个计算两