zoukankan      html  css  js  c++  java
  • 三言两语大话

    DPP 

     

    为什么

    当用户在我们系统中点击行为比较少的时候,我们会补充一些热门特征来丰富用户画像。


    所谓的热门特征,是累加了所有用户点击过的新闻特征,然后取topk得到的。


    会发现,尤其对于一些细粒度的特征,头部会集中在同一语义下。为了平衡热门特征的语义多样性和热门程度,我采用了DPP 的方法。


    举个例子,那比如前两天赵丽颖和冯绍峰离婚热度比较高,那么热门关键词可能都是相关事件的关键词,但是当DPP进行打散以后,排名可能就变成赵丽颖,冯绍峰,iPhone12,离婚。。。


    什么是

    DPP 全称是行列式点过程,行列式的几何意义是方阵中各个列向量所构成的多面体体积的平方。


    为了将 DPP 应用到我们这个场景里,首先构造一个列向量 bi,是特征的语义 embedding * 特征的热度。这样构成的多面体,则当热度越大,体积越大,并且语义越不相关,即多样性越好,体积越大。最终通过求解这个方阵的最大行列式值,可以找到特征热度和多样性最大的子集,作为热门特征集合。


    怎么做

    直接求解优化的话比较困难,hulu 提出了一种贪婪算法,将复杂度从 O(M yyy)降到了 O(My)。其中 M 是选择的最终集合个数,y 是特征维度。


    它贪婪的思想是,DPP 取 log 后的函数是满足次模函数的,意思是随着输入集合中元素的增加,收益减小。就好比,小集合与大集合增加同样一个元素,小集合带来的收益大于大集合的收益。


    于是每次迭代选择收益最大的 item即可。



  • 相关阅读:
    深入理解Linux修改hostname
    Linux开发环境必备十大开发工具
    管理员必备的几个Linux系统监控工具
    Solaris&&QNX® Neutrino®&&OpenVMS&&FreeBSD&&AIX
    ansible来了
    Cobbler系统安装备用链接
    Web安全
    在Eclipse/STS中使用EclEmma进行覆盖率检查
    C#中使用扩展方法
    Winform中Textbox的使用
  • 原文地址:https://www.cnblogs.com/toonice/p/14698921.html
Copyright © 2011-2022 走看看