首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习虾扯蛋之SVD奇异值分解No.48

机器学习虾扯蛋之SVD奇异值分解No.48

作者头像
大蕉
发布于 2018-02-05 10:49:44
发布于 2018-02-05 10:49:44
76300
代码可运行
举报
运行总次数:0
代码可运行

机器学习说难不难,说简单也不简单。跟着小蕉有饭吃。

今天分享的是机器学习里面一个寻找主要成分的算法,SVD (Singularly Valuable Decomposition) 奇异值分解。

首先寻找主要成分有什么最最最最主要的用处呢?

1、噪音过滤

2、数据压缩

奇异值分解,其实就是矩阵分解的一种,本次矩阵分解的模式是这样的,其中中间的 ∑ 就是奇异值矩阵。

假设A是一个m*n的矩阵,那么U就是一个m*m的,∑是一个m*n的,V是一个n*n的,这样子就可以将目标矩阵A用三个矩阵相乘来表示了。

而经过实验,我们发现 ∑ 的奇异值其实并不是每一个值都是很大的,一般取 Top r 个就足以表示这整个矩阵了。

所以得出了下面这么一个不等式。

(r是一个远小于m,n的数)

这时候矩阵所占的容量从m*n变为m*r+r*r+r*n,因为Σ是奇异值大小排列取前 r 个的,所以就做到了提取主要成分的效果,而因为容量变小了,所以也起到了压缩的作用。

好,原理是怎样已经解释清楚了,那么问题来了,这个奇异值要怎么求呢?老司机告诉我们,就这样分五步走。

1、进行矩阵变换,从A变为

2、求特征值λ,特征向量v。

3、奇异值σi为

,Σ的值为λ组成的对角矩阵。

4、左奇向量值U等于特征向量v。

5、右奇异向量值V为 1/σi * (A * vi)

当然你要是不会算,也没关系,作为手残党我自己也经常算不出来。已经有很多现成的库帮我们计算好了,并不需要我们自己算,比如sklearn里面的长这样。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  from sklearn.decomposition import TruncatedSVD
  X = something
  svd = TruncatedSVD(n_components=2)
  X_reduced = svd.fit_transform(X)

又比如Spark里面是这样玩的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
val mat:RowMatrix = new RowMatrix(dataRDD)    
val svd: SingularValueDecomposition[RowMatrix,Matrix] = mat.computeSVD(2,computeU = true)    
 val U:RowMatrix = svd.U //U矩阵
 val s:Vector = svd.s //奇异值
 val V:Matrix = svd.V //V矩阵

好了,今天就分享到这~掰掰~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名叫大蕉的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【技术分享】奇异值分解
  在了解特征值分解之后,我们知道,矩阵A不一定是方阵。为了得到方阵,可以将矩阵A的转置乘以该矩阵。从而可以得到公式:
