召回系统架构
人工规则
- 疲劳度过滤 (干掉一批用户不感兴趣的东西)
- 依据过去浏览的东西(可以把当前浏览作为实时的属性传到工程系统中消费)
- 业务要求
Embedding
什么是Embedding
- 从数学上看,是映射
- 从神经网络的角度看,是层与层之间的矩阵
- 从特征的角度看,是从一套特征映射到另一种表示方法
Embedding的产出方式
- 监督学习:深度学习和FM
- 无监督学习:word2vec和序列化
Graph Embedding(GE):DeepWalk
我们可以直接用用户的行为序列来建模,但是该建模方式可能更加关注局部信息,可以将其泛化到图上去,常用的方法有item2vec。将用户序列构成一个图,可以采用随机游走来泛化,在图上随机游走生成新的序列,在新的序列上再运用word2vec算法,就可以学习出每个item的embedding。
embedding的通用化和特性化
非监督:即使我们将其转换成了监督问题,但是其原始是非监督问题,非监督运用了序列化的思想建模,但是序列化拿两边预测中间,拿中间预测两边,其label是认为构造出来的,label是一个比较弱的label,换句话说其学到的信息是一个比较偏general的信息,方便其他场景复用。
监督:用的是深度学习的一些算法,是有label在的,网络中所有的神经元的变量都是一些具体的数值,数值都是与label有关系的,一个地方计算的embedding换到其他地方,label变了,就不一定适用了,specific,不太好迁移。
工业界TF
- 读数据
- Hive: encoder、deconder
- QueueRunner: IO
- 组网
- PS
- 训练
Estimator、mointoredSession
FM基础
矩阵分解的时候可以两个新的矩阵用去拟合原始矩阵,可以用两个n*k的矩阵还原n*n的矩阵
优点
- 泛化能力强
- embedding的使用