用奇异值分解(SVD)方法分析兴趣相似度

如果你和朋友俩人都喜欢看《泰坦尼克》、《西雅图未眠人》、《廊桥遗梦》,但都不爱看《黑客帝国》、《盗梦空间》,那你们之间的兴趣一定很接近。人脑很容易根据一系列“A like X”的信息做出直觉的判断,但人脑能处理的数据量太小,也太慢,需要有算法来让计算机也能自动处理这样的兴趣相似度分析。线性代数中的矩阵奇异值分解(Singular Value Decomposition, 或 SVD)就是这样的算法之一。

矩阵奇异值分解(SVD)

对于任意矩阵 M,其奇异值分解就是 M = U * S * Vt,其中 U 为左矩阵,是一个方阵;S 为奇异值矩阵,是一个对角矩阵,对角线上的各值就是奇异值;Vt 为右矩阵,也是一个方阵;“*”是矩阵之间的点积运算(dot operation)。

奇异值分解的作用在于:把矩阵 M 看作一个坐标系下的若干点,寻找一个新的坐标系(即新的线性空间),使得该坐标系中第一个坐标轴的方向是最具“差异性”的方向(例如下图中的 v1),而这个方向对应的奇异值则能表示“差异”的程度有多大;该坐标系的第二个坐标轴是稍微次要一些的方向,其奇异值也要小一些;依此类推。所谓有“差异性”的方向是指能最大限度地体现出数据差别的方向,例如《西游记》可能大家都爱看,但不同人对《三体》的评价就差异非常大,所以《三体》对于分析个人的兴趣取向更有价值。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值