1.从共同关注和间接关注说起
关于社交网站好友推荐,我认为不外乎分三种类型,一.找到自己现实生活中认识的朋友;二.在纷乱复杂的用户中找到和自己兴趣点一样志趣相投的人。
我们先从第一点说起,更明确指的是希望推荐系统可以推荐到现实生活中的朋友圈的那些还没有互相关注的人,所以我们只考虑和用户之间双向关注的那些用户,抽象到图的概念即为无向图。再进一步抽象,可以这样描述这样一个问题,给定一个无向图,求每个顶点E中不与E直接相连的相邻顶点的相邻顶点。求顶点集过程时如遇到此顶点已在顶点集中,需要增加他的计数变量,然后对求得的顶点集按照计数变量大小排序,排名越高,则说明共同关注和间接关注越多,则说明俩人有很大概率在现实中认识。
我们可以来分析下算法的复杂度并试着优化。若用户之间的关系采用邻接矩阵存储,设顶点(用户)数量为M,若要求出所有用户的共同关注,则算法的复杂度为O(N^3)(易证)。还有办法做的更快么??从实际考虑,这个用户之间关系的矩阵一定是个十分稀疏的图,所以,我们可以遍历图中所有的边,然后对每条边再遍历所有的顶点,看该顶点是否只和该边的一个顶点相连。复杂度降低到了O(M*N),更直观的表示:假设平均每个用户有k个好友,则M=N*k/2,则该算法时间复杂度为O(N^2*k),是不是降低了很多!
2.电子商务中的协作过滤(Collaborative Filtering)在社交网络中的应用
在查询关于推荐算法的过程中,我了解到了应用在电子商务系统的应用十分广泛的协作过滤,协作型过滤

本文分析了社交网站好友推荐的几种方法,包括基于共同关注和间接关注的关系挖掘,以及协同过滤和基于内容的过滤算法在社交网络中的应用。协同过滤分为user-based和item-based,前者通过用户相似度推荐相似兴趣的好友,后者则可推荐热门公众用户。基于内容的过滤则针对小众兴趣进行推荐,提供更个性化的建议。实际应用中,结合多种算法可提升推荐效果。
最低0.47元/天 解锁文章
25

被折叠的 条评论
为什么被折叠?



