优点:参数少,速度快,效果好。
在计算attention时主要分为三步:
FM模型重要的超参:
FM模型应用之召回:https://zhuanlan.zhihu.com/p/58160982
FM做统一召回与多路召回优缺点对比:
两者都属于boosting方法,但是基学习器不同,gbdt一般使用CART决策树(基于gini指数计算增益)或者ID3算法(采用entropy计算增益)、ID4.5(采用信息增益率),xgb除CART外还可以支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题)。xgb采用的树节点分裂采用的增益计算根据目标函数倒推的融入一阶导、二阶导。
目标函数不同,xgb支持自定义,gbdt只有交叉熵损失,且xgb损失函数中加入了针对树节点数和叶子值L2正则项,降低树结构风险和经验风险,降低过拟合风险。xgb目标函数:
对缺失值的处理。对于特征的值有缺失的样本,xgboost可以自动学习出它的分裂方向。
工程优化,并行计算:
LSTM 与 GRU区别
LinUCB模型原理及应用
LinUCB(Linear Upper Confidence Bound)是一种context feature-based bandit算法。线性指的是它采用了线性奖赏函数。UCB就是以均值的置信上限为来代表它的预估值即. UCB思想是乐观地面对不确定性,以item回报的置信上限作为回报预估值的一类算法,其基本思想是:我们对某个item尝试的次数越多,对该item回报估计的置信区间越窄、估计的不确定性降低,那些均值更大的item倾向于被多次选择,这是算法保守的部分(exploitation)对某个item的尝试次数越少,置信区间越宽,不确定性较高,置信区间较宽的item倾向于被多次选择,这是算法激进的部分exploration。
LinUCB算法
总结一下LinUCB算法,有以下优点:
1)由于加入了特征,所以收敛比UCB更快(论文有证明);
2)特征构建是效果的关键,也是工程上最麻烦和值的发挥的地方;
3)由于参与计算的是特征,所以可以处理动态的推荐候选池,编辑可以增删文章;
4)特征降维很有必要,关系到计算效率。
5)是一种在线学习算法。
HNSW算法原理及应用: HNSW原理及应用
HNSW(Hierarchical Navigable Small World)首先理解NSW小世界网络,小世界网络是介于随机图和正则图之间的一种网络结构。NSW算法基于六度分离理论将小世界的特性用于近邻检索, 提出了基于图结构的检索方案。
在NSW的基础上,HNSW利用多层的图结构来完成图的构建和检索,使得通过将节点随机划分到不同的layer, 从上层图到下层图的检索中,越往下层节点之间的距离越近, 随机性也越差,聚类系数越高。 HNSW通过从上到下的检索,完成了NSW中Long Link高速公路快速检索的作用,通过最后底层的近邻检索, 完成局部最近邻的查找。
Logistic逻辑回归模型
逻辑回归是一种广义线性分类模型,假设因变量y遵循伯努利分布,自变量x遵循高斯分布,利用逻辑函数sigmoid引入非线性因素,通过极大似然的方法,运用梯度下降法来求解参数,轻松处理0/1二分类问题。
艺术图片情感多模态模型ArtEmis
YoutubeNet模型
原理:利用softmax将召回转化成一个多分类问题,学习user和item的向量,实现向量召回。
网络结构:
SDM深度序列召回模型
原理:目前在工业界中基于物品的协同过滤算放被广泛应用于召回。然而,这种方法无法有效的对用户动态的不断变化的偏好建模。SDM模型对用户短期会话(short-term sessions)和长期行为(long-term behaviors)建模,来捕捉用户动态偏好。
SDM提出了两个相应的组件来对用户行为序列建模:
常用的embedding模型有哪些? 推荐系统 embedding 技术实践总结
如何评价embedding质量?
目前没有标准方案,embedding的获得来源于某种确定的模型,比如word2vec或者SDM,那么在线下测试的时候,通常还要跟向量召回的具体工具有关系(通常用faiss、HNSW等)。在召回阶段的话,可以通过构造测试集,对召回率进行对比。
CTR都有哪些模型?
CTR预估模型可粗糙的分为浅层模型和深层模型。一些代表包括:
FmFm模型原理及应用:优雅的浅层CTR模型FmFM(Field-matrixed FM, FwFM改进版)
FM, FwFM, FvFM模型都可以被统一到FmFM框架下。
Factorization Machines (FM):对Poly2中的权重矩阵W做矩阵分解,为每个特征学一个k为的向量表示。两个向量的内积表示特征对的重要性。
Field-aware Factorization Machines (FFM):为每个特征学习n-1(n为feild个数)个向量表示,与来自不同域的特征交互时使用不同的向量表示。
Field-weighted Factorization Machines (FwFM):显式地建模了不同的Field相互交互的强度。
Field-matrixed Factorization Machines (FmFM): 相比于FwFM仅用一个标量r来建模域交互的强度,FmFM用了自由度更高的matrix。形式化描述为:
模型的计算过程可以分为三步:(对应下图由底向上)
Embedding Lookup: 从Embedding table中找到三个特征的向量 ;
Transformation: ,分别计算,获得两组对应的中间向量
Dot product: 最后通过简单的点积计算获得最后的交互项。
同时,遗憾的是,LFM 无法进行在线实时推荐,即当用户有了新的行为后,他的推荐列表不会发生变化。而从 LFM的预测公式可以看到, LFM 在给用户生成推荐列表时,需要计算用户对所有物品的兴趣权重,然后排名,返回权重最大的 N 个物品。那么,在物品数很多时,这一过程的时间复杂度非常高,可达 (∗∗) 。因此, LFM 不太适合用于物品数非常庞大的系统,如果要用,我们也需要一个比较快的算法给用户先计算一个比较小的候选列表,然后再用LFM重新排名。另一方面,LFM 在生成一个用户推荐列表时速度太慢,因此不能在线实时计算,而需要离线将所有用户的推荐结果事先计算好存储在数据库中。
SVD
SVD也是对矩阵进行分解,但是和特征分解不同,SVD并不要求要分解的矩阵为方阵。假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:
其中 U是一个 m x m 的矩阵, Σ \Sigma Σ 是一个 m x n 的矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V 是一个 n x n的矩阵。 U和 V 都是酉矩阵,即满足 U T U = I , V T V = I \mathbf{U}^\mathsf{T}\mathbf{U}=I, \mathbf{V}^\mathsf{T}\mathbf{V}=I UTU=I,VTV=I
由于SVD可以实现并行化,因此更是大展身手。
SVD++
在实际应用中,会存在以下情况:相比于其他用户,有些用户给分就是偏高或偏低。相比于其他物品,有些物品就是能得到偏高的评分。
SVD++ 就是在 SVD 模型中融入用户对物品的隐式行为。我们可以认为 评分=显式兴趣 + 隐式兴趣 + 偏见。
其中, Σ x u \Sigma{\mathbf{x}_u} Σxu是指用户u看过的所有的电影的向量的和,N是看过的电影总和,除以N是为了平均,N开根号是为了两两内积方便。
我们先讨论了LFM然后引出MF然后SVD SVD++,以上这些LFM技术我们都可以认为是FM。
FM是指因子分解机,即将一个矩阵分解成两个矩阵相乘,具体到点击率预估处,我们使用FM做一层embedding(即WX),然后再内积进行二阶特征组合。
21. LDA模型原理及应用。
在机器学习领域,LDA是两个常用模型的简称:Linear Discriminant Analysis 和 Latent Dirichlet Allocation。这里指的是后者,LDA 在主题模型中占有非常重要的地位,常用来文本分类,推测文档的主题分布。
LDA涉及到的先验知识有:二项分布、Gamma函数、Beta分布、多项分布、Dirichlet分布、马尔科夫链、MCMC、Gibs Sampling、EM算法等。
Beta分布可以用Gamma函数表示;beta分布是二项分布的共轭先验分布,dirichlet分布是多项分布的共轭先验分布。
先验分布为Dirichlet分布+多向分布的数据知识 = 后验分布为dirichlet的分布