本次学习内容为DIN算法。该算法主要是根据业务理解而非数学推导想到的一个思路。其核心思路是:用户的历史浏览行为代表了用户的兴趣,用户的兴趣和本次浏览行为有显著关系。
所以DIN算法首先要做的就是找到用户的历史兴趣,这是通过生成一个multi-hot feature 来表示用户历史浏览记录汇总,展示用户对哪些具体内容感兴趣。但是因为这仍然是一个稀疏矩阵,所以需要embedding。但是multi-hot feature embedding完以后会变成一个序列,而且根据原始feature中1的数量不同,生成的序列长度也不同。此时就需要用pooling来把序列整形为同一长度。但是直接用普通的方法pooling会损失信息(有可能是重要信息),所以DIN算法增加了一个local activation unit,这个unit通过当前广告的兴趣特点和用户历史浏览的广告的兴趣特点结合得出,得出的是对于embedding完得到的不定长序列里各个元素的权重,这样根据这个权重再做pooling的时候就能保证重要特征起到了主要作用。
后续再将结果和其他特征拼接,放入常规dnn步骤总学习,即可得出考虑了用户兴趣的推荐结果