zoukankan      html  css  js  c++  java
  • 推荐系统中的ID特征为什么有用?

    常见的id类特征有用户特征user_id,物品特征item_id等,通常来说这类特征都是人为按顺序编码的特征,并不能反映用户或者物品的自然属性特征。但是在很多推荐相关的文章,都有提到使用这类特征,而且似乎还非常重要,并且除了推荐系统,在计算广告、反欺诈风控模型里都有成功的案例。这是为什么呢?

    一、ID类特征为什么会有用?

           加入id类特征,比如用户的id,相当于特征里多了一个独有的用户id,那么这里的其它特征也就是代表的是这个用户的独有特征。如果这个人对100个电影评价过,那么就会有该用户的100条样本,根据这100条样本模型就能大概学出该用户的匹配模式,在预测的时候如果发现还是该用户,模型就知道他喜欢什么了。

           1)可以极大提高模型的个性化能力和实际效果,甚至可以对抗热度穿透现象。

           2)可以使得在学习过程中,每个人的信号更合理地影响整体模型,使得模型泛化能力更好

        3)可以使得模型能够对每个id有更细粒度的排序能力,使得模型的个性化效果更好

          4)某些人就是喜欢做某些事情,并且没有什么可解释性,通过id可以绑定这些特殊情况。

    二、怎么用?

            通常是把id类特征作为类别特征,然后one-hot展开,接着再与其它特征进行交叉使用,只有交叉使用才能发挥id类特征的重要作用。下图是电影数据movielens中id的one-hot展开:

    在FM中将用户id和物品id采用one-hot展开作为特征列,还能分别生成用户的embedding向量物品的embedding向量

    关于FM实现movielens的简单样例请参考github:   https://github.com/gczr/FM

    参考连接:https://www.zhihu.com/question/34819617

  • 相关阅读:
    sql2005事务的使用
    [原]using的另一种用法
    [原]Cache的简单用法
    [原] Js动态删除行(支持FireFox)
    [原]为什么文本框高度不一样?
    [原]如何把object解析为int,double,float?
    压缩SQL SERVER日志文件
    [原]替换的更新(Update)查询
    [原]让链接点击过后无虚线
    [原]取得Access表中表的名字
  • 原文地址:https://www.cnblogs.com/gczr/p/14350567.html
Copyright © 2011-2022 走看看