百度 提前批 国际化广告部 (深圳-机器学习/数据挖掘/自然语言处理工程师) 一面+二面面经

文章目录

  • 0、面试情况
  • 1、一面
    • 1.1、简历上的项目介绍了个遍
    • 1.2、dbscan原理
    • 1.3、为什么梯度的负方向就是损失函数下降最快的方向?
    • 1.4、bn原理,为什么bn能解决过拟合,
    • 1.5、auc原理,为什么ctr或你的广告推荐里用auc指标?
    • 1.6、auc指标能否评估排序任务?
    • 1.7、gauc指标?
    • 面试官:我们一般还会用pcoc指标,衡量排序的精准性。
    • 1.8、一面coding题(秒了)
  • 2、二面
    • 2.1、介绍项目
    • 2.2、广告推荐全链路介绍
    • 2.3、粗排,精排常用模型
    • 2.4、像ctr预估里为何要用sigmoid作为输出(从充分性与必要性展开讲讲)?
    • 2.5、sigmoid作为激活函数有什么问题?
    • 2.6、一个好的激活函数应该具备什么优点?
    • 2.7、生成式模型与判别式模型区别?
    • 2.8、用了DNN做特交叉组合,是否还有必要人工做特征交叉组合?
    • 2.9、默写机器学习公式
    • 2.10、防止过拟和的方法?
    • 2.11、LN与BN原理,以及各自的适用场景?
    • 2.12、逻辑回归原理?逻辑回归中的几率是什么?几率和概率的区别,如果几率为4,概率为多少?
    • 2.13、随机森林与GBDT
      • 介绍原理,主要区别?
      • 谁更注重偏差,谁更注重方差?
      • 训练样本一样,谁生成的树更深一些(更深意味着越容易过拟合)?

0、面试情况

简历+八股+手撕coding,八股问的比较细,难度中等

1、一面

1.1、简历上的项目介绍了个遍

1.2、dbscan原理

1.3、为什么梯度的负方向就是损失函数下降最快的方向?

答:在每一步迭代中,算法会根据当前位置的梯度方向 (即损失函数在该点处的导数)来更新参数。因为导数表示了函数在该点处的变化率,所以朝着负梯度方向更新参数可以使得损失函数在下一步迭代中减少最快。

1.4、bn原理,为什么bn能解决过拟合,

答:

  • BN的思路并未专门针对过拟合问题而设计,但它的规范化步骤相当于对模型的参数空间引入了约束,间接缓解了过拟合现象,提高了网络的鲁棒性。BN对过拟合的间接作用,可以从参数正则化和数据增广这两方面理解。BN每次的mini-batch的数据都不一样,但是每次的mini-batch的数据都会对moving mean和moving variance产生作用,可以认为是引入了噪声,这就可以认为是进行了data augmentation,而data augmentation被认为是防止过拟合的一种方法。因此,可以认为用BN可以防止过拟合。

  • 先理清2个概念:1、独立同分布(IID):即假设训练数据和测试数据是满足相同分布的。它是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。2、Covariate shift:如果ML系统实例集合<X,Y>中的输入值X的分布老是变,网络模型很难稳定的学规律。
    所以,之所以深度神经网络随着网络深度加深,训练越来越困难是因为,对于深度学习这种包含很多隐层的网络结构,在训练过程中,因为各层参数不停在变化,所以每个隐层都会面临covariate shift的问题,也就是在训练过程中,隐层的输入分布老是变来变去,这就是所谓的“Internal Covariate Shift(ICS)”,Internal指的是深层网络的隐层,是发生在网络内部的事情,而不是covariate shift问题只发生在输入层。
    BatchNorm的基本思想就是能不能让每个隐层节点的激活输入分布固定下来呢?这样就避免了“Internal Covariate Shift”问题了。

所以BN实质上就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的一种方法。

BN的基本思想其实相当直观:因为深层神经网络在做非线性变换前的激活输入值随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近(对于Sigmoid函数来说,意味着激活输入值WU+B是大的负值或正值),所以这导致将推到了梯度饱和区,反向传播时低层神经网络的梯度消失,这是训练深层神经网络收敛越来越慢的本质原因,而BN就是通过一定的规范化手段,把每层神经网络任意神经元这个输入值的分布强行拉回到均值为0方差为1的标准正态分布,其实就是把越来越偏的分布强制拉回比较标准的分布,这样使得激活输入值落在非线性函数对输入比较敏感的区域,这样输入的小变化就会导致损失函数较大的变化,意思是这样让梯度变大,避免梯度消失问题产生,而且梯度变大意味着学习收敛速度快,能大大加快训练速度。

