视频点击比赛总结2----Lstm+deepfm

原文链接https://www.turingtopia.com/competitionnew/disDetail?discussId=99c5925a9c834fc5bcee8943d6297342&cid=e4880352b6ef4f9f8f28e8f98498dbc4

1. LSTM模型

1.1 时间特征

  • 训练集、测试集的曝光时间戳都提供了。这是一个穿越特征。曝光时间戳之间的gap(后一个ts减去当前ts)很能反映用户是否点击观看了。
  • 对曝光时间戳gap挖掘的还不够深。那可否用LSTM自动挖掘序列特征呢?遂依据曝光时间戳gap开始构造时序数据集,每条特征为gap序列(当前记录的前后12个gap,见图2),并构建LSTM模型(见图3),线上分数为0.76+。

1.2 位置特征

  • 下载官方app使用后发现(图4),app上显示的是有新闻标题或者图片的,曝光时间戳gap不能完全反应用户行为,有可能停留了一段时间看了会新闻标题或者图片。使用app发现点击了新闻后,pos是会变化的,所以结合pos特征能很好的反应用户行为。
  • 把pos embedding(embedding长度为8)和gap进行拼接。

1.3 视频信息

  • (猜想视频播放的长度与gap是相关的)newsid也是经过embedding的长度为8.

1.4 模型输入

  • 输入是pos+gap+newsid组成的29长度(14+14+1)的序列,shape batchsize2917(8+1+8:pos,newsid的Embedding长度都为8,gap为1)
  • 由于正负样本相差太大(图6),模型中加入了focal loss。线上分数上涨了0.001

    focal loss :(gamma=2., alpha=.25)通过一系列调参,得到 α=0.25, γ=2(在他的模型上)的效果最好。注意在他的任务中,正样本是属于少数样本,也就是说,本来正样本难以“匹敌”负样本,但经过 (1−ŷ )γ 和 ŷγ 的“操控”后,也许形势还逆转了,还要对正样本降权。
    Focal Loss理解: https://www.cnblogs.com/king-lps/p/9497836.html
    Focal Loss 理解: https://www.cnblogs.com/callyblog/p/11207384.html

  • 模型引入了注意力机制

2. deepfm模型

  • netmodel,device_vendor,device_version,app_version,deviceid,newsid,pos,这些特征都是sparse features,作为DeepFM的input。
  • 相同特征名共享Embedding。
  • LSTM的输出直接拼接DeepFm DNN模块的输入
  • 最后把DeepFM的DNN logit输出和FM logit输出相加作为最终输出。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 11:45
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务