K-L变换的理论知识

K-L变换是除了PCA外的另一种常用的特征提取方法,它有很多种形式,最基本的形式跟PCA类似,它跟PCA的不同在于,PCA是一种无监督的特征变换,而K-L变换能够考虑到不同的分类信息,实现有监督的特征提取。

根据随机过程中的KL展开理论,将随机过程描述为无数个正交函数的线性组合,而在模式识别问题中,通常可以将一个样本看成是随机向量的某一次实现结果,所以假设有一d维随机向量x,可以写成一组正交基的线性组合,且它们的模为1:

对上式变形得到:

                           (初见K-L变换,通常需要先对样本进行零均值化或平移

假设有用信息就集中在其中的q维上,那么现在我们来尝试用着q维去近似x:

近似前后样本向量的差向量为:

考查上述差向量的均方误差(MSE)为:

其中,变换矩阵 是原样本向量x的二阶矩阵(注意,这里还可以是其他矩阵,如协方差矩阵),可以与PCA中比较一下,形式大致相同,但在PCA中使用的变换矩阵是协方差矩阵;

我们的目的是最小化上述MSE,同PCA中的求解方法,得到下面拉格朗日目标函数:

对sigma求导并令其等于零,有:

看到熟悉的面孔了,哈哈,就是的特征值,所以上面要求的均方误差就解开了神秘的面纱:

分析到这里,应该不难看出,简直跟PCA就是一对双胞胎啊,太像了有木有,其实当K-L变换的变换矩阵为协方差矩阵时,K-L变换就变成了PCA。

回到使用q维逼近样本向量x的问题上来,通过上面的分析我们知道了,如果想用q维来表示样本向量并使MSE最小化,合理的做法就是:把变换矩阵的特征值从大到小排列,然后选择前q个特征值对应的特征向量就行,此时截断误差能够保证最小,其中中的前q个正交向量就组成了新的特征空间,而原样本向量x在这个新特征空间上的展开系数yi就组成了新的特征向量,这种变换就叫做K-L变换,对于它的其他不同的形式,主要是基于变换矩阵的具体形式。

可以发现,得到这q个新特征与PCA中的d个主成分是类似的,当对原特征x进行中心化时,K-L变换等价于PCA;

K-L变换的几个重要性质

1.变换后得到的新特征满足零均值:

证明:

设有如下K-L变换:,其中矩阵A是变换核矩阵;

对X的变换结果Y球其均值:

2.K-L变换是一种正交变换;

3.K-L变换的新特征彼此之间不相关;

4.K-L变换的新特征向量的二阶矩阵是对角阵,且对角线元素就是原特征的二阶矩阵的特征值;

证明:

5.K-L变换是信号的最佳压缩表示,用q维新特征表示原样本特征带来的误差在所有q维正交坐标变换中最小;

6.用K-L坐标系来表示原数据,意味着熵最小,即样本的方差信息最大程度的集中在较少的维数上;

K-L变换与PCA的联系与区别

联系:

都属于正交变换;

当对原特征x进行中心化时(即变换矩阵为协方差矩阵),K-L变换等价于PCA;

PCA是离散K-L变换;

都可以实现降维变换;

区别:

K-L变换可以实现有监督的特征提取,但是PCA的变换是一种无监督的;

在含义上,K-L变换较广义,PCA较狭义;

K-L变换可以处理连续和离散情况,而PCA只针对离散情况;

K-L变换的变换矩阵可以是很多种,如二阶矩阵、协方差矩阵(总体散布矩阵)等,或者说自相关矩阵,而PCA的变换矩阵就是协方差矩阵;

但是,在一些地方就认为两者是没什么区别的,因为实际应用中不管是协方差矩阵,还是自相关矩阵,其实只是差了个对样本进行均值的平移,但是在PCA中这种平移并不会影响主成分的方向,所以PCA中也通常会先对样本平移,这样看来自相关矩阵就变成了协方差矩阵。

协方差矩阵:

自相关矩阵:

其中,是共轭转置矩阵,当为实矩阵时,等价于转置矩阵;

协方差矩阵和自相关矩阵的关系:

参考:Wiki

模式识别(Pattern Recognition)学习笔记(三十五)-- K-L变换与PCA相关推荐

  1. JavaScript学习笔记(十五)

    JavaScript学习笔记(十五) 事件 事件是DOM(文档对象模型)的一部分.事件流就是事件发生顺序,这是IE和其他浏览器在事件支持上的主要差别. 一.事件流 1.冒泡型事件 IE上的解决方案就是 ...

  2. OpenCV学习笔记(十五):图像仿射变换:warpAffine(),getRotationMatrix2D()

    OpenCV学习笔记(十五):图像仿射变换:warpAffine(),getRotationMatrix2D() 一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移)的形式. ...

  3. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  4. cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断)

    cortex_m3_stm32嵌入式学习笔记(十五):待机唤醒实验(WK_UP外部中断) https://blog.csdn.net/qq_16255321/article/details/43086 ...

  5. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  6. MATLAB学习笔记(十五)

    MATLAB学习笔记(十五) 一.非线性方程求解与函数极值计算 1.1 非线性方程数值求解 1.2 函数极值的计算 1.2.1 无约束最优化问题 1.2.2 有约束最优化问题 一.非线性方程求解与函数 ...

  7. 学习笔记(十五)——镜像的知识点与注意事项

    学习笔记(十五)--镜像的知识点与注意事项 一.基础知识 1.SQL Server镜像只有两种模式:高安全模式和高性能模式.两种模式的主要区别在于在事务提交后的操作. 在高性能模式下,主体服务器不需要 ...

  8. JavaScript学习(三十五)—拖动元素

    JavaScript学习(三十五)-拖动元素 代码如下: <!DOCTYPE html> <html lang="en"><head><m ...

  9. Cty的Linux学习笔记(十五——wget)

    Linux学习笔记--第十五篇 wget命令用于在终端中下载网络文件,格式为"wget  [参数]  下载地址" 参数: -b:后台下载模式 -P:下载到指定目录 -t:最大尝试次 ...