1.5、auc原理,为什么ctr或你的广告推荐里用auc指标?

答:因为auc能过在一定程度上评估排序任务的质量

1.6、auc指标能否评估排序任务?

答:
[1]https://blog.csdn.net/qq_42363032/article/details/120070512?spm=1001.2014.3001.5506
[2] https://zhuanlan.zhihu.com/p/462734871

1.7、gauc指标?

面试官:我们一般还会用pcoc指标,衡量排序的精准性。

评估指标:PCOC = pCTR / CTR,由于不同场景真实CTR存在差异,目标是每个场景预测值都尽可能接近真实CTR。

1.8、一面coding题(秒了)

判断一段字符串是否是回文串,只需根据字母或数字来判断回文,其他字符跳过。【嗯面试官非常nice,还没读完题就给我提示说用这个函数:c.isalnum()。其实我也知道哈哈哈。感谢!非常简单的一题!】

2、二面

2.1、介绍项目

2.2、广告推荐全链路介绍

2.3、粗排,精排常用模型

2.4、像ctr预估里为何要用sigmoid作为输出(从充分性与必要性展开讲讲)?

2.5、sigmoid作为激活函数有什么问题?

2.6、一个好的激活函数应该具备什么优点?

  • 1、非线性:一个好的激活函数应该是非线性的,因为神经网络需要非线性函数来处理非线性问题。如果激活函数是线性的,那么神经网络就只能处理线性问题。
  • 2、可微分:激活函数应该是可微分的,因为神经网络需要使用梯度下降算法来训练模型,而梯度下降算法需要计算梯度。如果激活函数不可微分,那么就不能使用梯度下降算法来训练模型。
  • 3、非饱和性:一个好的激活函数应该是非饱和的,因为饱和函数会导致梯度消失或爆炸,从而影响模型的训练效果。
  • 4、单调性:激活函数应该是单调的,因为这样可以保证输出随着输入的增加或减少而单调递增或递减。
  • 5、有界性:激活函数应该是有界的,因为这样可以防止输出值过大或过小,从而影响模型的稳定性和训练效果。
  • 6、计算简单:激活函数应该是计算简单的,因为神经网络需要进行大量的计算,如果激活函数计算复杂,就会影响模型的性能和训练效率。

2.7、生成式模型与判别式模型区别?

在机器学习中,对于有监督学习可以将其分为两类模型:判别式模型和生成式模型。简单地说,判别式模型是针对条件分布建模,而生成式模型则针对联合分布进行建模。

2.8、用了DNN做特交叉组合,是否还有必要人工做特征交叉组合?

2.9、默写机器学习公式

  • 1、贝叶斯定理公式
    P(A|B) = P(AB)/P(B)
    = P(B|A)*P(A)/P(B)

  • 2、极大似然公式

  • 极大似然估计的核心思想是:认为当前发生的事件是概率最大的事件。因此就可以给定的数据集,使得该数据集发生的概率最大来求得模型中的参数。【求对数似然函数最大化,可以通过sgd等优化算法求解】
    L(X|w) = ∏_i p(xi|w) 【其中xi为单个样本】

  • 3、交叉熵公式
    cl_loss = - ∑_k tk * logyk

2.10、防止过拟和的方法?

2.11、LN与BN原理,以及各自的适用场景?

2.12、逻辑回归原理?逻辑回归中的几率是什么?几率和概率的区别,如果几率为4,概率为多少?

  • 几率:更准确的说,成功的几率,被定义为成功的概率/失败的概率。明天晴天的概率为80%,非晴天的概率为20%,则几率为:4=log(0.8/0.4)
  • 对数几率:对几率取对数。如上,对数几率为ln4。
  • 对数几率回归:逻辑回归又名对数几率回归。设我们需要拟合对数几率:ln(y/(1-y)) = wx+b。对该式子转化,即可变为逻辑回归的形式:p(y=1|x)=exp(wx+b)/(1+exp(wx+b))。

