降维算法: 奇异值分解SVD

简介: 降维算法: 奇异值分解SVD

动动发财的小手,点个赞吧!

1. 为什么降维

总所周知,在低维下,数据更容易处理,但是在通常情况下我们的数据并不是如此,往往会有很多的特征,进而就会出现很多问题:

  1. 多余的特征会影响或误导学习器
  2. 更多特征意味着更多参数需要调整,过拟合风险也越大
  3. 数据的维度可能只是虚高,真实维度可能比较小
  4. 维度越少意味着训练越快,更多东西可以尝试,能够得到更好的结果
  5. 如果我们想要可视化数据,就必须限制在两个或三个维度上

因此,我们需要通过降维(dimensionality reduction)把无关或冗余的特征删掉。

  • 现有降维方法:

2. SVD 概述

奇异值分解(Singular Value Decomposition)简称SVD,主要作用是简化数据,提取信息。

利用SVD实现,我们能够用小得多的数据集来表示原始数据集。这样做,实际上是去除了噪声和冗余信
息。当我们试图节省空间时,去除噪声和冗余信息就是很崇高的目标了,但是在这里我们则是从数据中
抽取信息。基于这个视角,我们就可以把SVD看成是从有噪声数据中抽取相关特征

  • SVD是如何从这些充满着大量噪声的数据中抽取相关特征呢?

SVD的公式:

这个公式中, U 和 V 都是正交矩阵,即:

原始数据集A是一个m行n列的矩阵,它被分解成了三个矩阵,分别是:

这个公式用到的就是矩阵分解技术。在线性代数中还有很多矩阵分解技术。矩阵分解可以将原始矩阵
表示成新的易于处理的形式,这种新形式是两个或多个矩阵的乘积。

不同的矩阵分解技术具有不同的性质,其中有些更适合于某个应用,有些则更适合于其他应用。最常
见的一种矩阵分解技术就是SVD。

  • Example

  • Example

3. SVD 的应用

3.1. 信息检索

最早的SVD应用之一就是信息检索。利用SVD方法为隐形语义索引(Latent Semantic Indexing,LSI)或者隐形语义分析(Latent Semantic Analysis,LSA)。

在LSI中,一个矩阵是由文档和词语组成的。当我们在该矩阵上应用SVD时,就会构建出多个奇异值。这些奇异值代表了文档中的概念或主题,这一特点可以用于更高效的文档搜索。在词语拼写错误时,只基于词语存在与否的简单搜索方法会遇到问题。简单搜索的另一个问题就是同义词的使用。这就是说,当我们查找一个词时,其同义词所在的文档可能并不会匹配上。如果我们从上千篇相似的文档中抽取出概念,那么同义词就会映射为同一概念。 这样就可以大大提高文档搜索的效率。

3.2. 推荐系统

SVD的另外一个应用就是推荐系统。也是目前SVD最主要的一个应用简单版本的推荐系统能够计算项或者人之间的相似度。更先进的方法则先利用SVD从数据中构建一个主题空间,然后再在该空间下计算其相似度。

相关文章
|
4天前
|
算法 数据可视化 数据挖掘
Barnes-Hut t-SNE:大规模数据的高效降维算法
Barnes-Hut t-SNE是一种针对大规模数据集的高效降维算法,它是t-SNE的变体,用于高维数据可视化。t-SNE通过保持概率分布相似性将数据从高维降至2D或3D。Barnes-Hut算法采用天体物理中的方法,将时间复杂度从O(N²)降低到O(NlogN),通过构建空间索引树和近似远距离交互来加速计算。在scikit-learn中可用,代码示例展示了如何使用该算法进行聚类可视化,成功分离出不同簇并获得高轮廓分数,证明其在大數據集上的有效性。
22 1
|
4天前
|
机器学习/深度学习 算法 数据可视化
降维算法了解一下
在机器学习中,随着数据特征的增加,需要更大的计算资源来训练模型。这可能导致模型的训练时间和内存消耗增加,甚至可能导致模型无法训练或训练结果不准确。 为此,降维算法成为机器学习领域中的一种重要技术,它可以将高维空间中的数据点映射到低维空间中。降维算法可以帮助我们发现数据中的隐藏模式和结构,提高模型的效果和性能。 降维算法主要分为线性降维和非线性降维两种。
|
6月前
|
机器学习/深度学习 人工智能 算法
解密人工智能:KNN | K-均值 | 降维算法 | 梯度Boosting算法 | AdaBoosting算法
解密人工智能:KNN | K-均值 | 降维算法 | 梯度Boosting算法 | AdaBoosting算法
108 0
|
8月前
|
算法 机器人 调度
降维打击,offer拿到吐!字节跳动算法大佬工作笔记整成算法宝典
前言 算法,一个听起来高深又晦涩的概念,仿佛逐渐支配了我们日常生活的方方面面,依托这个概念而衍生出的工作行业,也逐渐成为兼具“前途”与“钱途”的香饽饽。 其实要搞清楚“算法”为什么值钱,看看我们的日常生活就知道。从早上出门打车用的打车软件、导航软件,上班用的电脑、文件和在线工具,点外卖咖啡的App(应用程序)和快递调度,到手机支付,孩子上的网课,在淘宝、京东购物,看微信,刷抖音,用语音助手,和机器人聊天,这些行为背后全是强大的算法在操纵。 未来是人和机器一起仰望星空的时代,而算法是打开未来世界的钥匙。普通人需要深度了解算法吗?答案当然是肯定的。或许你已经听倦了“我们生活在算法操控的时代”这
60 0
|
机器学习/深度学习 数据采集 算法
机器学习——降维算法PCA
机器学习——降维算法PCA
179 0
机器学习——降维算法PCA
|
11月前
|
数据采集 机器学习/深度学习 存储
基于PCA降维的交通标志训练和识别算法matlab仿真
交通标志识别一直是计算机视觉和机器学习领域的研究热点之一。PCA(Principal Component Analysis)降维算法是一种常用的特征提取方法,可以将高维数据降低到低维空间中。本文介绍一种基于PCA降维的交通标志训练和识别算法,该算法可以从交通标志图像中提取特征,并训练出一个分类器,用于识别新的交通标志图像。
基于PCA降维的交通标志训练和识别算法matlab仿真
|
机器学习/深度学习 算法
【机器学习算法】4、降维算法之PCA(深入理解与实践)(二)
【机器学习算法】4、降维算法之PCA(深入理解与实践)(二)
126 0
|
机器学习/深度学习 数据采集 算法
【机器学习算法】4、降维算法之PCA(深入理解与实践)(一)
【机器学习算法】4、降维算法之PCA(深入理解与实践)(一)
122 0
|
算法 生物认证 语音技术
基于ORL人脸数据库和PCA特征降维算法的人脸识别matlab仿真
基于ORL人脸数据库和PCA特征降维算法的人脸识别matlab仿真
167 0
|
机器学习/深度学习 算法 数据可视化