当前位置: 首页 > news >正文

网站图片加alt西宁百度seo

网站图片加alt,西宁百度seo,如何推广qq群,网站项目中的工作流程实验和完整代码 完整代码实现和jupyter运行#xff1a;https://github.com/Myolive-Lin/RecSys--deep-learning-recommendation-system/tree/main 引言 Wide Deep 模型是一种结合了线性模型#xff08;Wide#xff09;和深度神经网络#xff08;Deep#xff09;的混…实验和完整代码 完整代码实现和jupyter运行https://github.com/Myolive-Lin/RecSys--deep-learning-recommendation-system/tree/main 引言 Wide Deep 模型是一种结合了线性模型Wide和深度神经网络Deep的混合架构以结合记忆Memorization 与泛化Generalization 能力并有效解决了推荐系统中的稀疏高秩特征交互问题。该模型最初由 Google的Cheng 等人2016 提出广泛应用于推荐系统、广告点击率预测等领域 1. 问题背景 1.1 推荐系统的核心挑战 推荐系统的核心任务是预测用户对物品的交互概率 P ( y 1 ∣ x ) σ ( f ( x ) ) P(y1|\mathbf{x}) \sigma(f(\mathbf{x})) P(y1∣x)σ(f(x)) 其中 x \mathbf{x} x 包含用户特征、上下文特征和物品特征。关键挑战在于 记忆捕获历史数据中频繁共现的特征组合泛化探索稀疏甚至未见过的特征与目标相关性的能力 这里介绍一下这两种能力 1. 记忆能力记住“强规则”的能力 什么是记忆能力 模型像学生背公式一样能直接记住历史数据中频繁出现的“特征组合”与结果的关系。例如 用户安装了 Netflix特征A 看到过 Pandora特征B → 安装Pandora的概率极高比如10%而平均安装率仅1%。 这种强关联性会被模型直接捕捉形成类似“看到A就推荐B”的规则。 哪些模型擅长记忆能力 简单模型如逻辑回归、协同过滤是记忆能力的“尖子生”。 原因模型结构简单特征权重直接决定结果。例如逻辑回归遇到“Netflix Pandora”组合时只需给这个特征分配一个很大的权重就能记住这条规则。 实际场景案例 在Google Play推荐系统中如果某个用户安装了视频类应用如Netflix同时历史数据显示这类用户安装音乐应用如Pandora的概率很高模型会直接记住这种关联优先推荐音乐类应用。 2.泛化能力指模型在面对从未见过的稀疏特征时能够捕捉到这些特征与最终标签之间的潜在关联。 模型能通过特征之间的隐含联系推广到从未见过的场景。例如 例如矩阵分解方法如隐因子模型比传统的协同过滤算法具有更强的泛化能力因为它通过学习用户和物品的隐向量使得稀疏数据如用户与特定物品之间的互动较少也能通过这些隐向量得到合适的推荐得分。在这种情况下即使是稀疏的特征组合模型也能通过隐向量进行预测从而获得稳定的推荐。 深度神经网络的泛化能力更为强大因为它通过多个隐藏层的非线性变换可以发掘数据中更为复杂和深层的潜在模式。即使是非常稀疏的特征向量输入经过多层组合后网络也能够平滑地输出推荐概率这种能力是简单模型无法实现的。 1.2 传统方法的局限 方法优势缺陷线性模型 (Wide)显式特征交叉可解释性强依赖特征工程无法泛化深度模型 (Deep)自动学习特征交互泛化能力强对稀疏高秩数据易过泛化 模型架构如下 2. Wide Deep 模型架构 模型细节如下 2.1 Wide 组件 广义线性模型 y w i d e w w T [ x , ϕ ( x ) ] b w y_{wide} \mathbf{w}_w^T[\mathbf{x}, \phi(\mathbf{x})] b_w ywide​wwT​[x,ϕ(x)]bw​ 其中 x \mathbf{x} x原始稀疏特征 ϕ ( x ) \phi(\mathbf{x}) ϕ(x)交叉特征变换定义为 ϕ k ( x ) ∏ i 1 d x i c k i c k i ∈ { 0 , 1 } \phi_k(\mathbf{x}) \prod_{i1}^d x_i^{c_{ki}} \quad c_{ki} \in \{0,1\} ϕk​(x)i1∏d​xicki​​cki​∈{0,1} c k i c_{ki} cki​ 为特征选择指示函数 数学意义 Wide模型本质上是一个线性模型用于处理特征之间的交互。它通过引入交叉特征例如“用户已安装Netflix”和“推荐应用为Pandora”来捕捉频繁出现的特征组合。交叉特征可以看作是特征之间的乘积表示多个特征同时为真时的情况。 例如假设有两个特征性别gender和语言language它们的交叉特征可以表示为“性别女性 且 语言英语”当这两个条件同时满足时交叉特征的值为1。 通过这种交叉变换宽模型能够有效地记忆那些频繁出现的特征交互确保在推荐系统中准确预测用户的常见行为。 2.2 Deep 组件 前馈神经网络 嵌入层将稀疏特征映射为低维稠密向量 e i Embedding ( x i ) ∈ R m \mathbf{e}_i \text{Embedding}(x_i) \in \mathbb{R}^m ei​Embedding(xi​)∈Rm隐层计算 a ( l 1 ) ReLU ( W ( l ) a ( l ) b ( l ) ) \mathbf{a}^{(l1)} \text{ReLU}(\mathbf{W}^{(l)}\mathbf{a}^{(l)} \mathbf{b}^{(l)}) a(l1)ReLU(W(l)a(l)b(l))最终输出 y d e e p w d T a ( L ) b d y_{deep} \mathbf{w}_d^T \mathbf{a}^{(L)} b_d ydeep​wdT​a(L)bd​ 意义深度模型通过将类别特征映射到低维的稠密嵌入空间来实现对稀疏数据的泛化。每个类别特征会被映射为一个稠密向量这些向量在训练过程中被优化以捕捉特征之间的隐藏关系。嵌入向量的维度通常是几百个维度这比原始的稀疏特征空间要小得多。 在深度模型中经过嵌入层后特征被传递到多个隐藏层每个隐藏层通过一个非线性激活函数如ReLU进行计算。深度模型的目标是通过这些隐藏层的变换来学习更复杂的特征交互并提高对未见特征组合的预测能力。 2.3 联合训练 概率输出 P ( y 1 ∣ x ) σ ( y w i d e y d e e p b ) P(y1|\mathbf{x}) \sigma(y_{wide} y_{deep} b) P(y1∣x)σ(ywide​ydeep​b) 3. 代码实现 3.1 特征工程 特征类型处理方式类别特征哈希分桶 嵌入层连续特征分位数归一化交叉特征笛卡尔积生成 3.2 Code class WideAndDeep(nn.Module):def __init__(self, num_wide, num_deep_dim, cat_deep_dims, cross_feature_indices, hidden_units, embedding_dim):Args:num_wide: Wide部分的特征数量cross_feature_indices: 需要交叉的特征索引列表格式 [(i,j), (k,l), ...]num_deep_dim: Deep部分的数值型特征数量cat_deep_dims: Deep部分的类别特征维度列表hidden_units: 深度网络隐藏层维度列表embedding_dim: 嵌入维度super(WideAndDeep, self).__init__()#wide 部分self.cross_indices cross_feature_indicesself.wide nn.Linear(num_wide len(cross_feature_indices), 1)#deep 部分self.embeddings nn.ModuleList([nn.Embedding(dim, embedding_dim) for dim in cat_deep_dims])# 计算Deep部分输入维度deep_input_dim num_deep_dim len(cat_deep_dims) * embedding_dim#Deep 部分全连接层self.dnn nn.Sequential()for i,unit in enumerate(hidden_units):self.dnn.add_module(name ffc_{i},module nn.Linear(deep_input_dim, unit))self.dnn.add_module(name frelu_{i},module nn.ReLU())deep_input_dim unit#最终组合层self.final nn.Linear(deep_input_dim 1, 1) #wide部分和deep部分的输出相加def create_cross_features(self, x):动态生成交叉特征cross_features []for i, j in self.cross_indices:feature x[:, i] * x[:, j]cross_features.append(feature.unsqueeze(1))return torch.cat(cross_features, dim1)def forward(self, num_x, deep_x ,cat_x,):Args:num_x: wide部分数值型特征deep_x: deep网络数值型特征cat_x: deep网络类别型特征num_x num_x.float() # 确保转为float32deep_x deep_x.float() # 确保转为float32cross_features self.create_cross_features(num_x)wide_input torch.cat([num_x, cross_features], dim1)wide_output self.wide(wide_input)#deep部分embeds [] for i in range(len(cat_x[0])):embed self.embeddings[i](cat_x[:, i])embeds.append(embed)deep_input torch.cat(embeds, dim1)deep_input torch.cat([deep_input, deep_x], dim1) #数值型特征和类别型特征拼接deep_output self.dnn(deep_input)#wide和deep部分输出相加output torch.cat([wide_output, deep_output], dim1)output self.final(output) #[batch_size,1]return torch.sigmoid(output).squeeze() Reference Cheng, H. T., Koc, L., Harmsen, J., Shaked, T., Chandra, T., Aradhye, H., … Ispir, M. (2016). Wide Deep Learning for Recommender Systems. arXiv preprint arXiv:1606.07792.王喆《深度学习推荐系统》
http://www.tj-hxxt.cn/news/140233.html

