搜广推校招面经七十

美团暑期推荐实习

一、讲一下self-attention,qkv的含义。

见【搜广推校招面经五

二、讲一下协同过滤召回,新闻推荐项目为什么不用usercf?

见【搜广推校招号面经六十四

三、介绍信息增益公式(Information Gain)

见【搜广推校招面经六十二

信息增益是一种用于特征选择的指标,广泛应用于构建决策树(如 ID3 算法)。它衡量的是某个特征 A 在对数据集 D 进行划分后,信息不确定性的减少量 。信息增益的计算依赖两个核心概念:熵 和 条件熵。

3.1. 熵(Entropy)

熵表示系统的不确定性程度:
H ( D ) = − ∑ i = 1 k p i log ⁡ 2 p i H(D) = -\sum_{i=1}^{k} p_i \log_2 p_i H(D)=−i=1∑kpilog2pi

  • D:当前样本集
  • k:类别个数
  • p i p_i pi:属于第 i i i 类的样本所占比例

3.2. 条件熵(Conditional Entropy)

条件熵表示在特征 A 的条件下,样本集 D 的期望信息熵:
H ( D ∣ A ) = ∑ j = 1 k ∣ D j ∣ ∣ D ∣ H ( D j ) H(D | A) = \sum_{j=1}^{k} \frac{|D_j|}{|D|} H(D_j) H(D∣A)=j=1∑k∣D∣∣Dj∣H(Dj)

3.3. 信息增益公式

信息增益定义为特征 A 在划分数据集 D 后,信息熵的减少量:
G a i n ( D , A ) = H ( D ) − H ( D ∣ A ) Gain(D,A)=H(D)−H(D∣A) Gain(D,A)=H(D)−H(D∣A)

四、决策树停止分裂的条件

树模型在训练过程中,通过不断分裂节点来划分数据集,但为了防止过拟合和提高泛化能力,决策树在构建过程中需设置停止条件。下面是常见的方法:

4.1. 节点纯度足够高

  • 若某个节点中样本基本属于同一类(例如熵小于设定阈值 ε),则停止分裂。

4.2. 样本数量过少

  • 若当前节点包含的样本数 < min_samples_split 或 min_samples_leaf,则不再划分。

4.3. 信息增益太小

  • 如果当前最优划分特征的信息增益 < min_gain_threshold,说明划分效果不明显,停止。

4.4. 树达到最大深度

  • 若当前树的深度 >= max_depth,则不再向下扩展子节点。

4.5. 特征耗尽

  • 所有特征均已被用尽,无法再进一步划分。

五、XGBoost的正则项

XGBoost的正则化项用于控制模型的复杂度,防止过拟合。它包含了两部分:L1正则化 (Lasso)和L2正则化(Ridge)。XGBoost通过控制这两个正则化项的参数来实现正则化。

5.1. L1正则化(Lasso Regularization)

L1正则化通过增加特征系数的绝对值之和来惩罚模型。它能够实现特征选择,促使一些特征系数变为零。

  • 参数 : alpha
  • 作用 : 控制L1正则化的强度,增大alpha值会增加L1正则化的效果,从而使得模型更为稀疏。

5.2. L2正则化(Ridge Regularization)

L2正则化通过增加特征系数的平方和来惩罚模型。它帮助防止过拟合并能够降低模型的复杂度。

  • 参数 : lambda(也称为reg_lambda
  • 作用 : 控制L2正则化的强度,增大lambda值会增加L2正则化的效果,从而使得模型的特征权重更小,避免过拟合。

5.3. 总的正则化目标

XGBoost的目标函数包括了损失函数和正则化项,公式如下:
L ( θ ) = ∑ i = 1 N ℓ ( y i , y ^ i ) + ∑ k = 1 K Ω ( f k ) L(\theta) = \sum_{i=1}^{N} \ell(y_i, \hat{y}i) + \sum{k=1}^{K} \Omega(f_k) L(θ)=i=1∑Nℓ(yi,y^i)+k=1∑KΩ(fk)

其中, ℓ ( y i , y ^ i ) \ell(y_i, \hat{y}_i) ℓ(yi,y^i)是损失函数, Ω ( f k ) \Omega(f_k) Ω(fk)是正则化项,具体为:

Ω ( f k ) = γ T + 1 2 λ ∑ j = 1 T w j 2 \Omega(f_k) = \gamma T + \frac{1}{2} \lambda \sum_{j=1}^{T} w_j^2 Ω(fk)=γT+21λj=1∑Twj2

  • T:树的叶子数
  • w j w_j wj:每个叶子的权重
  • γ \gamma γ:每增加一个叶子时的惩罚项(树的复杂度控制)
  • λ \lambda λ:L2正则化的参数

通过调整alphalambda,可以有效控制模型的复杂度,避免过拟合。

相关推荐
天上的光19 分钟前
17.迁移学习
人工智能·机器学习·迁移学习
后台开发者Ethan26 分钟前
Python需要了解的一些知识
开发语言·人工智能·python
猫头虎1 小时前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体快速构建工具:FastbuildAI
人工智能·开源·prompt·github·aigc·ai编程·ai-native
重启的码农1 小时前
ggml 介绍 (6) 后端 (ggml_backend)
c++·人工智能·神经网络
重启的码农1 小时前
ggml介绍 (7)后端缓冲区 (ggml_backend_buffer)
c++·人工智能·神经网络
数据智能老司机1 小时前
面向企业的图学习扩展——图简介
人工智能·机器学习·ai编程
盼小辉丶1 小时前
PyTorch生成式人工智能——使用MusicGen生成音乐
pytorch·python·深度学习·生成模型
mit6.8242 小时前
[AI React Web] 包与依赖管理 | `axios`库 | `framer-motion`库
前端·人工智能·react.js
小阿鑫2 小时前
不要太信任Cursor,这位网友被删库了。。。
人工智能·aigc·cursor·部署mcp
说私域3 小时前
基于定制开发开源 AI 智能名片 S2B2C 商城小程序的热点与人工下发策略研究
人工智能·小程序