2.13、随机森林与GBDT

介绍原理,主要区别?

  • 1、rf:bagging (有放回采样)。gbdt:boosting
  • 2、随机森林可以由分类树和回归树组成,GBDT只能由回归树组成。
  • 3、随机森林的树可以并行生成,而GBDT只能串行生成,所以随机森林的训练速度相对较快。
  • 4、随机森林关注减小模型的方差,GBDT关注减小模型的偏差。
  • 5、随机森林对异常值不敏感,GBDT对异常值非常敏感。
  • 6、随机森林最终的结果是多数投票或简单平均,而GBDT是加权累计起来。

谁更注重偏差,谁更注重方差?

  • 随机森林关注减小模型的方差,GBDT关注减小模型的偏差。

训练样本一样,谁生成的树更深一些(更深意味着越容易过拟合)?

答:随机森林。因为:

  • 随机森林关注减小模型的方差,需要通过生成更深的树来减少偏差。
  • gbdt关注减小模型的偏差,需要通过生成较浅的树来减少方差,防止过拟合。

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

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

相关文章

TG5032CGN TCXO 超高稳定10pin端子型适用于汽车动力转向控制器

TG5032CGN TCXO / VC-TCXO是一款应用广泛的晶振&#xff0c;具有超高稳定性&#xff0c;CMOS输出和使用晶体基振的削波正弦波输出形式。且有低相位噪声优势&#xff0c;是温补晶体振荡器(TCXO)和压控晶体振荡器(VCXO)结合的产物&#xff0c;具有TCXO和VCXO的共同优点&#xff0…

后台接口返回void但是response有设置合适的相关信息,前端调用接口解析Blob数据下载excel文件

1、pom.xml文件增加依赖&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId></dependency> 2、接口代码如下&#xff1a; /*** 企业列表--导出*/GetMapping(value "/downloadTenantL…

微信小程序上线必备:SSL证书申请以及安装

一、认识ssl证书 1、ssl证书是什么&#xff1f; SSL证书&#xff0c;全称Secure Socket Layer Certificate&#xff0c;是一种数字证书&#xff0c;它遵循SSL&#xff08;现在通常指TLS&#xff0c;Transport Layer Security&#xff09;协议标准&#xff0c;用于在客户端&…

SpringCloud系列(26)--OpenFeign超时控制

前言&#xff1a;在上一章节中我们简单的介绍了如何使用OprnFeign去调用微服务&#xff0c;因为消费侧和服务侧是两个不同的微服务&#xff0c;这样可能会出现超时的现象&#xff0c;例如服务侧需要3秒处理任何才能返回结果&#xff0c;但消费侧可能2秒就断开连接了&#xff0c…

【深度学习】2.单层感知机

目标&#xff1a; 实现一个简单的二分类模型的训练过程&#xff0c;通过模拟数据集进行训练和优化&#xff0c;训练目标是使模型能够根据输入特征正确分类数据。 演示: 1.通过PyTorch生成了一个模拟的二分类数据集&#xff0c;包括特征矩阵data_x和对应的标签数据data_y。标签…

加密与安全_AES RSA 密钥对生成及PEM格式的代码实现

文章目录 RSA&#xff08;非对称&#xff09;和AES&#xff08;对称&#xff09;加密算法一、RSA&#xff08;Rivest-Shamir-Adleman&#xff09;二、AES&#xff08;Advanced Encryption Standard&#xff09; RSA加密三种填充模式一、RSA填充模式二、常见的RSA填充模式组合三…

新业务 新市场 | 灵途科技新品亮相马来西亚亚洲防务展

5月6日&#xff0c;灵途科技携新品模组与武汉长盈通光电&#xff08;股票代码&#xff1a;688143&#xff09;携手参加第18届马来西亚亚洲防务展。首次亮相海外&#xff0c;灵途科技便收获全球客户的广泛关注&#xff0c;为公司海外市场开拓打下坚实基础。 灵途科技与长盈通共同…

Dbs封装_连接池

1.Dbs封装 每一个数据库都对应着一个dao 每个dao势必存在公共部分 我们需要将公共部分抽取出来 封装成一个工具类 保留个性化代码即可 我们的工具类一般命名为xxxs 比如Strings 就是字符串相关的工具类 而工具类 我们将其放置于util包中我们以是否有<T>区分泛型方法和非泛…

