zdg/
共60个网摘 [
1 2 ]
下一页 |
访问zdg的个人空间
zdg收录,使用标签:Arithmetic,时间:2008-3-12 20:07:18 | 相关网摘,我也收藏
问题的根源是什么?问题的根源就是,样本少了会导致结果不可靠。某篇文章的评分人数越少,其平均得分越不可靠,我们应该想办法让得分越靠近所有文章的总平均得分。
所有文章的总平均分*每篇文章的平均评分人数 + 这篇文章的平均分*这篇文章的评分人数
文章最终得分 = ---------------------------------------------------------------------------------
每篇文章的平均评分人数 + 这篇文章的评分人数
这里,总平均分的权值用的是每篇文章的平均评分人数。你也可以自己设定一个合适的权值。
这种评分方法叫做Bayesian评分。很多web 2.0站点都在用这种评分系统。
http://www.matrix67.com/blog/article.asp?id=488
zdg收录,使用标签:digg, Arithmetic,时间:2007-12-2 12:42:58 | 相关网摘,我也收藏
是什么力量把一篇文章带到首页上的?算法啊算法~
* Digg的算法用来解释用户和粉丝们的近期参与等级。
* 频繁的成功(指上首页)会导致随后的上首页几率大减。应该走三天打鱼两天晒网路线。
* 从“高价值”用户那儿搞到快速有效的Diggs。
* 一篇文章显示到首页上需要的Diggs和以下两点相关:在某特定时间段内获得的Digg数,以及这个数值和平均值的对比。
* 在科技,世界和商业类别中的竞争比运动和娱乐类别更激烈。如果某个故事是它所在类别中的热门,50个Digg就可将它顶到首页上去。
* 一个故事获得投票的速度越快,晋级所必需的投票数就越少。但是多样性很重要。由"voting rings"digg的故事会在队列的高位保持数小时。
* 过多被埋(囧)会导致你的故事被从队列中移除。
* 评论会让一个故事脱颖而出。当然,不能是无效评论...
* 错误的:需要一个确切数量的投票数才能上首页。
* 错误的:如果你的故事没有被一个顶级用户提交,那么你注定上不了首页。
* 错误的:朋友数量很重要。Digg真正需要的是一个文章收到Diggs的多样性。
* 错误的:那儿有个迈向成功的24小时窗口
http://jandan.net/2007/12/01/how-diggs-algorithm-works.html
zdg收录,使用标签:Arithmetic, filter, 指纹,时间:2007-9-29 17:51:03 | 相关网摘,我也收藏
布隆过滤器是由巴顿.布隆于一九七零年提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。我们通过上面的例子来说明起工作原理。
假定我们存储一亿个电子邮件地址,我们先建立一个十六亿二进制(比特),即两亿字节的向量,然后将这十六亿个二进制全部设置为零。对于每一个电子邮件地址 X,我们用八个不同的随机数产生器(F1,F2, ...,F8) 产生八个信息指纹(f1, f2, ..., f8)。再用一个随机数产生器 G 把这八个信息指纹映射到 1 到十六亿中的八个自然数 g1, g2, ...,g8。现在我们把这八个位置的二进制全部设置为一。当我们对这一亿个 email 地址都进行这样的处理后。一个针对这些 email 地址的布隆过滤器就建成了。
现在,让我们看看如何用布隆过滤器来检测一个可疑的电子邮件地址 Y 是否在黑名单中。我们用相同的八个随机数产生器(F1, F2, ..., F8)对这个地址产生八个信息指纹 s1,s2,...,s8,然后将这八个指纹对应到布隆过滤器的八个二进制位,分别是 t1,t2,...,t8。如果 Y 在黑名单中,显然,t1,t2,..,t8 对应的八个二进制一定是一。这样在遇到任何在黑名单中的电子邮件地址,我们都能准确地发现。
布隆过滤器决不会漏掉任何一个在黑名单中的可疑地址。但是,它有一条不足之处。也就是它有极小的可能将一个不在黑名单中的电子邮件地址判定为在黑名单中,因为有可能某个好的邮件地址正巧对应个八个都被设置成一的二进制位。好在这种可能性很小。我们把它称为误识概率。在上面的例子中,误识概率在万分之一以下。
http://googlechinablog.com/2007/07/bloom-filter.html
zdg收录,使用标签:围棋, Arithmetic,时间:2007-8-28 23:44:22 | 相关网摘,我也收藏
为了处理如此众多的可能情况,人工智能专家已经设计出一些算法,来限制搜索的范围,但它们都无法在大棋盘的比赛中战胜实力稍强的人类棋手。去年秋季,两位匈牙利研究人员报告了一种新算法,它的胜率比现有最佳算法提高了5%,能够在小棋盘的比赛中与人类职业棋手抗衡。这种被称为UCT的算法,是匈牙利国家科学院计算机与自动化研究所(位于布达佩斯)的列文特·科奇什(Levente Kocsis)与加拿大阿尔伯塔大学(University of Alberta,位于埃德蒙顿)的乔鲍·塞派什瓦里(Csaba Szepesvári)合作提出的,是著名的蒙特卡罗方法(Monte Carlo method)的扩展应用。
http://news.csdn.net/n/20070828/108032.html
zdg收录,使用标签:Recommend, Arithmetic, filter,时间:2007-7-25 23:53:53 | 相关网摘,我也收藏
协同过滤(Collaborative Filtering)技术,是推荐系统中应用最为广泛的技术之一。顾名思义,“Collaborative” 本身就已经说明了协同过滤算法的主要意思,它基于一组兴趣相同的用户进行推荐。协同过滤基于这样的假设:为用户找到他真正感兴趣的内容的好方法是,首先找他与他兴趣相似的用户,然后将这些用户感兴趣的内容推荐给此用户。
协同过滤技术可以分为三类:基于用户(User-based)的协同过滤;基于项目(Item-based)的协同过滤;基于模型(Model-based)的协同过滤。这篇文章针对基于用户(User-based)的协同过滤技术。建立一个基于用户的协同过滤系统通常需要三个步骤。
步骤一,收集可以代表用户兴趣的信息。
另外一种被认为更有效的方法是“隐式评分”方法。这种方法不需要用户直接输入评价数据,而是根据用户的行为特征由系统代替用户完成评价。一种研究得比较多的方法是 Web Mining 。
步骤二,最近邻搜索。
目前使用比较多的相似度算法包括,皮尔森相关系数(Person Correlation Coefficient)、余弦相似性(Cosine-based Similarity)以及调整余弦相似性(Adjusted Consine Similarity)。这里有一个试验,结论是“调整余弦相似性”算法的准确性较好。
步骤三,生成推荐结果。
最常见的推荐结果有两种,Top-N 推荐和关联推荐。
Top-N 推荐是针对单个用户产生的,它对每个人是不一样的:通过对你的最近邻用户进行统计,选择出现频率最高且在你的评分项目中不存在的项目作为推荐结果。
http://my.donews.com/clickstone/2006/12/08/bwoxqowyfevtakinijnyzkxubiajoqdpmrmc/
zdg收录,使用标签:Recommend, Arithmetic,时间:2007-3-20 18:04:23 | 相关网摘,我也收藏
几种推荐系统技术介绍:
1.基于关联规则的推荐算法
关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,得到的关联规则表示为:X=>Y[s%,c%]
s表示关联规则的支持度,c表示关联规则的置信度
关联规则的发现算法很多,如Apriori,AprioriTid,DHP,FP-tree等
算法过程:
使用关联规则发现算法找出所有满足最小支持度和最小置信度的关联规则R
找出R中所有被客户支持的关联规则R1,即关联规则左边的所有商品都被客户购买
找出被关联规则R1所预测并且没有被客户所购买的所有商品P
根据P中商品在关联规则R1中的置信度排序,如果某商品被多个规则预测,则取置信度最大者作为排序依据,挑选前N个商品作为算法输出
2.基于最近邻居的协同过滤算法
基本思想:使用统计技术寻找与目标客户有相同喜好的邻居;然后根据目标客户多个邻居的观点产生向目标客户的推荐,
通过奇异值分解(Singular Value Decomposition)将m*n阶客户-商品矩阵变换为m*k阶矩阵,这种表示称为降维表示(Reduced Dimensional Representation),可以部分解决原始表示存在的稀疏性、缩放性和同义词问题
表示(Representation):对客户已经购买的商品进行建模
邻居形成(Neighborhood Formation):寻找目标客户所对应的邻居
推荐产生(Recommendation Generation):从目标客户的邻居中产生N项产品推荐
3.基于项目的协同过滤算法
基本思路:根据目标客户已经评价过的项目与目标项目的相似性,选择k个最相似的项目{i1, i2, ……, ik},同时得到k个最相似的项目与目标项目的相似度,记为{si1, si2, ……, sik},然后将目标客户对这k个最相似的项目的评分及这k个最相似的项目与目标项目的相似度的加权平均值作为对目标项目的评分
本算法主要分两步:
项目相似性计算
产生推荐
http://www.onling.net/blog/?p=969
zdg收录,使用标签:Math, google, Arithmetic,时间:2006-11-18 0:28:50 | 相关网摘,我也收藏
拉纳帕提成功地将上下文信息、词性(名词、动词和形容词等)、句子成分(主谓宾)通过最大熵模型结合起来,做出了当时世界上最好的词性标识系统和句法分析器。拉纳帕提的论文发表后让人们耳目一新。拉纳帕提的词性标注系统,至今仍然是使用单一方法最好的系统。科学家们从拉纳帕提的成就中,又看到了用最大熵模型解决复杂的文字信息处理的希望。
最大熵模型,可以说是集简与繁于一体,形式简单,实现复杂。值得一提的是,在Google的很多产品中,比如机器翻译,都直接或间接地用到了最大熵模型。
我们知道,决定股票涨落的因素可能有几十甚至上百种,而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。达拉皮垂兄弟等科学家在那里,用于最大熵模型和其他一些先进的数学工具对股票预测,获得了巨大的成功。从该基金 1988 年创立至今,它的净回报率高达平均每年 34%。
http://googlechinablog.com/2006/11/blog-post.html
zdg收录,使用标签:聚类, Arithmetic,时间:2006-11-12 20:46:12 | 相关网摘,我也收藏
最后谈一点速度优化方面的问题:
1、FCM算法的计算量是比较大的,在算法模型不变的情况下我们可以通过以下方法减小计算量. a.如果对某一个特定的问题,我们知道聚类中心的大概位置,则通过程序提供的CreateByHand方法运行。 b、在不确定聚类中心的情况下,选择聚类中心由HCM产生,HCM算法的速度是相当块的。 c.针对不同对象选择不同数据类型,这点在下面要讲到。
2、如果处理对象是图像,则数据量一般很大,速度就是关键了。考虑到图像数据是byte类型的,则可以把FCM算法的Data()参数数据类型改为byte,我们知道浮点数的运算总是很慢的。并且考虑到象素值没有小数部分,程序中有些/可以改为\,整除总比一般除法块,还有既然确定了样本的第二维,则把程序中所有的 DataSize改为3,并且对于所有的有关DataSize的小循环,全部改为手写。
3、实践证明,RndDegree(i, k)^Exponent 的计算速度比 Exp(Log(RndDegree(i, k)) * Exponent)要慢。X^2 比X*X要慢,我是指大数据量的。
http://blog.csdn.net/laviewpbt/archive/2006/11/01/1361548.aspx
zdg收录,使用标签:AI, Arithmetic,时间:2006-10-22 2:33:44 | 相关网摘,我也收藏
主要应用的算法有主要变量搜索(PVS)、历史启发(HH)、杀手启发(KH)、Null Move和迭代深化(ID),可惜后来不够时间实现置换表(TT),不然可以多一个算法了。代码里还实现了时间控制策略,可以几乎用尽20秒的测试时间,为争取更好的着法提供了保证。还有值得一提的是棋盘表示,我使用了棋盘表、棋子位置表结合的方式来表示,后来发现加上空位表的话,可以加快不少走法生成和估值的速度。反正棋盘表示是一切的基础,一种好的表示方法可以带来很大的性能提升。对于代码,大家注意class SE里的search_move和pvs两个函数,上述的算法和策略都在那里。class MG是关于棋盘表示、走法生成和估值的,class KH和class HH分别是杀手启发和历史启发。Null Move是简单有效的算法,不过我的实现里是比较简单的那种,如果有兴趣,可以查询其它资料。
http://blog.csdn.net/lanphaday/archive/2006/10/19/1341412.aspx
zdg收录,使用标签:.NET开发, Arithmetic, Game,时间:2006-9-5 23:21:05 | 相关网摘,我也收藏
Some time ago I had to make a project where I need to find the shorted path inside a matrix and I though "nothing better than use path finding for this".There is a huge amount of links and explanation about Path Finding, but didn't find a version written in C# that could meet my expectative.So, I decided to make the A-star implementation in C#, this code was really useful for me and I bet it can be useful for many people too.I won’t explain the algorithm implementation too much, because just typing in google “pathfinding algorithm a-star” brings 25000 thousand documents where you can find every single detail about it.
http://www.codeproject.com/useritems/PathFinder.asp
共60个网摘 [
1 2 ]
下一页