Kernel典型相关分析
(一)KCCA
同样,我们可以引入Kernel函数,通过非线性的坐标变换达到之前CCA所寻求的目标。首先,假设映射$\Phi_X: x\rightarrow \Phi_X(x), \Phi_Y: y\rightarrow \Phi_Y(y)$,记$\mathbf{\Phi_X}=(\Phi_X(x_1),\Phi_X(x_2),\cdots,\Phi_X(x_p))^\prime, \mathbf{\Phi_Y}=(\Phi_Y(y_1),\Phi_Y(y_2),\cdots,\Phi_Y(y_q))^\prime$。我们要寻找典型变量$u,v$使相关系数最大,其中$u=\langle a,\Phi_X(x)\rangle=\Phi_X^\prime a, v=\langle b,\Phi_Y(y)\rangle=\Phi_Y^\prime b$,$a,b$的维度为映射后的空间。根据上一个笔记的分析,我们应该优化如下模型:
\begin{align}\mathop{\max}&\quad a^\prime\mathbf{\Phi_X}^\prime\mathbf{\Phi_Y}b \nonumber\\\mathop{s.t.}&\quad a^\prime\mathbf{\Phi_X}^\prime\mathbf{\Phi_X}a=1\nonumber\\&\quad b^\prime\mathbf{\Phi_Y}^\prime\mathbf{\Phi_Y}b=1\label{model:koriginal}\end{align}
此时,如果我们直接优化上面的模型的话,就无法引进Kernel函数,因为我们凑不出$\Phi_X(x)^\prime\Phi_X(y)$这种形式。这样的话,我们就得知道映射$\Phi$的具体形式。但实际上,这里的$a,b$其实是可以表示成数据$\Phi_X(x_1),\cdots,\Phi_X(x_n)$以及数据$\Phi_Y(y_1),\cdots,\Phi_Y(y_n)$的线性组合。原因蛮复杂的,大概是当映射后的Hilbert空间的维度很大,那么这里的$a,b$就一定在数据张成的空间里。具体可以参见一下两篇论文(Nonlinear component analysis as a kernel eigenvalue problem以及Kernel independent component analysis)。另外在KCCA刚提出的那篇论文里(A kernel method for canonical correlation analysis),没有从那么深奥的理论去解释,但他是直接从正则化的KCCA那边出发去解释的,这里也稍微说明一下。正则化的Lagrange函数为:
\begin{equation}L(a,b,\lambda_1,\lambda_2)=a^\prime\mathbf{\Phi_X}^\prime\mathbf{\Phi_Y} b-\frac{\lambda_1}{2}(a^\prime\mathbf{\Phi_X}^\prime\mathbf{\Phi_X}a-1)-\frac{\lambda_2}{2}(b^\prime\mathbf{\Phi_Y}^\prime\mathbf{\Phi_Y}b-1)+\frac{\eta}{2}(\|a\|^2+\|b\|^2)\end{equation}
将Lagrange函数对$a$求导并令导数为零得:
\begin{equation}\frac{\partial L}{\partial a}=\mathbf{\Phi_X}^\prime\mathbf{\Phi_Y}b-\lambda_1\mathbf{\Phi_X}^\prime\mathbf{\Phi_X}a+\eta a=0\end{equation}
故$a=\frac{\mathbf{\Phi_X}^\prime(\lambda_1\mathbf{\Phi_X}a-\mathbf{\Phi_Y}b)}{\eta}$,其中我们可以把$\frac{\lambda_1\mathbf{\Phi_X}a-\mathbf{\Phi_Y}b}{\eta}$记作向量$c$,也就是说$a$可以表示成$a=\mathbf{\Phi_X}^\prime c$。同理,$b$