汉南做网站,做网站运营需要具备哪些能力,如何线下宣传网站,机票网站开发知乎一、FM
背景#xff1a;主要解决大规模稀疏数据下的特征组合遇到的问题#xff1a;1. 二阶特征参数数据呈指数增长 怎么做的#xff1a;对每个特征引入大小为k的隐向量#xff0c;两两特征的权重值通过计算对应特征的隐向量内积
而特征之间计算点积的复杂度原本为 实际应…一、FM
背景主要解决大规模稀疏数据下的特征组合遇到的问题1. 二阶特征参数数据呈指数增长 怎么做的对每个特征引入大小为k的隐向量两两特征的权重值通过计算对应特征的隐向量内积
而特征之间计算点积的复杂度原本为 实际应用在推荐场景中用户特征和物品特征可以相互组合例如用户性别男经过onehot编码之后为[0,1]物品颜色蓝色经过onehot编码之后为[1,0]那么组合特征[用户性别男物品颜色蓝]可能会很有用。此时可以用FM模型对用户性别和物品颜色特征进行组合。
二、wide deep
https://arxiv.org/abs/1606.07792 2016年 参考https://blog.csdn.net/google19890102/article/details/78171283 核心思想是结合线性模型的记忆能力和DNN模型的泛化能力从而提升整体模型性能。 wide 模型可用线性模型如LR模型起记忆作用即从历史数据中发现特征之间的相关性。缺点1.需要更多人工设计2.可能出现过拟合3.无法捕捉训练数据中未曾出现过的特征对。 deep模型深度学习模型起泛化作用即相关性的传递发现在历史数据中很少或者没有出现过的特征组合寻找用户的新偏好。当user-item矩阵比较稀疏时模型会过分泛化即使部分user-item应该是没有关联的但模型仍旧可以得到user-item的非零预测导致推荐并不相关的物品这时准确性不能得到保证。 将这两个模型结合起来可以更好地在用户的历史兴趣和探索新的兴趣点之间做到平衡。 模型结构
特征处理以文章中的场景用户app推荐为例每一条训练数据的特征包括用户数据和曝光数据label是用户是否下载。 wide的输入离散特征以及离散特征之间的组合特征。 deep的输入1. 连续特征通过归一化到区间[0,1]后直接输入到DNN中2.类别特征通过词典映射成32维稠密向量词典根据模型训练调整参数。 wide deep联合训练输出通过加权方式合并到一起通过sigmoid激活函数输出。 wide部分对deep模型进行记忆能力的补充因此小规模的交叉特征即可。
三、DeepFM
https://arxiv.org/pdf/1703.04247.pdf 2017年
将Deep和FM相结合。FM做特征见低阶组合Deep部分做特征间高阶组合。 DeepFM相对于wide deep的改进就是将wide人工建立交叉特征变为自动获取交叉特征权重并且FM和Deep模块共享feature embedding的部分可以更快的训练。 连续变量可以直接作为单个值输入或者离散化作为一个向量输入。标准代码中是将它直接作为DNN的输入。
以“看点日报”优化算法为例 输入分为如下4组
连续型特征这部分特征的典型代表为文章CTR文章点赞数评论数等。单值离散特征这部分将进行embedding操作典型代表为文章分类信息用户收入等级学历等级等。多值离散特征这部分将进行加权embedding操作典型代表为用户画像信息假设用户有多个分类的兴趣爱好如动漫与娱乐在lookup table中其向量分别为v33与v3其中动漫点击10次娱乐点击2次那么最终以点击加权的embedding特征为(10/12)v33(2/12)v3向量特征通过PCA等手段将向量特征进行维度变换后作为embedding输入模型典型代表为文章的TFIDF向量用户预训练向量等。 优化后的DeepFM主要由三部分组成分别为FM部分该部分接受全部的embedding特征进行二交叉输出结果至concat层Deep部分该部分接受全部的embedding展开特征与连续特征经过多层的全连接网络输出结果至concat层Wide部分该部分接受离散特征进行LR将最终结果输出concat层
推荐领域中的向量召回之双塔DSSM Deep Structured Semantic Models LSA 潜在语义分析 分布式假设一个单词的属性是由它所处的环境刻画的。如果两个单词在含义上比较接近那么他们也会出现在相似的文本中也就是说具有相似的上下文。 构建一个“单词-文档”矩阵矩阵的每一行表示一个单词矩阵的每一列表示一个文章第i行第j列的值表示第i个单词在第j个段落里面出现了几次或者表示该单词的tf-idf值。 将这个矩阵基于奇艺值分解SVD 优点对文本特征维度降低到一个低维语义空间减轻一词多义和一义多词问题。 缺点无监督模型没有利用点击信息。
DSSM 2013年 总体分为三层结构输入层、表示层和匹配层。 输入层将文本映射到低维向量空间转化成向量提供给深度学习网络。主要的技术点是Word Hashing。方法将每个单词word表示成n-gram形式例如将每个单词写成trigram的形式good - “#go”,“goo”,“ood”,“od#”。这样原本500K的vocab_size能够简化为30k的Token size。 表示层即图中的Multi-layer nonlinear projection 和 semantic feature。 匹配层即图中计算query和 训练方法选择query和文档集合D其中 应用时可以离线计算item/doc/广告的embedding线上计算query/user的embedding线上计算相关性。 优点
有监督使用最大似然函数进行优化使用word-hashing方法解决大规模且稀疏的词典问题将用户的Query行为和Document映射到同一语义空间中通过余弦相似度计算相关性。 缺点word hash可能造成词语冲突因为表示层用的是词袋模型BOW不考虑词序信息损失了上下文语序信息仅用点击来判断正负样本没有考虑到position偏差产生的噪声较大 因为cos的表达是有限的很难提取交叉特征所以双塔还是比较适用于召回场景。 DSSM双塔由很多种变形例如CNN-DSSM、LSTM-DSSMsentence BERT其本质只在于所使用的特征抽取器的不同。