首页 > 其他分享 >福利篇:你无法拒绝的BAT机器学习面试题-2

福利篇:你无法拒绝的BAT机器学习面试题-2

时间:2023-08-27 09:44:28浏览次数:37  
标签:面试题 训练 福利 模型 xgboost BAT 学习 实例 拟合

回复我们公众号“1号程序员”的“E001”可以获取《BAT机器学习面试1000题》下载链接。[关注并回复:【E001】] 

1. 为什么xgboost要用泰勒展开,优势在哪里?

(1)xgboost使用了一阶和二阶偏导,二阶导数有利于梯度下降的更快更准.

(2)使用泰勒展开取得函数做自变量的二阶导数形式, 可以在不选定损失函数具体形式的情况下, 仅仅依靠输入数据的值就可以进行叶子分裂优化计算

(3)本质上也就把损失函数的选取和模型算法优化/参数选择分开了. 这种去耦合增加了xgboost的适用性, 使得它按需选取损失函数, 可以用于分类, 也可以用于回归。

2. xgboost如何寻找最优特征?是有放回还是无放回的呢?

xgboost在训练的过程中给出各个特征的增益评分,最大增益的特征会被选出来作为分裂依据, 从而记忆了每个特征对在模型训练时的重要性 -- 从根到叶子中间节点涉及某特征的次数作为该特征重要性排序.

xgboost属于boosting集成学习方法, 样本是不放回的, 因而每轮计算样本不重复. 另一方面, xgboost支持子采样, 也就是每轮计算可以不使用全部样本, 以减少过拟合. 进一步地, xgboost 还有列采样, 每轮计算按百分比随机采样一部分特征, 既提高计算速度又减少过拟合。

3. 谈谈判别式模型和生成式模型?

判别方法:由数据直接学习决策函数 Y = f(X),或者由条件分布概率 P(Y|X)作为预测模型,即判别模型。

生成方法:由数据学习联合概率密度分布函数 P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型。

由生成模型可以得到判别模型,但由判别模型得不到生成模型。

常见的判别模型有:K近邻、SVM、决策树、感知机、线性判别分析(LDA)、线性回归、传统的神经网络、逻辑斯蒂回归、boosting、条件随机场

常见的生成模型有:朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、限制玻尔兹曼机

4. 为什么朴素贝叶斯如此“朴素”?

它假定所有的特征在数据集中的作用是同样重要和独立的。正如我们所知,这个假设在现实世界中是很不真实的,因此,说朴素贝叶斯真的很“朴素”。

5. KNN中的K是如何选取的?

KNN中的K值选取对K近邻算法的结果会产生重大影响。如李航博士的一书「统计学习方法」上所说:

如果选择较小的K值,就相当于用较小的领域中的训练实例进行预测,“学习”近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是“学习”的估计误差会增大,换句话说,K值的减小就意味着整体模型变得复杂,容易发生过拟合;

如果选择较大的K值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大。这时候,与输入实例较远(不相似的)训练实例也会对预测器作用,使预测发生错误,且K值的增大就意味着整体的模型变得简单。

K=N,则完全不足取,因为此时无论输入实例是什么,都只是简单的预测它属于在训练实例中最多的类,模型过于简单,忽略了训练实例中大量有用信息。

在实际应用中,K值一般取一个比较小的数值,例如采用交叉验证法(简单来说,就是一部分样本做训练集,一部分做测试集)来选择最优的K值。

6. 防止过拟合的方法。

过拟合的原因是算法的学习能力过强;一些假设条件(如样本独立同分布)可能是不成立的;训练样本过少不能对整个空间进行分布估计。 处理方法:

  • 早停止(early stoping):如在训练中多次迭代后发现模型性能没有显著提高就停止训练
  • 数据集扩增:原有数据增加、原有数据加随机噪声、重采样
  • 正则化:限制模型的复杂度
  • 交叉验证
  • 特征选择/特征降维
  • 创建一个验证集是最基本的防止过拟合的方法。我们最终训练得到的模型目标是要在验证集上面有好的表现
  • 融合几个模型

标签:面试题,训练,福利,模型,xgboost,BAT,学习,实例,拟合
From: https://www.cnblogs.com/sqchi1991/p/17659886.html

相关文章

  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
    文章目录前言`%~dp0`的含义扩展字符串从字符串中截取路径、文件名脚本传参for语法扩展总结 前言又是实际开发中的问题,想要截取一个文件路径中的盘符、文件名等信息,第一反应是正则表达式?或者是split函数?这些往往都是“高级”语言中才会有的实现方法,对于批处......
  • Android并发编程高级面试题汇总(含详细解析 十)
    Android并发编程高级面试题汇总最全最细面试题讲解持续更新中......
  • java最容易犯错的8道面试题
    1.static和final的用法static的作用从三个方面来谈,分别是静态变量、静态方法、静态类。静态变量:声明为static的静态变量实质上就是全局变量,当声明一个对象时,并不产生static变量的拷贝,而是该类所有实例变量共用同一个static变量。也就是说这个静态变量只加载一次,只分配一......
  • java最容易犯错的8道面试题
    1.static和final的用法static的作用从三个方面来谈,分别是静态变量、静态方法、静态类。静态变量:声明为static的静态变量实质上就是全局变量,当声明一个对象时,并不产生static变量的拷贝,而是该类所有实例变量共用同一个static变量。也就是说这个静态变量只加载一次,只分配......
  • java高频面试题(反射、对象拷贝)
    java高频面试题(反射、对象拷贝)什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个......
  • Mybatis学习笔记
    一、Mybatis简介二、下载与实现1)下载 官网下载2)实现①创建项目工程,并加入依赖②创建核心configuration.xml配置文件,配置JDBC的连接信息③创建POJO对象④创建POJO对应的mapper映射文件⑤在configuration.xml文件中加载mapper文件⑥测试三、接口实现方式(项目中常用)①创建一个接口②......
  • org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or nu
    "org.apache.ibatis.exceptions.TooManyResultsException:Expectedoneresult(ornull)tobereturnedbyselectOne(),butfound:2"是MyBatis框架中的异常错误信息,表示在使用selectOne()方法执行查询时,期望返回一个结果(或null),但实际上返回了多个结果。selectOne()方......
  • 2023版 Adobe Acrobat Pro DC for Mac & Win Install 教程
    AdobeAcrobatProDCforMac 是一款由Adobe公司出品的PDF文件编辑和阅读软件,全新的AdobeAcrobatProDC带有AdobeDocumentCloud服务。Acrobat,这是世界各地的现代人的工作方式全球逾500万个组织依赖Acrobat来创建和编辑PDF,以及将PDF转换成MicrosoftOffice格式等。当......
  • Acrobat增效工具Quite Imposing Plus下载及安装激活教程
    QuiteImposingPlus增效工具是AdobeAcrobatPDF最常用的拼版排版编辑插件。该插件具备体积小,兼容性好,简单易懂门槛低的优点。QuiteImposingPlus可以用来复制页面、删除页面、移动页面、调整页面大小、书册拼版,足以应付办公PDF页面编辑和书册排版的需求。2023版AdobeAcr......
  • 【福利】Google Cloud Next ’23 精彩待发,Cloud Ace 作为联合赞助商提前发福利~
    【CloudAce是GoogleCloud全球战略合作伙伴,在亚太地区、欧洲、南北美洲和非洲拥有二十多个办公室。CloudAce在谷歌专业领域认证及专业知识目前排名全球第一位,并连续多次获得GoogleCloud各类奖项。作为谷歌云托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证......