搜广推校招面经八十二

一、L1 和 L2 正则化的区别?对数据分布有什么要求,它们都能防止过拟合吗?

1.1. L1 与 L2 正则化的区别

特性L1 正则化(Lasso)L2 正则化(Ridge)
正则项λ * ∑|wᵢ| λ ∗ ∑ ( w i 2 ) λ * ∑(wᵢ²) λ(wi2)
几何意义曼哈顿距离欧几里得距离
是否稀疏会产生稀疏解(可做特征选择)一般不会产生稀疏解
使用场景特征选择、高维稀疏问题多重共线性、连续性特征问题

1.2. 对数据分布的要求

  • L1 正则化
    • 特征间相关性高时效果较差(可能任意选择一个);
    • 更适合高维稀疏特征(如文本、基因数据);
  • L2 正则化
    • 更适合特征均匀分布、非稀疏数据;
    • 对特征间存在多重共线性效果更稳定;
    • 对正态分布特征表现更好;

1.3. 它们都能防止过拟合吗?

是的,L1 和 L2 都能防止过拟合:

  • L1 通过让某些特征权重变为 0,起到特征选择的作用;
  • L2 通过惩罚权重过大的参数,使模型更平滑、更稳定;

1.4. 总结建议

场景推荐使用的正则化方式
高维稀疏特征L1
需要自动特征选择L1
特征之间存在多重共线性L2
更注重解的稳定性L2
想结合两者优点Elastic Net(L1 + L2 混合)

二、冷启动场景下Embedding初始化方案有那些?

2.1. 随机初始化

  • 直接高斯或者均匀随机初始化。缺点就是没有任何先验知识可能导致收敛变慢或者模型不稳定

2.2. 使用平均 Embedding

  • 所有未知的物品的Embedding = 所有老物品Embedding的平均值。这样可能稳定点,适用于新物品和老物品有几分相似

2.3. 相似对象初始化

  • 基于新对象的一些辅助信息(如属性、上下文、元数据)找出最相似的已有对象,使用其 Embedding 或加权平均。

2.4. 搞迁移学习或者叫预训练模型初始化

  • 先训练一个元模型就是输出Embedding,根据新对象的元特征生成对应的 Embedding

2.5. 使用图神经网络

  • 这个比较复杂,图本身也不好训练,感觉只有任务要求很高的情况才搞这么复杂

三、详细解释一下DCN模型

论文原文:Deep & Cross Networkfor Ad Click Predictions, KDD’2017, Google

3.1. 设计这个模型其实也是为了更加充分的特征交叉,DNN + Cross Net模型架构如下:

在这里插入图片描述

3.2. Cross Net 的具体细节

对于第 l 层:
x l + 1 = x 0 ⋅ ( w l T x l ) + b l + x l x_{l+1} = x_0 \cdot (w_l^T x_l) + b_l + x_l xl+1=x0(wlTxl)+bl+xl
其中:

  • x 0 x_0 x0 为原始输入向量(固定不变)
  • x l x_l xl 为当前层输入
  • w l ∈ R d w_l \in \mathbb{R}^d wlRd b l ∈ R d b_l \in \mathbb{R}^d blRd
  • · 为哈达马积(逐元素乘)

3.3. Cross Net的优势

X i + 1 = X 0 X i T W i + X i + b i X_{i+1} = X_0 X_i^T W_i + X_i + b_i Xi+1=X0XiTWi+Xi+bi

X 0 X_0 X0可视为常数输入, W i W_i Wi 视为函数 F F F,公式可改写为:
X i + 1 = F ( X i ) + X i + b i X_{i+1} = F(X_i) + X_i + b_i Xi+1=F(Xi)+Xi+bi

与残差连接的对比

残差连接的标准公式: y = f ( x ) + x y = f(x) + x y=f(x)+x

相似之处

  • 两者均采用“原始输入 + 变换结果”的结构。
  • 均具备避免梯度消失的特性。
  • 适合构建深层网络。

四、DIN 的 Target Attention 是怎么做的?

4.1. 背景:DIN 主要解决什么?

DIN(Deep Interest Network)用于电商推荐,它的特点是:

  • 用户有很多历史行为(点击、浏览、收藏等)
  • 但不是每次历史行为都和当前待推荐商品相关

所以,需要根据当前的待推荐商品(target item)动态地去关注用户的历史行为。这就是 Target Attention —— 针对不同的目标,动态建模兴趣的注意力机制。

4.2. DIN 中 Target Attention 的计算流程

假设:

  • 用户历史行为序列: { h 1 , h 2 , . . . , h n } \{h_1, h_2, ..., h_n\} {h1,h2,...,hn}
  • 当前候选物品(Target Item): t t t

