美文网首页
《探索推荐引擎内部的秘密》的思考

《探索推荐引擎内部的秘密》的思考

作者: 脚下日月 | 来源:发表于2015-01-15 23:08 被阅读0次

    一、推荐机制最本质的有哪几种?
    1、推荐机制从何而来?
    个性化推荐的出现是为了让用户从浩如烟海的迷局当中找到最想要的。在这个场景下就只有两个点,一个是用户,一个是被推荐的物品。那场景下的本质就只有两种角度
    2、从两个角度出发会有什么不同?
    从用户角度来考量,就需要区分出不同的用户,建立用户画像,得到用户喜好。
    从物品的角度来考量,也同样需要建立物品的画像。
    那在落地上,从用户角度来观察,挖掘用户喜好的物品,就可以从用户的相似度出发,基于用户的推荐机制。用户A喜欢物品A和B,用户B喜欢物品A、B、C,用户C喜欢A,那根据从用户的相似度来看,用户C很可能还喜欢物品B。
    从物品的角度来观察,如果物A受到A和B喜欢,物B受到A和B喜欢,物C受到B喜欢,C喜欢物品B,那他最有可能还会喜欢物品A,因为喜欢物品B的人都喜欢物品A。
    其实本质就是二维矩阵的测算,无论是从用户还是物品,都是从物角度出发,不过在二维矩阵场景下,匹配具有了复杂度。最重要其中一个点就在于如何去构建物品画像进行区分物品区别,再根据什么算法来进行匹配。
    二、如何构建用户画像?
    1、构建用户的数据源是什么?有什么区别?
    在数据源上分为用户基本信息,用户操作历史数据、现场行为数据。从基本信息上,可基于人口统计学建立用户画像;从历史数据上可以给用户建立一套标签体系的模型,并且标签具有不同的权重来做为用户的区分。现场行为数据则为影响到用户在现实场景下的爱好倾向。在用户标签的底层的数据粒度需要细,细粒度会带来测算复杂度的提升,在算法模型上也会变得复杂。
    2、如何建立用户模型?
    1、通过聚类算法进行标签分类
    三、如何建立物品画像?
    物品画像的数据源一是物品的基本信息,二是用户在订购、收藏、点评等操作时对物品产生的影响,通过这种影响建立起机器学习的模型
    四、建立画像是一个怎样的流程?
    1、数据源(记录模块);2、冷启动时独立的模型画像(分析模块);3、长期使用,可学习成长的模型(分析模块);4、推荐模块
    五、协同过滤算法的种类有哪些?本质是什么?能解决什么问题?
    1、协同过滤算法现有的流行种类有三种:基于用户的协同过滤算法,基于项目的协同过滤算法,基于模型的协同过滤算法。;2、前面两种算法的是基于用户和基于物品推荐算法的升级,在这个基础上增加了测算相似度的算法,比如K邻居算法,这种相似度的测算需要分析用户的历史数据,然后分析出用户的相似度。我靠,只是调用数据源不一样,产生的结果也不一样而已!最简单的基于用户的算法只是基于人口统计学,比如年龄、职业、男女等基本信息给用户打上tag而已,而所谓用户协同过滤推荐算法,是在这一层上再基于用户历史数据和用户现场行为数据进行的相似度分析,当然这样子复杂度会大大提高!基于人口统计学的用户模型构建的确是简单的多。
    那基于项目的协同过滤推荐算法又是什么鬼?基于项目的协同过滤算法和基于物品的过滤算法的区别在于,基于项目的协同过滤算法考察用户对于该项目的历史数据测算相似度,而基于物品的过滤算法只是基于物品的基本信息。
    那最后一个高逼格的基于模型的协同过滤推荐是什么?和上文思考的差不多,就是通过初期的样本数据建立模型,然后不断的让其学习,再根据用户和物品之间的相互关系,不断的让这个模型变得更加智能,这就是机器学习。这个算法的缺点在于会出现冷启动问题。废话,没有历史的样本数据,怎么会有合理的模型。
    解决冷启动的问题,就是使用混合的推荐机制。
    六、如何使用混合的推荐机制?
    1、加权的混合,按照数据集不断的在样本数据测试和实践当中影响权重,和搞游戏的数值修正差不多了吧,这个难度比较大;
    2、分区的混合,可以按物品的品种来做一个分区,这样子提升推荐的质量;
    3、切换的混合,在不同的数据量上,使用不同的协同过滤算法建模,当达到一定标准时切换建模模型;
    4、分层的混合,把一种推荐机制的结果当做另一种推荐机制的输入,从而综合各种机制的优劣性,提升推荐准确率。这个有点不理解,是通过分层的方式增强模型的复杂度?
    如果要短时间内出现效果,可以采取简单的推荐模型,并且通过分区分类的方式来达到推荐的目的,在逐渐通过分层的混合机制不断的训练模型,机器学习达到第三个层次,切换的混合,再次提升准确率,最终积累大量学习数据后,炸弹型的就是加权的混合了,搞游戏模型,不断调数值达到顶峰。

    模型的质量看底层的聚类算法和协同过滤的算法了。如何建立协同过滤算法?1、收集样本数据并经过数据降噪过程建立基础模型;2、通过相似度进行测算;3、相似邻居的测算。
    基于用户的协同过滤算法和基于物品的协同过滤算法在不同场景下的适用性。
    1、从复杂度来考量,当用户量大时,基于用户的协同过滤算法的复杂度比基于物品的协同过滤算法大;2、基于用户的协同过滤算法容易搜出热门物品,而基于物品的协同过滤算法更能针对性的推送给用户喜好的,两者可以互补使用。

    不管怎么说,我还是跪了。

    PS:允许非商业性转载,转载请注明出处,谢谢.

    =================================

    这里只求真,没有真理。

    个人独立博客:PMFuner.com

    微信公众号:PM范儿

    记录一个不惧撞南墙的野路子产品经理的故事.

    期待分享和交流~

    相关文章

      网友评论

          本文标题:《探索推荐引擎内部的秘密》的思考

          本文链接:https://www.haomeiwen.com/subject/pqycxttx.html