matlab实现zca去白化,白化算法
(一)简介
1.白化(whitening/sphering)的目的就是降低输入的冗余性;更正式的说,我们希望通过白化过程使得学习算法的输入具有如下性质:(1)特征之间相关性较低;(2)所有特征具有相同的方差。
2.常见的白化预处理有:(1)PCA白化;(2)ZCA白化;
(二)PCA白化
1.根据本人之前的博文《PCA算法》,可以知道对X的协方差矩阵分解后得到的特征向量U,可以使得数据:
满足特征之间相关性较低,也就是其协方差矩阵为对角线矩阵;
2.为了满足白化的条件(2),也就是所有特征具有相同的方差,PCA白化的做法是使用
作为缩放因子来缩放每个特征;也就是:
,其中的D是以
为对角元素的对角矩阵;
3.PCA白化后的数据特征之间相关性低,所有特征具有相同的单位方差,也就是数据的协方差矩阵为单位矩阵;
4.PCA白化的matlab代码:
X=rand(8,20); %原始数据8维20个样本
X=X-repmat(mean(X,2),1,size(X,2)); %zero-mean
C= X*X'/size(X,2); %求协方差矩阵
[E, Lamda] = eig(C); %求特征值以及特征向量
d=diag(Lamda); %将特征值从对角矩阵中抽取出来
D=diag(d.^-0.5); %构造对角线矩阵
Xwhiten=(E*D)'*X; %PCA白化
cor=Xwhiten*Xwhiten'/size(Xwhiten,2); %白化后的数据的协方差矩阵是单位矩阵
(三)ZCA白化
1.ZCA白化其实就是在PCA白化的基础上加多一个U,也就是
;
2.由于有时候特征值
有可能很小接近于0,因此这可能使数据上溢 (赋为大数值)或造成数值不稳定。因而在实践中,我们使用少量的正则化实现这个缩放过程,即在取平方根和倒数之前给特征值加上一个很小的常数;
3.ZCA白化的matlab代码:
X=rand(8,20);
X=X-repmat(mean(X,2),1,size(X,2));
C= X*X'/size(X,2);
[E, Lamda] = eig(C);
%epsilion=1e-5;
epsilion=0; %根据原始数据情况决定
d=diag(Lamda)+epsilion;
D=diag(d.^-0.5);
Xwhiten=E*D*E'*X;
cor=Xwhiten*Xwhiten'/size(Xwhiten,2);
matlab实现zca去白化,白化算法相关推荐
- Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题
Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题 目录 输出结果 实现代码 代码下载 输出结果 实现代码 %单幅图象的暗原色先验去雾改进算法,能够很好地改进天空 ...
- 【老生谈算法】matlab实现图像去雾算法——图像去雾
基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码 ## 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]基于mat ...
- 基于matlab的捷联惯导算法设计及仿真,基于 Matlab 的捷联惯导算法设计及仿真1doc.doc...
基于 Matlab 的捷联惯导算法设计及仿真1doc 基于 Matlab 的捷联惯导算法设计及仿真1 严恭敏 西北工业大学航海学院,西安 (710072) E-mail:yangongmin@163. ...
- 图像去雾算法_Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题...
Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题 目录 输出结果 实现代码 代码下载 输出结果 实现代码 %单幅图象的暗原色先验去雾改进算法,能够很好地改进 ...
- 基于MATLAB的图像去雾系统
基于MATLAB的图像去雾系统 (一)图像去雾基础原理 1.雾霭的形成机理 雾实际上是由悬浮颗粒在大气中的微小液滴构成的气溶胶,常呈现乳白色,其底部位于地球表面,所以也可以看作是接近地面的云.霭其实跟 ...
- 凸包计算几何matlab,計算幾何-凸包算法 Python實現與Matlab動畫演示
凸包算法是計算幾何中的最經典問題之一了.給定一個點集,計算其凸包.凸包是什么就不羅嗦了 本文給出了<計算幾何--算法與應用>中一書所列凸包算法的Python實現和Matlab實現,並給出了 ...
- 基于MATLAB的RSSI 和 PLE 定位算法,并通过卡尔曼滤波器减少非视距误差
基于MATLAB的RSSI 和 PLE 定位算法,并通过卡尔曼滤波器减少非视距误差 根据上面的课题要求,我们知道在室内未知信道环境下,进行RSS估计效果较差,而本课题所要求的是在室内未知PL的情况下进 ...
- 【计算机就业-算法工程师】校招想去互联网公司担任算法工程师该怎么准备
前言 hello大家好,我本次分享的主题是计算机专业校招想去互联网公司担任算法工程师该怎么准备,例如笔试和面试需要准备写什么,实习,项目以及论文中会问些什么问题.我将结合自己以及身边小伙伴们的秋招经历 ...
- wnoise matlab,MATLAB中用wnoise函数测试去噪算法
MATLAB中用wnoise函数测试去噪算法 sqrt_snr=3; init=231434; [x,xn]=wnoise(3,11,sqrt_snr,init); % WNOISE generate ...
- 基于Matlab的三维胖射线追踪算法
基于Matlab的三维胖射线追踪算法(1) 三维CT更有利于对构造的精细识别,三维CT本质上与二维CT无较大区别,但计算量增加,占用电脑内存大,计算时间更长. 文章目录 基于Matlab的三维胖射线追 ...
最新文章
- 设置session失效的几种方法
- 成功解决ModuleNotFoundError: No module named 'keras_resnet'
- kmeans 是Nondeterministic algorithm
- python 当前目录_virtualenvwrapper打造多版本Python环境
- C++之‘malloc’ was not declared in this scope和invalid conversion from ‘void*’ to ‘char*’
- php ip处理函数,PHP取ip地址函数
- 计算机数日期,计算机如何计算两个日期之间的天数
- eclipse和myeclipse的差别问题
- 搭建Magento电子商务网站
- 如何在SQL Server中实现错误处理
- 安装php服务器,安装php服务器环境的方法
- python复制mysql表_MySQL中表的复制以及大型数据表的备份教程
- 动态电压与频率调节在降低功耗中的作用
- 电信光纤友华PT921G,烽火HG220光猫破解关闭自带路由改桥接拨号教程
- C#实现给图片加边框的方法
- CVE-2022-28512 Fantastic Blog CMS 1.0 版本存在SQL注入漏洞
- 原生js 给动态添加的元素添加(事件监听器)
- sendgrid html text,在Node.js中的SendGrid的“发件人”字段中添加名称
- matlab 坐标移动,如何移动坐标轴到指定的位置
- 在idea2021中遇到element tx:attributes is not allowed here的问题
热门文章
- html中如何把两行合并单元格,怎么把表格上下两行合并单元格合并
- jsp+servelt+mysql+tomcat 四六级单词查询系统
- 游戏盾SDK的防护介绍
- 三年java不会线程_Java后端开发三年多线程你都懂,问你异步编程你说你没听过???...
- 小波变换复习 (Review on Wavelet Transform)
- 企业云计算运营模式,主要分为哪3种运营模式?
- 江飞 福州大学数学与计算机科学学院,强极值原理、第二边值问题解的唯一性.ppt...
- 浏览器渲染原理及web前端分析
- 华为防火墙双线路故障自动切换
- JavaScript中this的指向总结