转载请注明原地址:http://www.cnblogs.com/connorzx/p/4170047.html

提出原因

基于余弦定理对文本和词汇的处理需要迭代的次数太多(具体见14章笔记),为了找到一个一步到位的办法,可以使用奇异值分解(SVD分解)

算法实现

建立一个M-by-N的矩阵A,其中行表示M篇文章,列表示N个词。aij表示第j个词在第i篇文章中出现的加权词频。将A进行奇异值分解,A=XBY,X为M-by-R矩阵,B为R阶方阵,Y为R-by-N矩阵。若R<<M,N,则存储量和计算量就可以减少好几个数量级。

ps.此处的SVD算法其实是thin SVD。

ps2.最巧妙的是,奇异值分解后的三个矩阵都有了对应的物理意义。X表示文章和主题类的相关性;B表示主题类和词义类的相关性;Y表示词义类和词的相关性。(话说这一个所谓的物理含义这时不太好想出来o(╯□╰)o)

补充

利用thin SVD可以快速对文本或者词汇进行分类,可是分类结果比较粗糙。此时,可以采用余弦定理迭代的方式进行更加精细的分类。

最新文章

  1. angularjs中ng-change使用方法
  2. Smart210学习记录-----SD/MMC/SDIO驱动
  3. 将VIM配置成强大的IDE(三)
  4. Windows进程
  5. 【前端】深入浅出Javascript中的数值转换
  6. 实现Windows程序的更新
  7. C#——Nhibernate探索
  8. 四、OpenStack—glance组件介绍与安装
  9. Linux学习资料整理
  10. JS 正则表达式深入
  11. python第十五天-原来还差一份作业
  12. javascript 模拟日历
  13. LeetCode(4):两个排序数组的中位数
  14. JustOj 1386: 众数的数量
  15. git pull fails “unable to resolve reference” “unable to update local ref”
  16. Centos6.8/7.0搭建Git服务http访问方式
  17. EBS SOA 修改Web Service参数
  18. 专题训练之区间DP
  19. PHP中实现函数重载
  20. 第5章 css与背景相关的样式background

热门文章

  1. 证书锁定Certificate Pinning技术
  2. 51Nod 约数之和
  3. 高性能内存池NedAlloc
  4. Go -- pprof协程监控
  5. 关于查看python的trace的方法
  6. android清除缓存为什么总是存在12k?
  7. 解决Sophos UTM 9防火墙上的“根分区填满”问题
  8. 百科知识 tar文件如何打开
  9. C 标准库 - &lt;math.h&gt;
  10. 在pypy环境中运行odoo8