一、传统推荐算法和embedding
(一)传统推荐算法:博闻强识
1、任务:
需要推荐系统记住一些常用、高频的模式,比如<中国人,春节,饺子>这种模式。
2、方法:
评分卡。
3、利用LR模型实现评分卡
- 评分卡的组织形式:模式和对应的得分(贡献)。其中每个模式的得分代表了对最终目标的贡献,正样本中出现越多的模式贡献相对越大,负样本中出现越多的模式贡献相对越少。

- 评分卡总得分:评分卡的得分是一个样本中出现的所有的模式评分之和。
- LR模型的优缺点:①优点:强于记忆,能记住足够多的模式。②缺点:不能挖掘新的特征组合,只能评估每个模式的重要性;只能人工输入模式;对于一些罕见模式,利用正则剔除,系统个性化程度降低。【强于记忆,而扩展弱】
(二)推荐算法:扩展性
1、为什么要提高扩展性
提高扩展性的原因在于,如果要提高推荐系统的个性化推荐性能,就需要将罕见的、低频的、长尾的模式挖掘并记住。
2、扩展性的实现
方法就是将细粒度的概念拆分成粗粒度的特征向量。具体拆解如下所示。

(三)Embedding介绍
1、Embedding的功能
将概念自动拆解为特征向量。
2、Embedding的流程简述
Embedding将特征和函数作为待优化的对象。首先随机初始化特征向量和函数,紧接着特征向量和函数随着主目标被随机梯度下降优化,最后当主目标完成优化以后就能够得到有意义的特征向量和函数。
3、Embedding如何实现扩展性
将精准概念匹配转化成模糊查找。比如最开始采用精确概念匹配,查询科学标签只能找到相应标签下的文章;而采用模糊查找以后,经过embedding,向量空间中的科学向量和科技向量并不是正交的关系,两者存在很小的夹角,因此在查询过程中系统也会检索科技标签下的文章,提高了扩展性。

(四)Embedding实现细节
1、简单的Embedding过程描述
(1)Embedding矩阵
例如,文章标签filed里面有6个feature:音乐、影视、财经、游戏、军事、历史。定义一个6*4维的矩阵,其中矩阵的行数是要进行embedding的feature总数,矩阵的列数是希望得到的embedding向量长度。首先随机初始化这个embedding矩阵,接着矩阵随着主目标被优化,训练结束得到一个能表达文章标签语义的有意义的embedding矩阵。

(2)Embedding向量
已知Embedding得到的输入是代表每个feature的唯一整数索引,每个整数索引对应了Embeddin矩阵中的行号。因此整个Embedding过程可以理解为,用Embedding矩阵和该特征的one-hot