搜广推校招面经七十九

一、数据标准化方法:log、zscore、minmax各自使用场景

1.1. Log变换(对数变换)

x ′ = log ⁡ ( x ) 或 log ⁡ 10 ( x ) x' = \log(x) \quad \text{或} \quad \log_{10}(x) x′=log(x)或log10(x)

  • 适用场景
    • 右偏/正偏分布数据(长尾在右侧)
    • 数据范围跨越多个数量级
  • 缺点
    • 不能处理零或负值
    • 变换后解释性降低

1.2. Z-score标准化

x ′ = x − μ σ x' = \frac{x - \mu}{\sigma} x′=σx−μ

  • 适用场景
    • 数据近似正态分布,需要保留异常值信息
  • 优点
    • 保持数据形状
    • 均值为0,标准差为1
    • 保留异常值信息
  • 缺点
    • 受异常值影响大

1.3. Min-Max标准化

x ′ = x − min ⁡ ( X ) max ⁡ ( X ) − min ⁡ ( X ) x' = \frac{x - \min(X)}{\max(X) - \min(X)} x′=max(X)−min(X)x−min(X)

  • 适用场景
    • 数据边界已知,需要统一量纲
    • 需要固定范围(如神经网络)
  • 优点
    • 保持原始数据关系
  • 缺点
    • 对异常值敏感
    • 可能失去数据方差信息
    • 新数据可能超出原定范围

二、还有那些的数据标准化的方法?各自有什么优点?

2.1. Robust Scaling

x ′ = x − median ( X ) IQR ( X ) x' = \frac{x - \text{median}(X)}{\text{IQR}(X)} x′=IQR(X)x−median(X)

2.2. MaxAbs Scaling

x ′ = x max ⁡ ( ∣ X ∣ ) x' = \frac{x}{\max(|X|)} x′=max(∣X∣)x

2.3. Box-Cox变换