腾讯云TI平台
2020/03/25
9300
数据科学中必须知道的5个关于奇异值分解(SVD)的应用
这听起来是不是很熟悉?我经常听到我大学的熟人抱怨他们花了很多时间的代数方程在现实世界中基本没用。
磐创AI
2019/08/29
6.4K0
数据科学中必须知道的5个关于奇异值分解(SVD)的应用
SVD奇异值分解 中特征值与奇异值的数学理解与意义
更像是矩阵分解多一点,没有涉及到SVD的数学意义,这篇博客大概会写一些数学SVD的数学理解,以及SVD在PCA和推荐算法上面的应用。
大鹅
2021/06/16
2.4K0
入门 | 奇异值分解简介:从原理到基础机器学习应用
选自machinelearningmastery 作者:Jason Brownlee 机器之心编译 参与:Panda 矩阵分解在机器学习应用中的重要性无需多言。本文对适用范围很广的奇异值分解方法进行了介绍,并通过代码演示说明了其工作方式、计算方法及其常见的几种基础应用。 矩阵分解也叫矩阵因子分解,涉及到用给定矩阵的组成元素描述该矩阵。 奇异值分解(SVD)可能是最著名和使用最广泛的矩阵分解方法。所有矩阵都有一种 SVD 方法,这使得其比特征分解(eigendecomposition)等其它方法更加稳定。因此
机器之心
2018/05/09
1.6K0
入门 | 奇异值分解简介:从原理到基础机器学习应用
奇异值分解SVD
矩阵分解在机器学习领域有着广泛应用,是降维相关算法的基本组成部分。常见的矩阵分解方式有以下两种
生信修炼手册
2021/04/14
9910
Using truncated SVD to reduce dimensionality使用截断奇异值进行降维
Truncated Singular Value Decomposition (SVD) is a matrix factorization technique that factors a matrix M into the three matrices U, Σ, and V. This is very similar to PCA, excepting that the factorization for SVD is done on the data matrix, whereas for PCA, the factorization is done on the covariance matrix. Typically, SVD is used under the hood to find the principle components of a matrix.
到不了的都叫做远方
2019/11/03
2.4K0
奇异值分解 SVD 的数学解释
本文介绍了奇异值分解(SVD)在机器学习和深度学习领域中的应用,包括图像压缩、去噪、降维等方面。SVD是一种矩阵分解方法,能够将矩阵分解为三个矩阵的乘积,从而可以用于计算图像压缩、去噪、降维等任务中的奇异值。同时,SVD也可以用于深度学习中的特征值分解,从而帮助机器学习算法更好地理解数据。
Alan Lee
2018/01/02
1.6K0
奇异值分解 SVD 的数学解释
奇异值分解(SVD)
最近两天都在看奇异值分解及其在推荐系统和图像压缩方面的应用,这部分知识比较散也比较难理解,看代码不是很好懂,所以通过编学边整理的方式帮助大脑理解这部分知识。 SVD思维导图 奇异值分解是什么 奇异值
用户1332428
2018/03/08
1.7K0
奇异值分解(SVD)
机器学习中的数学(6)-强大的矩阵奇异值分解(SVD)及其应用
上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。 特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,
机器学习AI算法工程
2018/03/12
1.5K0
机器学习中的数学(6)-强大的矩阵奇异值分解(SVD)及其应用
如何让奇异值分解(SVD)变得不“奇异”?
在之前的一篇文章:划重点!通俗解释协方差与相关系数,红色石头为大家通俗化地讲解了协方差是如何定义的,以及如何直观理解协方差,并且比较了协方差与相关系数的关系。
红色石头
2022/01/12
7040
如何让奇异值分解(SVD)变得不“奇异”?
矩阵特征值分解(EDV)与奇异值分解(SVD)在机器学习中的应用
参考资料 百度百科词条:特征分解,矩阵特征值,奇异值分解,PCA技术 https://zhuanlan.zhihu.com/p/29846048 https://towardsdatascience.com/all-you-need-to-know-about-pca-technique-in-machine-learning-443b0c2be9a1
全栈程序员站长
2022/07/22
1.5K0
矩阵特征值分解(EDV)与奇异值分解(SVD)在机器学习中的应用
【生物信息学】奇异值分解(SVD)
SVD分解核心思想是通过降低矩阵的秩来提取出最重要的信息,实现数据的降维和去噪。
Qomolangma
2024/07/30
3990
【生物信息学】奇异值分解(SVD)
机器学习(29)之奇异值分解SVD原理与应用详解
关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 前言 奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域,是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。 特征值与特征向量 首先回顾下特征值和特征向量的定义如下: Ax=λx 其中A是
昱良
2018/04/04
2K0
机器学习(29)之奇异值分解SVD原理与应用详解
奇异值分解及几何意义「建议收藏」
PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义。能在有限的篇幅把这个问题讲解的如此清晰,实属不易。原文举了一个简单的图像处理问题,简单形象,真心希望路过的各路朋友能从不同的角度阐述下自己对SVD实际意义的理解,比如 个性化推荐中应用了SVD,文本以及Web挖掘的时候也经常会用到SVD。
全栈程序员站长
2022/11/17
8280
奇异值分解及几何意义「建议收藏」
三个主要降维技术对比介绍:PCA, LCA,SVD
随着数据集的规模和复杂性的增长,特征或维度的数量往往变得难以处理,导致计算需求增加,潜在的过拟合和模型可解释性降低。降维技术提供了一种补救方法,它捕获数据中的基本信息,同时丢弃冗余或信息较少的特征。这个过程不仅简化了计算任务,还有助于可视化数据趋势,减轻维度诅咒的风险,并提高机器学习模型的泛化性能。降维在各个领域都有应用,从图像和语音处理到金融和生物信息学,在这些领域,从大量数据集中提取有意义的模式对于做出明智的决策和建立有效的预测模型至关重要。
deephub
2023/10/09
1.6K0
三个主要降维技术对比介绍:PCA, LCA,SVD
矩阵分解: SVD-PCA
矩阵分解(Decomposition Factorization)是将矩阵拆解为若干个矩阵的相乘的过程。在数值分析中,常常被用来实现一些矩阵运算的快速算法,在机器学习领域有非常重要的作用。有的推荐系统采用SVD算法来实现整套系统中的矩阵分解过程。
用户3578099
2023/09/21
5160
【陆勤践行】奇异值分解 - 最清晰易懂的svd 科普
在这篇文章中,我们以几何的视角去观察矩阵奇异值分解的过程,并且列举一些奇异值分解的应用。 介绍 矩阵奇异值分解是本科数学课程中的必学部分,但往往被大家忽略。这个分解除了很直观,更重要的是非常具有实用价值。譬如,Netflix(在线电影租赁公司)对能够提高其电影推荐系统准确率10%的人提供100万美元的丰厚奖金。令人惊奇的是,这个看似简单的问题却非常具有挑战性,相关的团队正在使用非常复杂的技术解决之,而这些技术的本质都是奇异值分解。 奇异值分解简单来讲,就是以一种方便快捷的方式将我们感兴趣的矩阵分解成更简单且
陆勤_数据人网
2018/02/26
1.2K0
【陆勤践行】奇异值分解 - 最清晰易懂的svd 科普
通俗易懂的讲解奇异值分解(SVD)和主成分分析(PCA)
奇异值分解(The Singular Value Decomposition,SVD)
deephub
2020/06/17
2.7K0
奇异值分解(SVD)
奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。
AngelNH
2020/07/15
9950
奇异值分解(SVD)
机器学习基础:奇异值分解(SVD)
奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,也是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。
Ai学习的老章
2022/05/26
6960
机器学习基础:奇异值分解(SVD)
相关推荐
【技术分享】奇异值分解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验