ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

高斯噪音 降维 数据压缩 argmax 奇异值分解(SVD)白化

2022-07-08 19:00:51  阅读:177  来源: 互联网

标签:白化 特征向量 argmax SVD 矩阵 特征 PCA


  • 高斯噪音(Gaussian noise

a kind of signal noise that has a probability density function (pdf) equal to that of the normal distribution (which is also known as the Gaussian distribution).

the values that the noise can take are Gaussian-distributed.

 

(from wiki)

  • 降维(Dimensionality Reduction)

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维 - 马小豆包 - 博客园 (cnblogs.com)

【机器学习】数据降维(Dimensionality Reduction) - 知乎 (zhihu.com)

各类降维方法总结 - 简书 (jianshu.com)

  • (数据压缩)Data compression

data compressionsource coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation.

-Lossless compression reduces bits by identifying and eliminating statistical redundancy. No information is lost in lossless compression.

-Lossy compression reduces bits by removing unnecessary or less important information.

Compression is useful because it reduces the resources required to store and transmit data.

(from wiki)

  • argmax

(from

argmax - Overfitting的文章 - 知乎 https://zhuanlan.zhihu.com/p/79383099)

矩阵论(七):投影矩阵_exp(i)的博客-CSDN博客_投影矩阵(目前还看不懂

线性空间里的线性映射_Uncertainty!!的博客-CSDN博客_线性映射

评论补充:这个先算U V,再算中间矩阵的方法是错的

(应该先算u或v再求中间矩阵推出v或u,按这种算法特征向量正负都无法确定)

真正的U和V一定是AAT和ATA的特征向量组,但是直接求ATA和AAT的特征向量组不一定是U和V。

A必须为实对称矩阵,实对称矩阵才有正交基让其对角化。一般的n * n矩阵,比如Jordan block是没法对角化的

求出矩阵A的特征值和特征向量,就可以把矩阵A特征分解

A=WΣW^(-1)

W: n个特征向量张成的n*n维矩阵

Σ: n个特征值为主对角线的n*n维矩阵(其他的为零)

!!!把W的n个特征向量标准化→每个w,满足(w^T)·w=1 or ||w||^2=1后

n个特征向量是标准正交基,满足(W^T)·W=I or W^T=W^(-1),W是酉矩阵

此时特征分解:A=WΣW^(-T)

【上面是方阵的情况】

【下面是SVD,不要求方阵】

A(m*n)的SVD

U: m*m

Σ: m*n,除主对角线元素(奇异值)全为零

V: n*n

U和V是酉矩阵(满足(W^T)·W=I )

 

 

goal:求SVD分解后的U,Σ,V这三个矩阵

step1: 进行特征分解,得到的特征值和特征向量满足下式:

(A^T)·A(n*n)的所有特征向量张成一个n×n的矩阵V=SVD公式里的V矩阵

V中的每个特征向量叫做A的右奇异向量

step2:

A·(A^T)(m*m)的所有特征向量张成一个m×m的矩阵V=SVD公式里的U矩阵

U中的每个特征向量叫做A的左奇异向量

step3:

∵Σ除了对角线上是奇异值其他位置都是0

∴只需要求出每个奇异值σ

the reason of step1:

特征值和奇异值满足:

求奇异值的新方法get

SVD计算举例

 

 

 

 


PCA降维,需要找到样本协方差矩阵 (X^T)·X的最大的d个特征向量

然后用这最大的d个特征向量张成的矩阵来做低维投影降维

有一些SVD的实现算法可以不求先求出协方差矩阵 ,也能求出右奇异矩阵V

PCA算法可以不用做特征分解,而是做SVD来完成

实际上,scikit-learn的PCA算法的背后真正的实现就是用的SVD

PCA仅仅使用了我们SVD的右奇异矩阵,即用于列数即特征维度的压缩,也就是我们的PCA降维

左奇异矩阵可以用于行数的压缩

读评论:SVD是对数据进行有效特征整理的过程

对于一个m×n矩阵A,我们可以理解为其有m个数据,n个特征,(想象成一个n个特征组成的坐标系中的m个点),然而一般情况下,这n个特征并不是正交的,也就是说这n个特征并不能归纳这个数据集的特征。

SVD的作用就相当于是一个坐标系变换的过程,从一个不标准的n维坐标系,转换为一个标准的k维坐标系,并且使这个数据集中的点,到这个新坐标系的欧式距离为最小值(也就是这些点在这个新坐标系中的投影方差最大化),其实就是一个最小二乘的过程。

如何使数据在新坐标系中的投影最大化呢,那么我们就需要让这个新坐标系中的基尽可能的不相关,我们可以用协方差来衡量这种相关性。A^T·A中计算的便是n×n的协方差矩阵,每一个值代表着原来的n个特征之间的相关性。

当对这个协方差矩阵进行特征分解之后,我们可以得到奇异值和右奇异矩阵,而这个右奇异矩阵则是一个新的坐标系,奇异值则对应这个新坐标系中每个基对于整体数据的影响大小,我们这时便可以提取奇异值最大的k个基,作为新的坐标,这便是PCA的原理

对于表达特征空间的信息,用正交特征能更方便直观的去归纳,非正交特征表达更困难,也更容易出现冗余特征。

  • 希望降维多少个维度,就从最大的λ依次开始取(最大,次大,次次大……)
  • 特征值大表示信息量丰富,反之不丰富
  • PCA(主成分分析)所对应的数学理论是SVD(矩阵的奇异值分解)。而奇异值分解本身是完全不需要对矩阵中的元素做标准化或者去中心化的。

但是对于机器学习,我们通常会对矩阵(也就是数据)的每一列先进行标准化。

PCA通常是用于高维数据的降维,它可以将原来高维的数据投影到某个低维的空间上并使得其方差尽量大。如果数据其中某一特征(矩阵的某一列)的数值特别大,那么它在整个误差计算的比重上就很大,那么可以想象在投影到低维空间之后,为了使低秩分解逼近原数据,整个投影会去努力逼近最大的那一个特征,而忽略数值比较小的特征。

因为在建模前我们并不知道每个特征的重要性,这很可能导致了大量的信息缺失。为了“公平”起见,防止过分捕捉某些数值大的特征,我们会对每个特征先进行标准化处理,使得它们的大小都在相同的范围内,然后再进行PCA。

此外,从计算的角度讲,PCA前对数据标准化还有另外一个好处。因为PCA通常是数值近似分解,而非求特征值、奇异值得到解析解,所以当我们使用梯度下降等算法进行PCA的时候,我们最好先要对数据进行标准化,这是有利于梯度下降法的收敛。

(from 主成分分析PCA算法:为什么要对数据矩阵进行均值化? - Bruce的回答 - 知乎 https://www.zhihu.com/question/40956812/answer/1188542265)

  • 白化whitening

原文地址:http://blog.csdn.net/hjimce/article/details/50864602

**作者:**hjimce

一、相关理论

白化是一个比PCA稍微高级一点的算法

目的是去除输入数据的冗余信息。假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的;白化的目的就是降低输入的冗余性。

输入数据集X,经过白化处理后,新的数据X'满足两个性质:

(1)特征之间相关性较低;(2)所有特征具有相同的方差。

PCA如果不降维,而是仅仅使用PCA求出特征向量,然后把数据X映射到新的特征空间,这样的一个映射过程,其实就是满足了我们白化的第一个性质:除去特征之间的相关性。因此白化算法的实现过程,第一步操作就是PCA,求出新特征空间中X的新坐标,然后再对新的坐标进行方差归一化操作。

二、算法概述

白化分为PCA白化、ZCA白化

1、PCA预处理

 

 


上面图片,左图表示原始数据X

然后我们通过协方差矩阵可以求得特征向量u1、u2,

然后把每个数据点,投影到这两个新的特征向量,得到进行坐标如下:

 

 

2、PCA白化

对上面的pca的新坐标X’,每一维的特征做一个标准差归一化处理。

X'为经过PCA处理的新PCA坐标空间,然后λi就是第i维特征对应的特征值(前面pca得到的特征值),ε是为了避免除数为0。

3、ZCA白化

ZCA白化是在PCA白化的基础上,又进行处理的一个操作。具体的实现是把上面PCA白化的结果,又变换到原来坐标系下的坐标:

 

 


(from 机器学习(七)白化whitening_hjimce的博客-CSDN博客_特征白化)

  • 机器学习中一个重要的思想:不是找到曲折的分界线,而是找到在高维(或低维)的投影,并在新维度中找到合适的线性分界面

标签:白化,特征向量,argmax,SVD,矩阵,特征,PCA
来源: https://www.cnblogs.com/asandstar/p/16459396.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有