x ′ = { x λ − 1 λ , λ ≠ 0 log ⁡ ( x ) , λ = 0 x' = \begin{cases} \frac{x^\lambda - 1}{\lambda}, & \lambda \neq 0 \\ \log(x), & \lambda = 0 \end{cases} x′={λxλ−1,log(x),λ=0λ=0

三、介绍一下lightgbm原理

LGB最显著的优点就是快,其原理之前看过很多次,但是发现还是讲的不是很流畅主要是因为对每个方法理解的不够深。于是找来LightGBM的原文

首先要知道,lgb模型都是处理二维结构化数据的。因此,lgb速度优化的两大算法就是从如何减少这两个维度开始的,知道这个就会比较清楚的理解lgb的几个算法是在干什么。

3.1. 基于梯度的单边采样(Gradient-based One-Side Sampling,GOSS)

三个关键词:梯度、单边、采样。简单来说,就是根据样本梯度来对梯度小的这边样本进行采样,而对梯度大的这边样本保留。

比如,我有训练数据1000w,设置梯度大的样本的保留10%,而梯度小的样本保留20%。算法上就是先按样本梯度对样本降序排序,保留梯度处于前10%的样本(100w),再从剩下的900w梯度较小样本随机挑选200w(1000w*20%)样本。这样的话样本量就从1000w减小到了300w,加快训练速度。

3.1.1. 为什么不完全丢弃小梯度样本?

  • 全部丢弃会改变原始样本分布,影响模型性能;
  • 通过 采样 + 梯度调整权重 的方式,尽量恢复真实分布;
  • 实验显示:不仅没有性能下降,反而可能提升(多样性提升,类似 dropout)。

实验表明:GOSS 在保留模型性能的同时,有效降低了训练成本 ;同时也提升了模型泛化能力,可能因为引入了更多训练多样性(类似于 dropout);

3.2. 互斥特征捆绑(EFB)

Exclusive Feature Bundling,互斥特征捆绑。前面GOSS可以通过减少样本加速模型训练,而EFB可以通过减少特征个数使数据规模进一步变小。

比如在推荐系统里可能特征非常多,达到几万维甚至更多,但其中很多特征是互斥的,互斥指的是一些特征很少同时出现非0值,类似one-hot特征。lgb的思想就是把这些特征捆绑在一起形成一个新的特征,以减少特征数量,提高训练速度。

3.2.1. 首先介绍如何判定哪些特征应该捆绑在一起?

EFB算法采用 构图(build graph) 的思想,将特征作为节点,不互斥的特征之间进行连边,然后从图中找出所有的捆绑特征集合。这个问题本质上是图着色问题(Graph Coloring Problem),但图着色是NP-hard问题,因此EFB采用了近似的贪心策略解决办法。

它允许特征之间存在少数样本点不互斥(例如在某些样本中同时为非0),并设置一个最大冲突阈值 K。选择合适的 K 值可以在准确性和训练效率上取得良好的权衡(trade-off)。

下面是EFB的特征捆绑的贪心策略流程:

  1. 将特征作为图的顶点;
  2. 对于存在同时不为0样本的特征对进行连边,并以样本个数作为边的权重;
  3. 对特征按照度(与其他特征的冲突数)进行降序排序,度越大说明越不容易与其他特征捆绑;
  4. 设置最大冲突阈值 K,遍历每个特征并尝试将其加入已有的特征捆绑簇中:
    • 若加入某簇后的冲突数不超过 K,则将该特征加入该簇;
    • 否则,新建一个特征簇,将其加入其中。

3.2.2. 如何将特征捆绑簇里面的所有特征捆绑(合并)为一个特征?

EFB采用 偏移常数(offset) 的方式来合并互斥特征,同时保证之后可以分离出原始特征。

3.2.2.1. 合并策略示例:
  • 设特征A取值范围为 [0, 10),特征B取值范围为 [0, 20)
  • 给B加上一个偏移常量 10,使其范围变为 [10, 30)
  • 合并后的特征范围为 [0, 30),可以通过值的区间还原出原始特征来源。
3.2.2.2. 在 LightGBM 中的实现:

由于LightGBM使用 直方图算法(Histogram-based),特征值被分桶(bin),合并操作实际上就是:

  • 给每个特征分配的bin编号加上偏移量(即累加前面特征的bin数量);
  • 同时记录每个特征的binRange,便于后续恢复原始特征。
    这种合并策略高效且简单,适合稀疏特征的处理,能大幅减少特征数量,提高训练效率。

四、讲讲esmm和mmoe区别

在多任务学习(Multi-Task Learning)中,ESMM(Entire Space Multi-Task Model)MMOE(Multi-gate Mixture-of-Experts) 都是经典结构。

4.1. ESMM(Entire Space Multi-Task Model)

  • 采用共享底层+任务特定塔式结构
  • 显式建模CTR和CTCVR任务
  • 通过pCTCVR = pCTR * pCVR概率关系连接任务

4.2. MMOE(Multi-gate Mixture-of-Experts)

  • 包含多个专家网络(Expert)和门控机制(Gate)
  • 每个任务有独立门控网络
  • 专家网络共享,门控网络决定任务特定组合

五、215. 数组中的第K个最大元素(力扣hot100_堆_中等)

  • 思路:这道题用堆和快排都可以,感觉写py的话,就算写了堆也要问快排。
  • 代码:
python 复制代码
class Solution:
    def findKthLargest(self, nums, k):
        def quick_sort(nums, k):
            pivot = random.choice(nums)
            big, equal, small = [], [], []
            for num in nums:
                if num > pivot:
                    big.append(num)
                elif num < pivot:
                    small.append(num)
                else:
                    equal.append(num)
            if k <= len(big):
                return quick_sort(big, k)
            if k > len(nums)-len(small):
                return quick_sort(small, k-len(nums)+len(small))
            return pivot
        return quick_sort(nums, k)
相关推荐
糖果店的幽灵3 分钟前
大模型测评DeepEval快速入门-安全与通用指标详解
人工智能·安全·langgraph·大模型测评·deepeval
YFJ_mily1 小时前
【会议征稿】第八届人本计算与数据智能国际会议(HCC 2026)| 广州12月召开,EI/Scopus稳定检索,多届收录无忧
机器学习·人机交互·ei会议·数据智能·rdlink研发家·人本计算·广州会议
江畔柳前堤6 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
阿里云大数据AI技术6 小时前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客6 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
阿里云大数据AI技术7 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO7 小时前
GEO技术服务选型指南
大数据·人工智能·python
普通攻击往后拉8 小时前
Leetcode 206. 反转链表
算法·leetcode·链表
阿里云大数据AI技术8 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
维基框架8 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github