4.2.1. Attention步骤是:

第一步:拼接特征

对每个历史行为 h i h_i hi 和当前target t t t,做特征组合。
通常的组合方法是:

  • 拼接 (Concat): [ h i , t , h i − t , h i ∘ t ] [h_i, t, h_i - t, h_i \circ t] [hi,t,hit,hit]
    • h i − t h_i - t hit:捕捉差异
    • h i ∘ t h_i \circ t hit:逐元素乘(哈达马积,捕捉交互)
    • [ ⋅ ] [\cdot] []:表示拼接
第二步:MLP 得分

将上面组合后的特征,输入一个小的MLP(多层感知机),输出一个相关性得分(attention weight)
α i = MLP ( [ h i , t , h i − t , h i ∘ t ] ) \alpha_i = \text{MLP}([h_i, t, h_i - t, h_i \circ t]) αi=MLP([hi,t,hit,hit])
注意:

  • 这里的 MLP 是共享参数的。
  • 不是标准的 “点积Attention”(比如 Transformer里的那种),而是通过 MLP学习得分。
第三步:Softmax归一化

对所有得分 { α 1 , α 2 , . . . , α n } \{\alpha_1, \alpha_2, ..., \alpha_n\} {α1,α2,...,αn} 做 softmax 归一化:
β i = exp ⁡ ( α i ) ∑ j = 1 n exp ⁡ ( α j ) \beta_i = \frac{\exp(\alpha_i)}{\sum_{j=1}^n \exp(\alpha_j)} βi=j=1nexp(αj)exp(αi)
这样可以保证权重加起来为 1。

第四步:加权求和

最后,用归一化后的权重对历史行为加权求和,得到一个综合向量:
h a t t n = ∑ i = 1 n β i h i h_{attn} = \sum_{i=1}^n \beta_i h_i hattn=i=1nβihi
这个 h a t t n h_{attn} hattn 就是最终代表用户兴趣的向量,专门针对当前target。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/903026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构和算法(九)--红黑树

一、红黑树 1、红黑树 前面介绍了2-3树,可以看到2-3树能保证在插入元素之后,树依然保持平衡状态,它的最坏情况下所有子结点都是2-结点,树的高度为IgN,相比于我们普通的二叉查找树,最坏情况下树的高度为N,确…

工业摄像头通过USB接口实现图像

工业摄像头系列概览:类型与应用 工业摄像头系列涵盖了多种类型,以满足不同行业和应用的需求。以下是对工业摄像头系列的一些介绍: 一、主要类型与特点 USB工业摄像头 :这类摄像头通常通过USB接口与计算机连接,适用于…

使用Django框架表单

使用Django框架表单 文章目录 使用Django框架表单[toc]1.使用Form类构建表单2.表单字段与Widget控件 1.使用Form类构建表单 【创建项目和应用】 PS C:\Users\ls> cd E:\Python\ PS E:\Python> django-admin.exe startproject FormSite PS E:\Python> cd .\FormSite\…

docker配置mysql遇到的问题:网络连接超时、启动mysql失败、navicat无法远程连接mysql

目录 1.网络超时 方式1. 网络连接问题 方式2. Docker镜像源问题 方式3.使用国内镜像源 2.启动mysql镜像失败 3.navicat无法远程连接mysql 1.网络超时 安装MySQL时出现超时问题,可能由多种原因导致: 方式1. 网络连接问题 原因:网络不稳定…

React 多语言国际化:实现多语言支持

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

Claude系列模型-20250426

文章目录 Claude 3.7 Sonnet - "Our most intelligent model yet"Claude 3.5 Haiku - "Fastest model for daily tasks"Claude 3.5 Sonnet (Oct 2024)Claude 3 Opus总结Claude 3.7 Sonnet - “Our most intelligent model yet” 特点: 这是目前Claude系列…

Linux查看可用端口号码命令

在Linux系统中,有多种命令可用于查看可用端口号码,下面为你详细介绍: 1. 使用netstat命令 netstat是一个功能强大的网络工具,可用于显示网络连接、路由表和网络接口等信息。你可以结合不同的选项来查看端口使用情况。 查看所有…

leetcode201.数字范围按位与

找到公共前缀部分&#xff0c;然后后面的部分全0 class Solution {public int rangeBitwiseAnd(int left, int right) {int offset 0;while (left ! right) {offset;left left >> 1;right right >> 1;}return right << offset;} }

端到端自动驾驶的数据规模化定律

