技术拓展
文章平均质量分 88
ACdreamers
这个作者很懒,什么都没留下…
展开
-
SVD原理及其应用导论
今天,来学习一种很重要的矩阵分解,叫做奇异值分解(Sigular Value Decomposition),简称SVD。 Contents 1. 认识SVD 2. SVD与广义逆矩阵 3. SVD与最小二乘法 4. SVD与数据压缩 5. SVD与潜在语义分析 6. SVD与低阶近似 1. 认识SVD原创 2015-03-26 22:03:22 · 14735 阅读 · 2 评论 -
浅谈文本的相似度问题
今天要研究的问题是如何计算两个文本的相似度。正如上篇文章描述,计算文本的相似度在工程中有着重要的应用,比如文本去重,搜索引擎网页判重,论文的反抄袭,ACM竞赛中反作弊等等。 上篇文章介绍的SimHash算法是比较优秀的文档判重算法,它能处理海量文本的判重,Google搜索引擎也正是用这个算法来处理网页的重复问题。实际上,仅拿文本的相似度计算来说,有很多算法都能解决这个问题,并且都达原创 2015-03-26 21:48:11 · 5172 阅读 · 0 评论 -
SVD分解的并行实现
在之前的文章中,我对SVD进行了大致的了解,它在互联网高端领域中有广泛的应用,至于它的一些详细应用以后再进一步学习。现在主要的问题是如何有效地实现SVD分解,接下来我会先用两种方法来实现SVD分解,即基于双边Jacobi旋转的SVD和基于单边Jacobi旋转的SVD。 这两种方法重点参考中国知网上的一篇论文:《并行JACOBI方法求解矩阵奇异值的研究》 代码:#incl原创 2015-03-26 22:07:10 · 8669 阅读 · 10 评论 -
Go语言的分词器(sego)
今天,主要来介绍一个Go语言的中文分词器,即sego。本分词器是由陈辉写的,他的微博在这里,github详见此处。由于之前他在Google,所以对Go语言特别熟悉。sego的介绍如下 sego是Go语言的中文分词器,词典用前缀树实现, 分词器算法为基于词频的最短路径加动态规划。 支持普通和搜索引擎两种分词模式,支持用户词典、词性标注,可运行JSON RPC服务。原创 2015-03-26 22:15:49 · 9659 阅读 · 0 评论 -
线性反馈移位寄存器与梅森旋转算法
今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有很多种,比如线性同余法,平方取中法等等。但是这些方法产生的随机数质量往往不是很高,而今天介绍的梅森旋转算法可以产生高质量的伪随机数,并且效率高效,弥补了传统伪随机数生成器的不足。梅森旋转算法的最长周期取自一个梅森素数,由此命名为梅森旋转算法。常见的两种为基于32位的MT19937-32和基于64位的MT19原创 2015-03-26 21:54:33 · 21779 阅读 · 0 评论 -
三种重要哈希介绍
一致性哈希算法是在1997年由麻省理工学院提出,设计的目标是为了解决因特网的热点问题。一致性哈希算法解决了在P2P环境中最为关键的问题,即如何在动态的网络拓扑中分布存储和路由。接下来详细讲述其原理并实现。 Contents 1. 算法简单介绍 2. 算法原理描述 3. 算法具体实现原创 2015-06-02 13:08:50 · 6168 阅读 · 0 评论