相关文章:

  • 秦皇岛网站制作与网站建设公司外贸网站建设注意事项
  • 手机网站打开很慢注册公司费用大概多少
  • 下载网站站开发菏泽建设公司网站
  • 网站建设技术服务公司行业门户网站开发
  • 四川省建设工程质量监督总站网站广告设计哪个网站好
  • 高端网站建设哪些好丹阳杨文军
  • 培训教材网站建设宝塔ssl文件位置wordpress
  • 小米商城的网站建站网站开发栏目需求1
  • 建设网站需要两种服务支持网站建设网上接单
  • 深圳专业网站制作技术企业公司如何做网站
  • 长春建站模板展示网页设计与网站建设期末考试
  • 上海专业的网站建中卫企业管理培训网站
  • 帮传销做网站违法吗优化教育培训
  • 2015做导航网站好视频网站开发前景
  • 郑州做网站优化公购物网站排名第一的有哪些
  • 科技创新的评价机制的作用南京seo公司哪家好
  • 怎样建网站卖东西宝应百度贴吧
  • 响应式网站好不好平面设计网站导航
  • 安居客房产官方网站东莞网站开发后缀
  • 山西太原门户网站开发公司自媒体网站大全
  • 移动网站设计教程郑州网站建设技术支持
  • 郑州网站建设网站制作淘宝装修可以做代码的网站有哪些
  • 邵阳网站seo可以用wordpress的什么文件大小
  • 网站 关键词 出现频率企业展厅方案
  • 泰州专一做淘宝网站注册域名卖钱很暴利吗
  • 惠州技术支持网站建设网站开发设计心得
  • 如何建设一个网站网站手机版模板免费下载
  • 安宁区网站制作网站备案都审核什么资料
  • 本地网站可以做吗2020最近的新闻大事10条
  • 保安公司网站如何做常用的关键词挖掘工具有哪些