推荐系统
文章平均质量分 75
手撕机
娱乐博主。
展开
-
[推荐系统] 手撕DeepFM模型
模型总体架构图设计动机在Wide & Deep模型中,Wide部分是一个简单的线性模型,交叉特征需要根据经验人工去挑选组合,而FM模型,可以自动学习交叉特征,所以自然而然想到,可以用FM模型来替换Wide & Deep模型的Wide部分,所以名字叫DeepFM。比较特别的是,FM部分和Deep部分会共享Embedding权重,根据论文的说法,这样可以同时学习到高阶和低阶的特征交互信息。FM部分图中,黑色线表示的是FM模型中的一次项,红色线表示的是二次项。Deep部分问题1:原创 2022-01-13 00:37:37 · 313 阅读 · 0 评论 -
[推荐系统] 手撕FM模型
基本形式FM模型在线性模型的基础上,增加了一个二次项:y=w0+∑i=1nwixi+∑i=1n−1∑j=i+1nwijxixjy = w_0 + \sum^{n}_{i=1} w_i x_i + \sum^{n-1}_{i=1} \sum^{n}_{j=i+1} w_{ij} x_i x_jy=w0+i=1∑nwixi+i=1∑n−1j=i+1∑nwijxixjw0w_0w0 是常数项,这里有1个参数需要训练;∑i=1nwixi\sum^{n}_{i=1} w_i x_i∑i原创 2021-08-03 02:23:51 · 166 阅读 · 0 评论 -
[推荐系统] SVD、FunkSVD、BiasSVD和SVD++
FunkSVDFunkSVD方法是Simon Funk在Netflix电影推荐比赛中使用并取得良好效果,因此得名。不同传统SVD分解成3个矩阵,FunkSVD为了简化运算,只分解为2个矩阵:Mm×n=Pm×kTQk×nM_{m \times n} = P_{m \times k}^T Q_{k \times n}Mm×n=Pm×kTQk×n那么怎么得到矩阵P和Q呢?这里巧妙地利用了优化的思想:假设函数:y=qjTpiy = q_j^Tp_iy=qjTpi损失函数:L=∑i,原创 2021-08-29 23:34:04 · 1748 阅读 · 0 评论 -
[推荐系统] Wide & Deep模型
模型总体架构Wide部分:Deep部分:模型本身的结构是非常简单的,但是需要根据具体问题决定哪些特征放在Wide部分,哪些放在Deep部分。Wide部分的特征,上图绿色部分输入是用户安装的App(User Installed App)和当前曝光App(Impression App)的交叉特征,这两个都是类别型特征(Categorical Feature),而且App的数量一般都是百万级别,因此这里维数会非常高Deep部分的特征,上图红色部分对于类别型特征(Categorical Featu原创 2021-08-05 04:24:36 · 215 阅读 · 0 评论