25年4月来自Nvidia、多伦多大学、NYU和斯坦福大学的论文“Data Scaling Laws for End-to-End Autonomous Driving”。 自动驾驶汽车 (AV) 栈传统上依赖于分解方法&#xff0c;使用单独的模块处理感知、预测和规划。然而&#xff0c;这种设计在模块间通信期间会引入信息丢失&am…

021-C语言文件操作

C语言文件操作 文章目录 C语言文件操作1. 文件的概念2. 二进制文件和文本文件3. 文件的打开和关闭3.1 流和标准流3.1.1 流3.1.2 标准流 3.2 文件指针3.3 文件的打开和关闭 4. 文件的顺序读写4.1 顺序读写函数4.2 对比两组函数4.2.1 scanf/fscanf/sscanf4.2.2 printf/fprintf/sp…

如何使用@KafkaListener实现从nacos中动态获取监听的topic

1、简介 对于经常需要变更kafka主题的场景&#xff0c;为了实现动态监听topic的功能&#xff0c;可以使用以下方式。 2、使用步骤 2.1、添加依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactI…

《TCP/IP详解 卷1:协议》之第七、八章:Ping Traceroute

目录 一、ICMP回显请求和回显应答 1、ICMP回显请求 2、ICMP回显应答 二、ARP高速缓存 三、IP记录路由选项&#xff08;Record Route&#xff0c;RR&#xff09; 1、记录路由选项的工作过程 2、RR 选项的 IP 头部格式 2.1、RR 请求 2.2、RR响应 四、ping 的去返路径 五…

30天通过软考高项-第四天

30天通过软考高项-第四天 任务&#xff1a;项目进度管理 思维导图阅读 知识点集锦阅读 知识点记忆 章节习题练习 知识点练习 手写回忆ITTO 听一遍喜马拉雅关于范围的内容 进度管理-背 1. 过程定义 龟腚排池至控 规划进度管理&#xff1a;为了规划、编制、管理…

根据JSON动态生成表单表格

根据JSON动态生成表单表格 一. 子组件 DynamicFormTable.vue1,根据JSON数据动态生成表单表格,支持表单验证JS部分1.1,props数据1.2,表单数据和数据监听1.3,自动验证1.4,表单验证1.5,获取表单数据1.6,事件处理1.7,暴露方法给父组件2,HTML部分二,父组件1, 模拟数据2,…

【赵渝强老师】快速上手TiDB数据库

从TiDBv4.0起&#xff0c;提供了包管理工具TiUP&#xff0c;负责管理TiDB、PD、TiKV等组件。用户只需通过TiUP命令即可运行这些组件&#xff0c;显著降低了管理难度。TiUP程序只包含少数几个命令&#xff0c;用来下载、更新、卸载组件。TiUP通过各种组件来扩展其功能。组件是一…

springboot入门-DTO数据传输层

在 Spring Boot 应用中&#xff0c;DTO&#xff08;Data Transfer Object&#xff0c;数据传输对象&#xff09; 是专门用于在不同层&#xff08;如 Controller 层、Service 层、外部系统&#xff09;之间传输数据的对象。它的核心目的是解耦数据模型和业务逻辑&#xff0c;避免…

安装docker,在docker上安装mysql,docker上安装nginx

目录 一.安装docker 1.1查看Linux版本的命令这里推荐两种&#xff1a; 1.2查看内核版本有三种方式&#xff1a; 2.安装 2.1 如果之前安装了docker&#xff0c;先删除旧版本的doker 2.2 安装需要的软件包&#xff0c;yum-util提供yum-config-manager功能&#xff0c;另外两…

Android killPackageProcessesLSP 源码分析

该方法用于终止指定包名/用户ID/应用ID下符合条件的应用进程&#xff0c;涉及多进程管理、资源冻结、进程清理及优先级更新等操作。核心流程分为进程筛选、资源冻结、进程终止与资源恢复三个阶段。 /*** 从已排序的进程列表中&#xff0c;提取从指定起始索引 startIdx 开始的连…

openAICEO山姆奥特曼未来预测雄文之三个观察

《三个观察》 山姆奥特曼 这篇文章主要讲的是关于AGI&#xff08;人工通用智能&#xff09;的未来发展及其对社会的影响&#xff0c;用大白话总结如下&#xff1a; 核心观点&#xff1a; AGI是什么&#xff1f; AGI是一种能像人类一样解决各种复杂问题的智能系统&#xff0c;比…

部署yolo到k230教程

训练&#xff1a;K230 借助 AICube部署AI 视觉模型 YOLO等教程_嘉楠 ai cube多标签分类-CSDN博客K230模型训练ai cube报错生成部署文件异常_aicube部署模型显示生成部署文件异常-CSDN博客 部署&#xff1a; # 导入必要的库和模块 import os import ujson # 超快的JS…