美团:2022 秋招 【北斗】搜索推荐广告高级算法工程师

美团:2022 秋招 【北斗】搜索推荐广告高级算法工程师

一面

  • 项目与论文

  • 算法题

  1. 面试题 10.09. 排序矩阵查找 sorted-matrix-search-lcci
  2. 54 螺旋矩阵 spiral-matrix
  • LR(线性回归)

    • 公式

    • 设计的意义与目的

      通过一个超平面对数据进行划分。

  • 二分类问题损失函数

    • 交叉熵公式

      其中, 为类别数。

    • 交叉熵设计原理

      交叉熵的公式中包含两项信息熵的计算,通过 Logits 和标签的信息熵,衡量判断输出与类别之间的关联性(二者分布上的差异)。

      分别衡量了输出值 与当前样本“属于类别 ”和“不属于类别 ”这两种情况的关联性,使得在 y=0 或 y=1 时(对于各个类别而言)都能衡量输出的 Logits 与具体类别的关联。

    • 是否可以使用 MSE,为什么

      不可以。主要原因如下:

      1. 物理意义上,MSE 衡量的是几何空间的欧氏距离,而分类问题中每个类别的标签是离散的 ,本身不具备几何空间的意义;

        信息学中,交叉熵衡量的是两个分布之间的差异,可用于衡量模型预测的概率分布和真实标签的类别分布是否相似。

      2. 计算上,分类模型输出的概率一般会经过 softmax 归一化,归一化后的值使用 MSE 会导致不符合预期的梯度,而使用交叉熵则无此问题。

        如三分类问题中,标签为 ,模型输出为 ,此时的损失值为:

        可以看到,MSE 会考虑各个类别的概率,其最小化的目标除了让正确类别的概率最大化外,还会让错误类别的概率平均(这一步是不必要的,可能会导致梯度不符合预期,这也是其优化函数非凸的难以优化的直接表现);

        而交叉熵则只针对正确的类别进行计算,就没存在 MSE 中的问题。

  • 梯度更新

  • 特征/参数初始化

    • 常用的初始化方法

      Randomxavier/kaiming Normalxavier/kaiming Uniform

    • 是否可以初始化为 0

      不可以。

      特征初始化为零会导致后续所有的网络中的权重 失效,只保留偏差 生效,相当于严重降低了模型的复杂度,从而降低了其学习能力。

      参数初始化为零虽然经过非线性的激活函数后能更新参数,但是同一层所有参数的梯度都是相同的,使得更新后的同一层参数值是相同的,最终导致模型虽然能训练但整体是无效的。

二面

  • 项目

  • 概率分析:给定 1 个骰子,假设抛掷 300 次,如何判定这个骰子是否公平

    卡方检验?

  • coding:输出字符串所有的顺序子串

    输入:"ABC"

    输出:[["A","B","C"],["AB","C"],["A","BC"],["ABC"]]

    思路:递归枚举即可。

#美团##算法工程师##美团北斗计划##秋招##23届秋招笔面经#
全部评论
想问下楼主有被问道论文和竞赛项目吗
点赞 回复 分享
发布于 2022-09-16 08:38 广东
楼主约三面了吗
点赞 回复 分享
发布于 2022-09-17 11:12 山东
想问问你当时面的是到店还是到家啊
点赞 回复 分享
发布于 2023-09-15 23:09 广东

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
评论
8
40
分享
牛客网
牛客企业服务