首页 > 编程知识 正文

关于svd分解和特征值分解函数的说法错误的是,svd奇异值分解作用

时间:2023-05-03 22:53:35 阅读:237129 作者:2265

PCA的实现由两种方法,一种是特征值分解,另一种是奇异值分解,特征值分解和奇异值分解的目的是一样的,都是提取出一个矩阵最重要的特性。

特征值

线性代数中对特征值和特征向量的定义:设A是n阶方阵,如果存在 λ 和n维非零向量x,使 Ax=λxAx=λx,则 λ 称为方阵A的一个特征值,x为方阵A对应于或属于特征值 λ 的一个特征向量。从定义可以看出,对特征向量x进行A变换的实质是将特征向量进行缩放,缩放因子为特征值λ。因此,特征向量的代数上含义是:将矩阵乘法转换为数乘操作;特征向量的几何含义是:特征向量通过方阵A变换只进行伸缩,而保持特征向量的方向不变。特征值表示的是这个特征到底有多重要,类似于权重,而特征向量在几何上就是一个点,从原点到该点的方向表示向量的方向。

  一个变换方阵的所有特征向量组成了这个变换矩阵的一组基。所谓基,可以理解为坐标系的轴。我们平常用到的大多是直角坐标系,在线性代数中可以把这个坐标系扭曲、拉伸、旋转,称为基变换。我们可以按需求去设定基,但是基的轴之间必须是线性无关的,也就是保证坐标系的不同轴不要指向同一个方向或可以被别的轴组合而成,否则的话原来的空间就“撑”不起来了。从线性空间的角度看,在一个定义了内积的线性空间里,对一个N阶对称方阵进行特征分解,就是产生了该空间的N个标准正交基,然后把矩阵投影到这N个基上。N个特征向量就是N个标准正交基,而特征值的模则代表矩阵在每个基上的投影长度。特征值越大,说明矩阵在对应的特征向量上的方差越大,功率越大,信息量越多。总结一下,特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么,可以将每一个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干很多的事情。不过,特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。

  在机器学习特征提取中,意思就是最大特征值对应的特征向量方向上包含最多的信息量,如果某几个特征值很小,说明这几个方向信息量很小,可以用来降维,也就是删除小特征值对应方向的数据,只保留大特征值方向对应的数据,这样做以后数据量减小,但有用信息量变化不大,PCA降维就是基于这种思路。

注意:矩阵的特征值要求矩阵是非奇异矩阵(即方阵且行列式的值不为零)

奇异值

奇异矩阵是线性代数的概念,就是该矩阵的秩不是满秩。

首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵,若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。然后,再看此矩阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。 同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。 如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。

特征值及特征值分解都是针对方阵而言,现实世界中,我们看到的大部分矩阵不是方阵,比如每道数据有M个点,一共采集了N道数据,这样就形成了一个N*M的矩阵,那么怎样才能像方阵一样提取出它的特征,以及特征的重要性。奇异值分解就是来干这个事情的。奇异值相当于方阵中的特征值,奇异值分解相当于方阵中的特征值分解。

奇异值分解(SVD)是一种适用于任意矩阵的分解方法。

对于非奇异矩阵进行奇异值分解(SVD),得到的奇异值,其实就是特征值。

推荐博客:SVD分解,QR分解 用来解 超定方程,写的挺好的博客。

 https://blog.csdn.net/kokerf/article/details/72437294  

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。