首先回顾一下,协同过滤算法主要有两种,一种是基于用户的协同过滤算法(UserCF),另一种是基于物品的协同过滤算法(ItemCF)。
基于用户的协同过滤算法主要有两步:
1)找到和目标用户兴趣相似的用户集合
2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。
基于物品的协同过滤算法主要有两步:
1)计算物品之间的相似度。
2)根据物品的相...
分类:
其他好文 时间:
2014-07-10 21:58:52
阅读次数:
341
基于物品的协同过滤算法(ItemCF)是业界应用最多的算法,主要思想是利用用户之前有过的行为,给用户推荐和之前物品类似的物品。
基于物品的协同过滤算法主要分为两步:
1)计算物品之间的相似度。
2)根据物品的相似度和用户的历史行为给用户生成推荐列表。
第一步的关键点在于计算物品之间的相似度,这里并不采用基于内容的相似性,而是去计算在喜欢物品i的用户中有多少是喜欢物品j的,这样计算的前提是用...
分类:
其他好文 时间:
2014-07-09 09:18:19
阅读次数:
175
题目:10602 - Editor Nottoobad
题目大意:有一个机子它由press的动作还有copy和delete字符的动作。给一组字符串,问要输入这样的一组字符串,最少要执行的press动作。
解题思路:将这一组字符串按照ascall码排序后,这样前后两个字符串的相似度是比较高的。然后后一个字符串和前一个字符串相比,看有多少相同的可以copy,就只要统计一下不相同的字...
分类:
其他好文 时间:
2014-07-08 19:33:44
阅读次数:
218
题目:
在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是“夫妻相”。所谓“夫妻相”,就是两个人看上去比较般配,长相、身材等某些方面有一定的相似度。本题则另辟蹊径,从人的姓名维度,以字母重复个数来寻找最具“夫妻相”的人。
题目中预先给定一组女士的姓名拼音。输入男士的姓名拼音(拼音中间可以有空格,字母全部小写),依预先给定姓名拼音的先后遍历所有姓名,输出字母重复数最多的女士姓名。
规则1:...
分类:
其他好文 时间:
2014-07-08 17:25:41
阅读次数:
154
相似度计算是数据挖掘,推荐引擎中的最基本问题,例如在推荐系统(Recommender Systems,简称RSs)中计算带推荐物品(Item)相似度,或是用户(User)之间的相似度以期获得兴趣口味(Taste)相似的用户时,均需要使用到相似度计算技术。经常使用的相似度计算方式较多,且各有特点, 以...
分类:
其他好文 时间:
2014-07-07 12:09:43
阅读次数:
448
算法介绍:
编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
步骤详解:
我们算V1中的值:以红色的0所在的格子为例
根据步骤5:
如果 s[i] 等于 t[j],则编辑代价cost为 0;
如果 s[i] 不等于 t[j],则编辑代价cost为1。
和
步骤6:
设置单元v1[j]为下面的最小值之一:
a、紧邻该单元上方+1:v1[j-1] + ...
分类:
编程语言 时间:
2014-07-06 08:31:41
阅读次数:
337
归一化:可以将大量重复特征聚合为单一特征,降低重复带来的相似度差异。方法: Vx = Vx /abs(v1)+...abs(Vn)词干处理:(变形词,同意词,近义词聚合) 减少特征的重复性 imaging-images buy-bought 我-俺 早餐-早饭.......停用词:(弱特征)大量出现的没有实际特征意义的虚词,副词,语气词等 I ,am, is ,a,an,always 我,啊,了...
分类:
其他好文 时间:
2014-07-02 10:41:28
阅读次数:
267
相似数据检测算法对给定的一对数据序列计算两者之间的相似度([0,1], 1表示完全相同)或距离([0, ), 0表示完全相同),从而度量数据之间的相似程度。相似数据检测在信息科学领域具有非常重要的应用价值,比如搜索引擎检索结果的聚类与排序、数据聚类与分类、Spam检测、论文剽窃检测、重复数据删除、D...
分类:
其他好文 时间:
2014-07-01 23:15:24
阅读次数:
388
题目描述:计算相似度,其实本质就是计算编辑距离思路:一开始先递归,然后加备忘改DP,发现有很多重复子问题,再重新设计dp算法 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using ...
分类:
其他好文 时间:
2014-06-24 15:10:34
阅读次数:
168
安卓开发中ListView控件是一个使用频率相当的高级控件,通常用于展示一系列相似度极高的数据,当数据量极大或布局相当复杂时,ListView的性能优化就显得非常重要。所以在开发中不但功能上要满足,而且在性能上也不能马虎。 使用ListView是一个标准的适配器设计模式,ListView把数据、X....
分类:
其他好文 时间:
2014-06-22 23:04:40
阅读次数:
278