• 奇异值分解(SVD)


         最近不小心接触到了SVD,然后认真看下去之后发现这东西真的挺强大的,把一个推荐问题转化为纯数学矩阵问题,看了一些博客,把一个写个比较具体的博文引入进来,给自己看的,所以把觉得没必要的就去掉了,博文下面附原始博客地址。

          

    一、基础知识

    1. 矩阵的秩:矩阵的秩是矩阵中线性无关的行或列的个数

    2. 对角矩阵:对角矩阵是除对角线外所有元素都为零的方阵

    3. 单位矩阵:如果对角矩阵中所有对角线上的元素都为零,该矩阵称为单位矩阵

    4. 特征值:对一个M x M矩阵C和向量X,如果存在λ使得下式成立

    2 

    则称λ为矩阵C的特征值,X称为矩阵的特征向量。非零特征值的个数小于等于矩阵的秩。

    即对于矩阵C,经过初等行列变化后成为对角矩阵,对角矩阵对角线上的值是特征值。

    5. 特征值和矩阵的关系:考虑以下矩阵

    clip_image004

    该矩阵特征值λ1 = 30,λ2 = 20,λ3 = 1。对应的特征向量

    clip_image006

    假设VT=(2,4,6) 计算S x VT

    clip_image008

    clip_image010

          有上面计算结果可以看出,矩阵与向量相乘的结果与特征值,特征向量有关。观察三个特征值λ1 = 30,λ2 = 20,λ3 = 1,λ3值最小,对计算结果的影响也最小,如果忽略λ3,那么运算结果就相当于从(60,80,6)转变为(60,80,0),这两个向量十分相近。这也表示了数值小的特征值对矩阵-向量相乘的结果贡献小,影响小。这也是后面谈到的低阶近似的数学基础。

     二、奇异值分解

          在LSA中,我们是要对Term-Document矩阵进行分解,很显然这个矩阵不是方阵。这时需要奇异值分解对Term-Document进行分解。

    假设C是M x N矩阵,U是M x M矩阵,其中U的列为CCT的正交特征向量,V为N x N矩阵,其中V的列为CTC的正交特征向量,再假设r为C矩阵的秩,则存在奇异值分解:

    clip_image020

    其中CCT和CTC的特征值相同,为clip_image022

    Σ为M X N,其中clip_image024clip_image026,其余位置数值为0,clip_image028的值按大小降序排列。以下是Σ的完整数学定义:

    clip_image030

    注意:当clip_image028的值按大小降序排列的时候,V就是C中与clip_image028排序前相对应的行的特征向量

    σi称为矩阵C的奇异值。

    用C乘以其转置矩阵CT得:

    clip_image032

    奇异值分解可表示为:

    假设m与n都是俩个比较大的数值m = 1,000,000  n = 500,000,在通常情况下这个矩阵的规模是100亿,通过SVD分解后,k是一个可选值,假设k=100,则奇异值分解后的三个矩阵规模为1亿,规模缩小5000倍,这就是SVD的厉害之处了

    这三个矩阵有着非常清楚的物理含义,首先,我们假设矩阵C是用来描述一百万个用户对五十万部电影的偏好度。这个矩阵中,每一行对应一个用户,每一列对应一部电影。SVD分解后的第一个矩阵U中的每一列表示一类抽象主题,例如每个用户(m表示的是用户)对于恐怖类型电影的偏好度,数值越大越喜欢。最后一个矩阵V中的每一行表示每部电影(n表示的是电影)的某个抽象主题所占的权重,简而言之即,矩阵U是用户的特征向量,矩阵V是物品的特征向量,中间的矩阵则表示各类抽象主题之间的权重系数。

    三、SVD特征向量求解

    奇异值分解(SVD)详解: http://blog.csdn.net/wangzhiqing3/article/details/7446444

    奇异值分解(SVD)应用-LSI: http://blog.csdn.net/abcjennifer/article/details/8131087

  • 相关阅读:
    struts debug 标签
    No result defined for action com.lk.IndexAction and result success
    记一次jdk升级引起的 Unsupported major.minor version 51.0
    jar hell & elasticsearch ik 版本问题
    Glide图片加载框架小bug
    环信easeui集成:坑总结2018(二)
    Android项目实战(五十一):浅谈GreenDao
    Android项目实战(五十):微信支付 坑总结
    Android项目实战(四十九):Andoird 7.0+相机适配
    环信easeui集成:坑总结2018
  • 原文地址:https://www.cnblogs.com/juefan/p/3010163.html
Copyright © 2020-2023  润新知