Collaborative Filtering 协同过滤小结 part-2:SVD

  接下来介绍下SVD

基于SVD方法的CF

  SVD-CF是应用最广也最成功的协同过滤方法,现在对SVD介绍下。

基本SVD方法

  1) 已知矩阵 An,m ,如何最大限度地保留信息地近似估计。
  Singular Value Decomposition给出了一种矩阵分解的方法。
  

An,m=Un,nΣn,nVTm,n

   Σ=diag(σ1,σ2,σ3,...,σn) ;  σ1σ2σ3...σrσr+1=...=σn=0
   2) 正交性质: V1=VT; UTU=VTV=I;U1=UT;
  正交矩阵映射保持距离不变,所以是一个 保距映射
  从分解可以理解为,任何一个点,都可以由同维度内两个正交系的乘积表示。
   3) F-2阶范数: ||A||2F=[nij|ai,j|2]=σ21+σ22+σ23+...+σ2r
  若
A^=Un,kΣk,kVTm,k
  则
minrank(B)=k||AB||2F=||AA^||2F=σ2k+1+σ2k+2+,...,+σ2n
  (上面这个是理解SVD在工程中寻优方法的 关键。构造k秩的矩阵B,使得满足最小化F-2阶范数 ||AB||2F ,则可以逼近于 A^ 。)
  那么,我们可以取top-K秩,来估计矩阵A。
  取top-K秩,还可以实现降噪取主要部分的功能。
  
  ## 与特征值的关系 ##
  U的列向量是 AAT 的特向。
  V的列向量是 ATA 的特向。

直观理解SVD

  换个角度,理解下SVD分解。
  1) 对矩阵 An,m ,可以看做是m维空间内的一个线性变换。
  选择同空间内一组正交的单位基底 {vi}
  则可以通过线性变换A,将 {vi} 投射到另外一组基底表示的空间去,得 {Avi}
  若令投射空间的单位基底为 {ui} ,则有
  

Avi=σiuiσiσi=|Avi|

   2) 任意向量 x 由基底{vi}表示如下: x=ri=1<vi,xi>vi
  经过 A 线性变换后:
  Ax=Ari=1<vi,xi>vi
     =ri=1A<vi,xi>vi
     =ri=1AvTixivi
     =ri=1vTixiAvi
     =ri=1vTixiσiui
     =ri=1uiσivTixi
  可以得到: A=U[σ]VT
   A[v1,v2,...,vk]=[σ1u1,σ2u2,...,σk,uk]
  此时,只知道 v 是正交的,两边同乘以VT,也可以得到 A=U[σ]VT
  
A=U[σ]VT

   3) ui 之间是什么关系呢?
   <Avi,Avk>=(Avi)T(Avk)=vTiAT(Avk)=<vi,ATAvk> <script id="MathJax-Element-1928" type="math/tex"> = (Av_i)^T*(Av_k)=v_i^TA^T*(Av_k)= </script>
   notice 若取 vi ATA 的特征向量。对称矩阵的不同非零特值的特向是正交的。
  则上式 =vTiATAvk=vTiλkvk=λkvTivk=0
  由投射关系可得:
   <Avi,Avk>=<σiui,σkuk>=(σiui)T(σkuk)=σiσk<ui,uk> <script id="MathJax-Element-1932" type="math/tex"> = <\sigma_i u_i, \sigma_k u_k > = (\sigma_i u_i)^T * (\sigma_k u_k) = \sigma_i \sigma_k </script>
   所以 <ui,uk>=0 <script id="MathJax-Element-1933" type="math/tex"> =0</script>,即 {ui} 也是正交的,在 v ATA的特向时。
  所以 σi=|Avi|=λi;:|Avi|2F=k(λivi,k)2=λivTivi
  且 A 可以表示为:
  
A=U[λ]VT

  于是我们可以找到两组正交基底,满足条件,what a happy life。
  对其中一组基底 {v} 经过线性变换 A ,投射到新的正交基底下,表示为λivi,其中 λ ATA 的特值。
  

Avi=λiui

  
λATAvATAuAAT

   到此表明:任意的矩阵 A 可以分解成三个矩阵,V表示ori-domain内的一组标准正交基, λ 表示 v u中的对应向量之间的数量关系(拉伸了多少倍), U 表示经过A线性变换后,co-domain内的一组标准正交基。

reference
  1. Using Linear Algebra for Intelligent Information Retrieval
  2. http://charleshm.github.io/2016/03/Singularly-Valuable-Decomposition/
  3. http://www.ams.org/samplings/feature-column/fcarc-svd
  4. http://blog.sciencenet.cn/blog-696950-699432.html
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值