推荐系统中的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
相关文章
- 使用PostgreSQL数据库建立用户画像系统
- linux分享四:cron系统
- winPE系统下查看系统的IP及DNS地址
- 为什么有的系统的事务码BSP_WD_CMPWB看不见Enhance Component这个按钮
- 为什么有的SAP CRM系统的产品搜索页面上会显示小红叉
- 【人工智能 Open AI】通用 API 网关系统(API Gateway)系统设计文档
- 【推荐系统算法实战】 Spark :大数据处理框架
- 为什么不能在U盘上安装Windows系统
- 【语音处理】使用块反射器的基于DFT的系统中用于旁瓣抑制的正交预编码(Matlab代码实现)
- python人脸考勤系统
- 企业里没有TPM(可信赖平台模块)标准的安全芯片计算机,如何开启BitLocker锁定磁盘,如何备份系统,当系统出现问题又如何恢复,快速恢复又兼顾系统安全