美文网首页嵌牛IT观察
数据降维方法介绍(九)

数据降维方法介绍(九)

作者: 科技小白不能再白了 | 来源:发表于2022-04-17 14:30 被阅读0次

    第五种方法:核主成分分析(KPCA)

    姓名:何源  学号:21011210073  学院:通信工程学院

    转载:KPCA实现

    【嵌牛导读】核主成分分析算法介绍(KPCA)

    【嵌牛鼻子】KPCA

    【嵌牛提问】核算法是什么?KPCA算法的步骤是什么?

    【嵌牛正文】

    KPCA算法介绍

    KPCA算法实际上就是加核的PCA算法,它主要针对于非线性可分问题,给出了一种对该类问题进行特征提取的有效方式。与PCA特征提取算法类似,KPCA算法只是先将原始非线性可分数据通过某种变换映射到线性可分的高维空间,然后将该高维空间看成是新的原始空间,再对此空间内的数据通过PCA算法来提取特征,得到特征提取结果。

    核方法

    核方法背景

    布尔异或函数(不能用线性鉴别函数进行分类):y=-1   {(x_1=0\cap x_2=0)\cup (x_1=1,x_2=1)}或者y=1  ,others显而易见,我们找不到任何一条直线能够将两个正例(“+”)和负例(“-”)分开。然而我们可以对初始的模式向量进行扩展,使之包括新的特征,这些新的特征是原始输入特征的二阶组合。即将 x=(x_1,x_2)^T映射为\phi (x_1,x_2,x_1x_2),则4个训练样本能够被正确地分类。几何上,我们看到点(1,1)在第3维上升高了,则最终的分布可以很容易地通过一个平面将这两类样本正确地分开,如图1所示。如果一个分类问题在其定义的空间中非线性可分的,可以通过某种映射(变换) 把数据从原始空间映射到一个高维空间,使数据在高维空间中线性可分,从而可以用简单的线性判决函数来解决十分复杂的问题。把这种变换空间中的线性判决函数称为原问题的广义线性判决函数。然而,这种高维空间的维数往往很高,极易陷入所谓的“维数灾难”,使得这种变换思想在实际中很难实现。核方法则借助基于核函数的非线性映射方法,巧妙地克服了这一问题。

    图1 向量扩展

    核方法思想

    首先设法通过非线性变换\phi x映射到另一高维特征空间F中,如图2所示。原问题转化为高维特征空间F中的线性问题。为了避免直接计算  ,定义了核函数k

    图2 映射关系

    核函数

    n维的随机矢量x是一个非空集合, F为一个内积空间,\phi xF的非线性映射函数,如果函数k 满足:对任意x_i,x_j\in x ,有k(x_i,x_j)=\phi (x_i).\phi(x_j),则称k为核函数。

    核函数必须满足 Mercer 条件:对于任意给定的对称函数 K(x,y)它是某个特征空间中内积运算的充分必要条件是对于任意的不恒为0的函数 g(x),且\int g(x)^2 dx<\propto ,有\int  k(x,y)g(x)g(y)dxdy\geq 0 。考虑到核方法的基础是实现一种由输入空间到特征空间的非线性映射,假设输入空间数据 x_i\in R^{d_L}(i=1,2,...m),对任意对称、连续且满足Mercer条件的函数,存在一个Hilbert空间H,对映射\phi :R^{d_L}\rightarrow H,有k(x_i,x_j)=\sum_{n=1}^{d_F} \phi (x_i)^T\phi(x_j),其中,d_FH的维数空间。上式进一步说明,输入空间的核函数实际上与特征空间的内积相等价。由于在核方法的各种实际应用中,只需要应用特征空间的内积,而不需要了解映射 \phi 的具体形式。换句话说,在使用核方法时只需要考虑如何选定一个适当的核函数,而无需关心与之对应的映射 \phi 可能具有复杂的表达式和很高的维数。

    常用的核函数:

    (1)多项式核函数:k(x,y)=[(x.y)+b]^d

    (2)高斯核函数:k(x,y)=exp(-\frac{||x-y||^2}{c})

    (3)Sigmoid核函数:k(x,y)=tanh[v(x,y)+c]

    KPCA实现步骤

    假设X=[x_1,x_2,...,x_m](x_1,x_2,...,x_m\in R^d)表示m个原始特征组成的原始样本集,Y=[y_1,y_2,...,y_m](y_1,y_2,...,y_m\in R^p)表示输出特征集,且p<d,核函数为k,正定核为K,则:

    (1)根据给定的核函数k,求得正定核K,K_{ij}=k(x_i,x_j)=\phi (x_i).\phi(x_j)=\phi(x_i)^T\phi(x_j),根据R=K-K\cdot M-M\cdot K+M\cdot K \cdot M求出R,其中矩阵M_{m\times m}表示每一个元素值都为\frac{1}{m}的方阵。

    (2)计算矩阵R的所有特征值,对这些特征值进行排序,选择前p个特征值\lambda _1\geq \lambda _2...\geq \lambda _p,然后计算他们对应的特征向量v_1,v_2,...,v_p

    (3)根据公式\omega _i=\frac{1}{\sqrt{\lambda_i} }Qv_i,其中Q=[\phi (x_1),\phi (x_2),...,\phi (x_m)],得到W=[w_1,w_2,...,w_p],即特征提取算法中所用到的特征提取矩阵。

    (4)根据y_i=W^T\phi(x)=\frac{1}{\sqrt{\lambda _i} }Q^Tv_i^{T}\phi(x)=\frac{1}{\sqrt{\lambda _i} }v_i^T[k(x_1,x),k(x_2,x),...,k(x_m,x)],i=1,2,...,p计算得到y_i\in R^p,由Y=[y_1,y_2,...,y_p]组成的特征集就是输出特征集。

    相关文章

      网友评论

        本文标题:数据降维方法介绍(九)

        本文链接:https://www.haomeiwen.com/subject/xwtlertx.html