技术头条(投递你的文章)     搜索本站     邮件订阅     微信号:IT技术博客大学习
您现在的位置首页 --> 算法
     首先SVD和LSA是什么呢,SVD全称是singular value decomposition,就是俗称的奇异值分解,SVD的用处有很多,比如可以做PCA(主成分分析),做图形压缩,做LSA,那LSA是什么呢,LSA全称Latent semantic analysis,中文的意思是隐含语义分析,LSA算是topic model的一种,对于LSA的直观认识就是文章里有词语,而词语是由不同的主题生成的,比如一篇文章包含词语计算机,另一篇文章包含词语电脑,在一般的向量空间来看,这两篇文章不相关,但是在LSA看来,这两个词属于同一个主题,所以两篇文章也是相关的。
    目录:1. 优雅地使用链表;2. 高效地分支判断;3. 汇编实现的原子操作;4. 0长度数组;5. 三目运算的另类表达
    简单来说基于物品的协同过滤算法是说我会推荐给你和你喜欢物品相似的物品,而基于用户的协同过滤算法是说我把和你相似的用户喜欢的东西推荐给你。为什么叫协同过滤呢,因为我们是利用用户的群体行为来作这些相似操作的。计算物品的相似的时候我们比较不同的人来对他打分来比较,同样计算用户相关性的时候我们就是通过对比他们对相同物品打分的相关度来计算的。
    Java中的一个byte,其范围是-128~127的,而Integer.toHexString的参数本来是int,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展,举例来说,一个byte的-1(即0xff),会被转换成int的-1(即0xffffffff),那么转化出的结果就不是我们想要的了。 而0xff默认是整形,所以,一个byte跟0xff相与会先将那个byte转化成整形运算,这样,结果中的高的24个比特就总会被清0,于是结果总是我们想要的。
    原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作[x]原。
    数论,数学中的皇冠,最纯粹的数学。早在古希腊时代,人们就开始痴迷地研究数字,沉浸于这个几乎没有任何实用价值的思维游戏中。直到计算机诞生之后,几千年来的数论研究成果突然有了实际的应用,这个过程可以说是最为激动人心的数学话题之一。
     寄存器分配是编译器中一个历久弥新的问题,因为它是编译器在输出汇编代码前必须经历的阶段。寄存器分配算法的好坏,关系着生成代码的性能,大小。为了追求极致性能,很多编译器都在寄存器分配上做了很多文章,不惜引入非常复杂的算法。另一方面寄存器分配算法本身的性能也很关键, 在诸多的JIT编译器(Just-In-Time compiler)中,编译器的性能同时也是程序本身的性能,因此在JIT编译器中还需要关注寄存器分配算法本身的效率问题。
    主要对一般docId为下标对应域值的结构做了改造,如果大家有更好的建议,欢迎大家提议和拍砖。 主要思路: 生成一个下标为 域 Term 遍历的Postion 且值为域值的数组: A[p]=field value  因为域值并不会像docId一样为唯一键递增,所以在创建的时候 初始化: Int [] A = new Int[reader.maxDoc()] 结束的时候如果 p
    基数估计算法使用很少的资源给出数据集基数的一个良好估计,一般只要使用少于1k的空间存储状态。这个方法和数据本身的特征无关,而且可以高效的进行分布式并行计算。估计结果可以用于很多方面,例如流量监控(多少不同IP访问过一个服务器)以及数据库查询优化(例如我们是否需要排序和合并,或者是否需要构建哈希表)。
    要拉下正态分布的神秘面纱展现她的美丽,需要高深的概率论知识,本人在数学方面知识浅薄,不能胜任。只能在极为有限的范围内尝试掀开她的面纱的一角。棣莫弗和拉普拉斯以抛钢镚的序列求和为出发点,沿着一条小径把我们第一次领到了正态分布的家门口,这条路叫作中心极限定理,而这条路上风景秀丽,许多概率学家都为之倾倒,这条路在20世纪被概率学家们越拓越宽。而后数学家和物理学家们发现:条条曲径通正态。著名的物理学家 E.T.Jaynes 在他的名著《Probability Theory, the Logic of Science》(中文书名翻译为《概率论沉思录》)中,描绘了四条通往正态分布的小径。曲径通幽处,禅房花木深,让我们一起来欣赏一下四条小径上的风景吧。
    下面这几幅图描绘的是一个爱喝啤酒的程序员是如何学习数据结构的,你可以看出,他酒喝了,数据结构也掌握了。
    MinHash首先它是一种基于 Jaccard Index 相似度的算法,也是一种LSH的降维的方法,应用于大数据集的相似度检索、推荐系统。下边按我的理解介绍下MinHash。 举例A,B 两个集合: A = {s1, s3, s6, s8, s9} B = {s3, s4, s7, s8, s10} 根据Jaccard Index公式,A,B的相似度 S(A,B) = |A∩B|/|A∪B| = 2/8 = 0.25, 用图表示如下: 当然直接计算两个集合的交集与并集,是很耗计算资源的,特别是在海量数据场景下不可行。 假如,我们随机从两个集合中各挑选一个元素s(A)、s(B),刚好这两个无素相同的概率是多少呢?
    有 1000 枚硬币堆在一起。把它们任意分成两堆,并计算出这两堆的硬币数的乘积。然后,任意选择其中的一堆硬币,把它继续分成两个更小的堆,并计算出这两堆的硬币数的乘积。不断这样做下去,直到最后每堆都只剩一枚硬币为止。求证:把途中产生的所有乘积全部加在一起,结果是一个定值,它不随分法的改变而改变。                                       这是一个非常经典的问题。让我们把 1000 枚硬币换成 n 枚硬币,这样的话问题反而会更容易一些。如果初始时有 n 枚硬币,把它们分到底后,产生的所有乘积之和是多少呢?
    最近一个项目在使用JsonCpp,JsonCpp简洁易用的接口让人印象深刻。但是在实际使用过程中,我发现JsonCpp的性能却不尽如人意,所以想着方法优化下性能。
    最近的工作让我想到了一个对集合的元素进行并行聚合的案例,尽管这个需求还不存在,但最近却一直在我的脑海里挥之不去,尚未得出令人满意的结果。今天下班前我将这个问题辛苦地缩减为140字内的描述发到了微博上,得到了许多同学的回复,但可能是由于描述过于简单,得到的建议似乎都不能满足我的需求。于是在此我通过博客详细描述下这个问题的需求,还有我之前做过的尝试,这样讨论起来也可以更加有针对性一些。
    天文学是第一个被测量误差困扰的学科,从古代至十八世纪天文学一直是应用数学最发达的领域, 到十八世纪,天文学的发展积累了大量的天文学数据需要分析计算,应该如何来处理数据中的观测误差成为一个很棘手的问题。 我们在数据处理中经常使用平均的常识性法则,千百来来的数据使用经验说明算术平均能够消除误差,提高精度。 平均有如此的魅力,道理何在,之前没有人做过理论上的证明。 算术平均的合理性问题在天文学的数据分析工作中被提出来讨论:测量中的随机误差服应该服从怎样的概率分布? 算术平均的优良性和误差的分布有怎样的密切联系?
    第二个故事的主角是欧拉(Euler), 拉普拉斯(Lapalace),勒让德Legendre) 和高斯(Gauss),故事发生的时间是十八世纪中到十九世纪初。十七、十八世纪是科学发展的黄金年代,微积分的发展和牛顿万有引力定律的建立,直接的推动了天文学和测地学的迅猛发展。当时的大科学家们都在考虑许多天文学上的问题。
    其实一直就想做一个类似PageRank的东西来鉴别一个微博博主的“能量”。经常看到有些微博博主有50-100万左右的粉丝,但发出来的微博几乎无人问津(零转发、零评论),于是就动手做了这个。 首先,明确一点,这个玩意只是一个玩具,优点和缺点都很明显。别指望JavaScript能获取和判断太多信息。但仅作为玩具来看,也能看到一些有趣的现象。所以如果是想获得专业和客观的“微博粉丝互动频度”、“微博僵尸粉丝数量”数据,不要盲目参考。举个简单例子,方舟子(只是我做数据分析的客观结果,舟子老师的粉丝不要怪我)的微博后面很多人是在骂他,而这一部分数据JavaScript是无法辨别的,因此都计算到方舟子这个微博的Karma里了。 同样,由于采用了一个简单的平均数的算法,因此突然爆红的微博也会导致Karma过高。
    在《性能调优攻略》里,我说过,要调优性需要找到程序中的Hotspot,也就是被调用最多的地方,这种地方,只要你能优化一点点,你的性能就会有质的提高。在这里我给大家举三个关于代码执行效率的例子(它们都来自于网上)
    我在大学学习数理统计的时候,学习的过程都是先学习了正态分布,然后才学习中心极限定理。而学习到正态分布的时候,直接就描述了其概率密度的数学形式,虽然数学上很漂亮,但是当时很困惑数学家们是如何凭空就找到这个分布的。然而读了陈希孺的《数理统计学简史》之后,才发现正态分布的密度形式首次发现是在棣莫弗-拉普拉斯的中心极限定理中。数学家研究数学问题的进程很少是按照我们数学课本的安排顺序推进的,现代的数学课本都是按照数学内在的逻辑进行组织编排的,虽然逻辑结构上严谨优美,却把数学问题研究的历史痕迹抹得一干二净,我们难以在数学课本上看到数学家对数学问题是如何研究推进的。DNA 双螺旋结构的发现者之一 Waston 在他的名著《DNA 双螺旋》序言中说:“科学的发现很少会像门外汉所想象的一样,按照直接了当合乎逻辑的方式进行的。”
[共581篇文章][第9页/共30页][|<][5][6][7][8][9][10][11][12][13][14][>|]
赞助商广告
© 2009 - 2017 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号