luluorta团队介绍:
团队共有4个人,来自华中">科技大学服务计算技术与系统实验室,领队朱洪青,主要研究方向是个性化推荐,负责算法设计。队员陆路,主要研究方向是分布式数据处理,负责算法的设计和实现。队员曾林西,主要研究方向是hadoop的参数调优,负责算法实现。队员徐樾,主要研究方向是分布式文件系统元数据管理,负责算法实现。
作品介绍
第三题 你不知道我知道
我们在做这个题目的时候考虑了三个方面的因素,一是用户本身的兴趣,然后是问题本身的分类,最后是问题悬赏分对用户的影响。对于用户本身兴趣,我们建立一个用户感兴趣关键字列表,并给不同的关键字打分,打分根据用户回答历史问题的关键字的统计信息,出现次数越多的关键字得分越高。对于问题分类,建立用户对不同分类的打分情况,打分根据用户回答历史问题所属分类进行统计,同时还要考虑到问题本身分类的嵌套关系。对于悬赏分,我们统计用户回答的历史问题中高分所占的比例,同样建立一个用户对高分的打分情况。于是对于每个问题,查询他的关键字得分,问题分类得分和问题悬赏分的得分,这三个得分加权得到这个问题的得分。得分最高的三个问题就是推荐给用户的问题。
图1:影响问题推荐的因素
图2 根据用户回答历史生成关键字、问题分类、悬赏分得分表
图3 给用户的每个候选问题打分
第四题 难舍难分
适合解决这个问题的方法是线性分类器或者支持向量机。线性分类器在数据本身已经线性可分时具有很好的分类效果。支持向量机在原来数据线性不可分的时候可以通过引入核函数,原来数据通过核函数映射到高维空间中,数据映射到新的空间后变得线性可分。但是在本题中,关键字的特征空间已经达到15万维,维度已经很高,如果再通过核函数的映射的话,特征空间会非常高,这样导致训练模型的速度会很慢,而且精度不一定会提高。所以本题直接可以采用线性分类器的方法来实现,对结果的精确度不会影响很多,同时模型训练速度会有很大的提升。在实现线性分类器时,由于训练数据太大,需要把该算法并行化,使用MapReduce编程模型实现该线性分类器。
图4 分类方法的选择
图5 线性分类器
(责任编辑:蒙遗善)