0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习进阶之线性代数-奇异值分解(下)

jf_78858299 来源:人工智能大讲堂 作者:人工智能大讲堂 2023-05-22 16:27 次阅读

协方差矩阵

方差衡量一个变量在自身之间的变化,而协方差衡量两个变量(a和b)之间的变化。

图片

我们可以将所有可能的协方差组合保存在一个称为协方差矩阵Σ的矩阵中。

图片

我们可以将这个简单的矩阵形式重写为:

图片

对角线元素保存单个变量(如身高)的方差,而非对角线元素保存两个变量之间的协方差。现在让我们计算样本协方差。

图片

图片

正的样本协方差表明身高和体重是正相关的。如果它们是负相关的,协方差将为负数;如果它们是独立的,则协方差为零。

图片

协方差矩阵和SVD

我们可以使用SVD来分解样本协方差矩阵。由于σ₂相对于σ₁而言相对较小,我们甚至可以忽略σ₂项。当我们训练一个机器学习模型时,我们可以对身高和体重进行线性回归,形成一个新属性,而不是将它们视为两个分离且相关的属性(纠缠的数据通常使模型训练更加困难)。

图片

u₁有一个重要的意义,它是S的主要成分。

图片

在SVD的背景下,样本协方差矩阵具有一些特性:

  • 数据的总方差等于样本协方差矩阵S的迹,这个值等于S的奇异值的平方和。有了这个,我们可以计算如果删除较小的σᵢ项会损失多少方差。这反映了如果我们消除它们会丢失多少信息

图片

  • S的第一个特征向量u₁指向数据的最重要方向。在我们的例子中,它量化了体重和身高之间的典型比率。

图片

  • 当使用SVD时,从样本点到u₁的垂直平方距离的误差最小。

性质

协方差矩阵不仅对称,而且还是正半定的。因为方差是正数或者零,所以uᵀVu始终大于或等于零。通过能量测试,V是正半定的。

图片

因此,

图片

通常,在进行某些线性变换A之后,我们想知道转换后数据的协方差。这可以用变换矩阵A和原始数据的协方差来计算。

图片

相关矩阵

相关矩阵是协方差矩阵的标准化版本。相关矩阵对变量进行标准化(缩放),使它们的标准差为1。

图片

如果变量的量级相差很大,那么将使用相关矩阵。糟糕的缩放可能会损害梯度下降等机器学习算法的效果。

可视化

到目前为止,我们有很多方程式。让我们将SVD的作用可视化,并逐渐开发我们的洞察力。SVD将矩阵A分解为USVᵀ。将向量x(Ax)应用于A可以被视为对x执行旋转(Vᵀ),缩放(S)和另一个旋转(U)。

图片

如上所示,矩阵 V 的特征向量 vᵢ 被转换为:

图片

或者以完整矩阵形式表示

图片

r = m < n

奇异值分解(SVD)的洞察

如前所述,SVD 可以表示为

图片

由于 uᵢ 和 vᵢ 的长度为单位长度,确定每个项的重要性的最主要因素是奇异值 σᵢ。我们故意按降序对 σᵢ 进行排序。如果特征值变得太小,我们可以忽略剩下的项(+ σᵢuᵢvᵢᵀ + …)。

图片

这种表示法具有一些有趣的含义。例如,我们有一个矩阵,其中包含不同投资者交易的股票收益率。

图片

作为基金经理,我们可以从中获取什么信息?寻找模式和结构将是第一步。也许,我们可以找到具有最大收益的股票和投资者的组合。SVD 将 n × n 矩阵分解为具有奇异值 σᵢ 表示其显著性的 r 组件。将其视为一种将纠缠和相关属性提取到更少的无关联的主要方向的方法。

图片

如果数据高度相关,我们应该期望许多 σᵢ 值较小且可以忽略。

图片

在我们之前的例子中,体重和身高高度相关。如果我们有一个包含 1000 人体重和身高的矩阵,SVD 分解中的第一个组件将占主导地位。如我们之前讨论的那样,u₁ 向量确实表示了这 1000 人之间体重和身高的比例。

图片

主成分分析(PCA)

从技术上讲,SVD 分别提取具有最高方差的方向中的数据。PCA 是将 m 维输入特征映射到 k 维潜在因子(k 个主成分)的线性模型。如果我们忽略不太重要的项,我们将去除我们不太关心的组件,但保留具有最高方差(最大信息)的主要方向。

图片

考虑下面显示为蓝色点的三维数据点。它可以很容易地用一个平面来近似。

图片

您可能很快就会意识到,我们可以使用 SVD 找到矩阵 W。考虑下面位于二维空间的数据点。

图片

SVD 选择最大化输出方差的投影。因此,如果 PCA 具有更高的方差,它会选择蓝线而不是绿线。

图片

如下所示,我们保留具有前 kth 最高奇异值的特征向量。

图片

利率

让我们通过回顾一个关于利率数据的例子来更深入地说明这个概念,该数据源自美国财政部。从 3 个月、6 个月、…到 20 年的 9 种不同利率(基点)在连续 6 个工作日内进行了收集,其中 A 存储了与前一天相比的差异。A 的元素在此期间已经减去了其平均值。即它是零中心的(沿着其行)。

