当前位置: 首页> 汽车> 车展 > 【Python机器学习】利用SVD简化数据——矩阵分解

【Python机器学习】利用SVD简化数据——矩阵分解

时间:2025/7/11 15:24:31来源:https://blog.csdn.net/weixin_39407597/article/details/141291906 浏览次数: 0次

在很多情况下,数据中的一小段携带了数据集中的大部分信息,其他信息要么是噪声,要么就是毫不相关的信息。在线性代数中还有很多矩阵分解技术。矩阵分解可以将原始矩阵表示成新的易于处理的形式,这种新形式是两个或多个矩阵的乘积。我们将这种分解过程想象成代数中的因子分解。

将12分解成两个数的乘积,(1,12)、(2,6)、(3,4)都是合理的答案。

不同的矩阵分解技术具有不同的性质。其中有些更适合于某个应用,有些则更适合于其他应用。最常见的一种矩阵分解技术就是SVD。SVD将原始的数据集矩阵Data分解成三个矩阵U、\sumV^{T}。如果原始矩阵Data是m行n列,那么U、\sumV^{T}就分别是m行m列、m行n列和n行n列。上述过程可以写成如下形式:

Data_{m*n}=U_{m*m}\sum _{m*n}V^{T}_{n*n}

上述分解中会构建一个矩阵\sum,该矩阵只有对角元素,其他元素均为0.另一个惯例就是,\sum的对角元素是从大到小排列的。这些对角元素称为奇异值,它们对应了原始数据矩阵Data的奇异值。在PCA中,我们得到的是矩阵的特征值,它们告诉我们数据集中的重要特征。\sum中的奇异值也是如此。奇异值和特征值是有关系的。这里的奇异值就是矩阵Data*Data^{T}特征值的平方根。

矩阵\sum只有从大到小排列的对角元素。在科学和工程中,一直存在这样一个普遍事实:子啊某个奇异值的数目(r个)之后,其他的奇异值都置为0。这意味着数据集中仅有r个重要特征,而其余特征则都是噪声或者冗余特征。

关键字:【Python机器学习】利用SVD简化数据——矩阵分解

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: