2012年5月10日实验室LSI矩阵分解CUDA技术.pptVIP

2012年5月10日实验室LSI矩阵分解CUDA技术.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012年5月10日实验室LSI矩阵分解CUDA技术

2012年5月10日 @实验室 LSI、矩阵分解、CUDA技术 讲个例子,看看理解对不对 LSI (Latent Semantic Indexing)隐语义索引 设Doc1, Doc2, Doc3是三个文件. 一些术语在这三个文件中的出现情况如下表: ??????????????????? Doc1??????Doc2???????Doc3 ------------------------------------------------------- access???????? X document???? X retrieval??????? X?????????????????????????? ?X information???????????????????? X*?????????????X* theory???????????????????????????? X database???? X indexing????? X computer????????????????????? X*???????????? X* ------------------------------------------------------- 这里, 假定用information 和computer作为主题词进行检索, 那么Doc2和Doc3与之精确匹配, 因而中选. 然而, Doc2是用户并不想要的文件, Doc1才是想要的查不出来. 继续1 首先, 以术语(terms)为行, 文件(documents)为列做一个大矩阵(matrix). 设一共有t行d列, 矩阵名为X. 矩阵的元素为术语在文件中的出现频度. 数学上可以证明: X可以分解为三个矩阵T0, S0, D0(D0的转置)的积. 其中T0和D0的列向量都是正交归一化的, S0是对角矩阵. T0是t*m矩阵, S0是m*m矩阵,D0是d*m矩阵,m是X的秩. 这种分解叫做单值分解(singlar value decomposition,简称SVD). X=T0*S0*D0 一般要求T0, S0, D0都是满秩的. 不难做到把S0的元素沿对角线从大到小排列. 现在, 把S0的m个对角元素的前k个保留, 后m-k个置0, 我们可以得到一个新的近似的 分解: Xhat=T*S*D Xhat在最小二乘意义(?)下是X的最佳近似! 这样, 我们实际上有了一个降维的途径 继续2(?) 做“正向”乘法: Xhat * Xhat’ = T * S * D’ * D * S * T’ = T * S^2 * T’ (D’ * D = I, 因为D已经是正交归一的). 它的第i行第j列表明了术语i和j的相似程度. 做“逆向”乘法: Xhat’ * Xhat = D * S * T’ * T * S * D’ = D * S^2 * D’ (T’ * T = I, 因为T已经是正交归一的). 它的第i行第j列表明了文件i和j的相似程度. 比较一个文件和一个术语 恰巧就是Xhat本身. 它的第i行第j列表明了术语i和文件j的相关联程度. 我的理解 把一个大矩阵拆解成简单矩阵 把两个大矩阵计算变成简单矩阵间的计算 SVD(singlar value decomposition) NMF(Non-negative Matrix Factorization ) 我的理解1 SVD分解——拆解为:两个相互正交矩阵和一个对角矩阵 QR分解——拆解为:一个正交矩阵和一个上三角矩阵 LU分解——拆解为:一个上三角矩阵和一个下三角矩阵 Cholesky分解——(?) NMF分解——拆解为:两个非负矩阵 。。。 我的问题: 是不是存在某种分解是基于另一种分解的? 比如先拆成两个矩阵,再把其中某个再拆解。 或者.. 我的理解2 我目前遇到的应用: 图像降维重构(?) 数据挖掘算法:聚类k-means 文本挖掘 社会网络分析 矩阵分解的具体算法 还没有学习。 海洋和远帅希望能做补充。 比如对稀疏(sparse)和密集(dense)矩阵不同的算法。 我的工作 矩阵分解并行计算——概况 常用的线性代数数学库 基于多核多处理器以及机群的数学库 基于GPU并行加速的解决方案 常用的线性代数数学库 BLAS——Basic Linear Algebra Subprograms(Fortran) 一个最基础的库,其他软件在对它进行优化 ATLAS——Automatically Tuned Linear Algebra Software(C and Fortran) 对BALS加强,提供更加灵活的接口 LAPAC

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档