图片

样本协方差矩阵等于 S = AAᵀ/(5-1)。

图片

现在我们有了想要分解的协方差矩阵 S。SVD 分解为

图片

从 SVD 分解中,我们意识到我们可以关注前三个主成分。

图片

如图所示,第一个主成分与所有到期长度的日常变化的加权平均值有关。第二个主成分调整了与债券到期长度敏感的日常变化。(第三个主成分可能是曲率 - 二阶导数。)

我们在日常生活中很了解利率变化和期限之间的关系。因此,主成分重新确认了我们相信利率如何运作。但是当我们面对陌生的原始数据时,PCA 对于提取数据的主成分以找到底层信息结构非常有帮助。这可能回答了如何在大海捞针的一些问题。

提示

在执行 SVD 之前,对特征进行缩放。

图片

假设我们想保留 99% 的方差,我们可以选择 k,使得

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SVD
    SVD
    +关注

    关注

    0

    文章

    21

    浏览量

    12170
  • 机器学习
    +关注

    关注

    66

    文章

    8404

    浏览量

    132546
  • 线性代数
    +关注

    关注

    5

    文章

    50

    浏览量

    11063
收藏 人收藏

    评论

    相关推荐

    MATLAB线性方程和特征奇异命令

    MATLAB线性方程和特征奇异命令线性方程 \和/ 线性方程求解Chol Cholesky
    发表于 09-22 16:01

    线性代数超强总结

    线性代数超强总结
    发表于 05-26 07:26

    基于改进奇异值分解的人耳识别算法研究

    提出了基于特征矩阵和改进的奇异值分解的人耳识别算法。采用特征矩阵及Fisher最优鉴别分析方法将原始样本向最优鉴别矢量投影,有效地降低了维数,再进行奇异值分解后所得
    发表于 06-29 08:53 18次下载

    采用奇异值分解的数字水印嵌入算法

    提出一种新的数字水印嵌入算法,采用奇异值分解(SVD)算法对数据进行分解变换。利用正交矩阵作为容器进行水印嵌入,并通过参数的选择和纠错码的使用提高水印的隐蔽性和鲁棒性
    发表于 07-30 14:30 29次下载

    《工程线性代数(MATLAB版)》程序集

    工程线性代数(MATLAB版)》程序集:《工程线性代数(MATLAB版)》第六章例题6.20程序 陈怀琛,高淑萍,杨威合编,电子工业出版社,2007年6月奇异值分解
    发表于 10-24 08:40 0次下载

    基于整体与部分奇异值分解的人脸识别

    针对原有奇异值分解的不足,本文将图像矩阵进行投影,并对整体与三组局部奇异结合进行改进,再利用BP 神经网络进行分类识别,对该文提出的方法进行了人脸识别实验。结
    发表于 01-13 14:36 10次下载

    基于奇异值分解的车牌特征提取方法研究

    研究了基于小波分析的车牌图像定位、分割、大小归一化方法,并分析了奇异值分解算法的数学原理和算法。利用奇异值分解作为代数特征提取方法,获得图像的有效特征描述。以Mat
    发表于 10-17 11:08 28次下载
    基于<b class='flag-5'>奇异值分解</b>的车牌特征提取方法研究

    线性代数相关的基本知识

    线性代数包含了关于矩阵的所有相关的基本知识,可以快速学习,适合自学。
    发表于 12-22 17:58 0次下载

    基于FPGA的高光谱图像奇异值分解降维技术

    基于FPGA的高光谱图像奇异值分解降维技术
    发表于 08-30 15:10 2次下载

    基于BP神经网络和局部与整体奇异值分解的人脸识别

    基于BP神经网络和局部与整体奇异值分解的人脸识别matlab
    发表于 07-29 13:46 24次下载

    机器学习线性代数基础

    机器学习所需要的一些线性代数知识
    发表于 09-04 10:08 0次下载

    基于奇异值分解和引导滤波的低照度图像增强

    基于奇异值分解和引导滤波的低照度图像增强
    发表于 06-18 11:53 4次下载

    机器学习进阶线性代数-奇异值分解(上)

    机器学习(ML)中,最重要的线性代数概念之一是奇异值分解(SVD)和主成分分析(PCA)。在收集到所有原始数据后,我们如何发现其中的结构?例如,通过过去6天的利率,我们能否理解其组成
    的头像 发表于 05-22 16:26 1565次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>进阶</b><b class='flag-5'>之</b><b class='flag-5'>线性代数</b>-<b class='flag-5'>奇异值分解</b>(上)

    PyTorch教程2.3线性代数

    电子发烧友网站提供《PyTorch教程2.3线性代数.pdf》资料免费下载
    发表于 06-05 11:32 1次下载
    PyTorch教程2.3<b class='flag-5'>之</b><b class='flag-5'>线性代数</b>

    PyTorch教程22.1几何和线性代数运算

    电子发烧友网站提供《PyTorch教程22.1几何和线性代数运算.pdf》资料免费下载
    发表于 06-06 09:26 0次下载
    PyTorch教程22.1<b class='flag-5'>之</b>几何和<b class='flag-5'>线性代数</b>运算