最新文章

  1. springmvc 拦截器、国际化、验证
  2. 在 Yii框架中使用session 的笔记:
  3. sql over函数_SQL 高级函数
  4. 【HDU - 6662】Acesrc and Travel(树形dp,博弈dp)
  5. Sublime Merge Stage时提示系统找不到指定的文件
  6. UI调试--初步尝试心得总结
  7. Leetcode每日一题:860.lemonade-change(柠檬水找零)
  8. linux 下显卡优化,[转载]Linux 下 NVIDIA 显卡闭源驱动的一些优化
  9. Atitit 技术趋势的管理之道 attilax著 1. 技术趋势 即是新特性 3 1.1. 几个大趋势 3 1.2. 可读性大于性能趋势 3 2. 趋势来源渠道 4 2.1. 技术趋势Thought
  10. SlideLive:提供阶梯类型PPT模板下载
  11. Completed 403 FORBIDDEN 后端解决跨域问题
  12. 偶数提取(不用二次倒位,直接一步到位)
  13. JWT快速上手 | 黑马
  14. 网站优化推广怎么做?
  15. uva 10118 Free Candies
  16. 余额宝 算法 php,把10000元放进余额宝,一年后支付宝会给多少利息?你计算过吗?...
  17. 罗马音平假字复制_罗马音平假名和片假名大全
  18. 随机分布嵌入使短时高维序列可预测
  19. 用python写简易计算器_Python制作简易计算器
  20. 使用百度EasyDL实现森林火灾预警识别

热门文章

  1. 歌曲合成:MardSiningSy结果
  2. 云计算机概念,云计算是什么意思?
  3. lepus(天兔)的安装与使用
  4. vm眼影真的好用吗_vm拜金主义眼影盘值得买吗?vm拜金主义眼影如何配色
  5. 基于TMS320C6678的多核DSP上电加载技术
  6. Java字符串去重的几种实现
  7. Oledcomm——全球5G/LiFi技术领航者
  8. 如何选择良好的视觉引导定位技术?
  9. 物联网行业4大潜在突破领域浅析
  10. H323plus的分析