Python并发编程学习记录

1、初识并发编程 1.1、串行&#xff0c;并行&#xff0c;并发 串行(serial)&#xff1a;一个cpu上按顺序完成多个任务&#xff1b; 并行(parallelism)&#xff1a;任务数小于或等于cup核数&#xff0c;多个任务是同时执行的&#xff1b; 并发(concurrency)&#xff1a;一个…

计算机SCI期刊,IF=8+,专业性强,潜力新刊!

一、期刊名称 Journal of Big data 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;计算机科学 影响因子&#xff1a;8.1 中科院分区&#xff1a;2区 出版方式&#xff1a;开放出版 版面费&#xff1a;$1990 三、期刊征稿范围 《大数据杂志》发表了关于…

2024年【T电梯修理】考试内容及T电梯修理新版试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【T电梯修理】考试内容及T电梯修理新版试题&#xff0c;包含T电梯修理考试内容答案和解析及T电梯修理新版试题练习。安全生产模拟考试一点通结合国家T电梯修理考试最新大纲及T电梯修理考试真题汇总&#xff0c;…

线性dp合集,蓝桥杯

贸易航线 0贸易航线 - 蓝桥云课 (lanqiao.cn) n,m,kmap(int ,input().split()) #贪心的想&#xff0c;如果买某个东西利润最大&#xff0c;那我肯定直接拉满啊&#xff0c;所以买k个和买一个没区别 p[0] for i in range(n):p.append([-1]list(map(int,input().split())))dp[[…

(2024,SDE,对抗薛定谔桥匹配,离散时间迭代马尔可夫拟合,去噪扩散 GAN)

Adversarial Schrdinger Bridge Matching 公众号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 简介 4. 实验 0. 摘要 薛定谔桥&#xff08;Schrdinger Bridge&#xff0c;SB&…

el-autocomplete后台远程搜索

el-complete可以实现后台远程搜索功能&#xff0c;但有时传入数据为空时&#xff0c;接口可能会报错。此时可在querySearchAsync方法中&#xff0c;根据queryString判断&#xff0c;若为空&#xff0c;则不掉用接口&#xff0c;直接callback([])&#xff0c;反之则调用接口&…

浮点型比较大小

浮点数的存储形式 浮点数按照在内存中所占字节数和数值范围&#xff0c;可以分为浮点型&#xff0c;双精度浮点型和长双浮点型数。 代码&#xff1a; printf("lgn:%e \n", pow(exp(1), 100));printf("lgn:%f ", pow(exp(1), 100));输出结果&#xff1a; …

Stanford斯坦福 CS 224R: 深度强化学习 (5)

离线强化学习:第一部分 强化学习(RL)旨在让智能体通过与环境交互来学习最优策略,从而最大化累积奖励。传统的RL训练都是在线(online)进行的,即智能体在训练过程中不断与环境交互,实时生成新的状态-动作数据,并基于新数据来更新策略。这种在线学习虽然简单直观,但也存在一些局限…

【Could not find Chrome This can occur if either】

爬虫练习中遇到的问题 使用puppeteer执行是提示一下错误 Error: Could not find Chrome (ver. 125.0.6422.78). This can occur if either you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) oryour cache path…

CLIP 论文的关键内容

CLIP 论文整体架构 该论文总共有 48 页&#xff0c;除去最后的补充材料十页去掉&#xff0c;正文也还有三十多页&#xff0c;其中大部分篇幅都留给了实验和响应的一些分析。 从头开始的话&#xff0c;第一页就是摘要&#xff0c;接下来一页多是引言&#xff0c;接下来的两页就…

常用 CSS 写法

不是最后一个 :not(:last-child)渐变色 background: linear-gradient(270deg, #15aaff 0%, #02396a 100%);文字渐变色 background-image: linear-gradient(to right, #ff7e5f, #feb47b); -webkit-background-clip: text; background-clip: text; color: transparent;

python文件IO基础知识

目录 1.open函数打开文件 2.文件对象读写数据和关闭 3.文本文件和二进制文件的区别 4.编码和解码 读写文本文件时 读写二进制文件时 5.文件指针位置 6.文件缓存区与flush()方法 1.open函数打开文件 使用 open 函数创建一个文件对象&#xff0c;read 方法来读取数据&…