41个机器学习面试题

article/2025/9/9 10:19:45

####41 Essential Machine Learning Interview Questions (with answers)

<font color=‘orange’,size=5>一、算法理论

Q1: 什么是偏倚(bias)、方差(variable)均衡?

偏倚指的是模型预测值与真实值的差异,是由使用的学习算法的某些错误或过于简单的假设造成的误差。它会导致模型欠拟合,很难有高的预测准确率。
方差指的是不同训练数据训练的模型的预测值之间的差异,它是由于使用的算法模型过于复杂,导致对训练数据的变化十分敏感,这样会导致模型过拟合,使得模型带入了过多的噪音。
任何算法的学习误差都可以分解成偏倚、方差和噪音导致的固定误差。模型越复杂,会降低偏倚增加方差。为了降低整体的误差,我们需要对偏倚方差均衡,使得模型中不会由高偏倚或高方差。

Q2:监督学习和非监督学习有什么不同?

监督学习需要具有标签(label)的训练数据,比如做分类,你需要先对训练数据做标记,然后才能训练模型将数据分成你说需要的标记类。
而非监督学习则不需要。

Q3: KNN和k-means聚类由什么不同?

k-Nearest Neighbors 是一种监督学习算法,而k-means 是非监督的。这两种算法看起来很相似,都需要计算样本之间的距离。knn算法需要事先已有标注好的数据,当你需要对未标注的数据进行分类时,统计它附近最近的k个样本,将其划分为样本数最多的类别中。k-means聚类只需要一些未分类的数据点和阀值,算法会逐渐将样本点进行分成族类。

Q4:解释一下ROC曲线的原理
这里写图片描述
ROC曲线是真正率和假正率在不同的阀值下之间的图形表示关系。通常用作权衡模型的敏感度与模型对一个错误分类报警的概率。
真正率表示:表示正的样本被预测为正占所有正样本的比例。
假正率表示:表示负的样本被预测为正占所有负样本的比例。
(0,0)点表示所有样本都被预测为负,此时阀值很大。
(1,1)点表示所有样本都被预测为正,此时阀值很小。

Q5:定义一下prediction精准率、recall召回率
(准确率是accuracy)
召回率就是Q4中的真正率。
精准率指的是:正样本被预测为正所占所有预测为正样本数的比例

-预测正预测负
真实正TPFN
真实负FPTN

recall:$\frac{TP}{TP+FN} $ precision: T P T P + F P \frac{TP}{TP+FP} TP+FPTP

Q6: 什么是贝叶斯定理,它是如何使用在机器学习中的?

贝叶斯定理会根据一件事发生的先验知识告诉你它后验概率。数学上,它表示为:一个条件样本发生的真正率占真正率和假正率之和的比例,即:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)
举个例子: 已知某疾病的患病概率为5%,现用某检验方法进行诊断,若患有该病,则有90%的几率检验结果呈阳性。但即使正常人使用该检验方法,也有10%的几率误诊而呈阳性。某人检验结果为阳性,求此人患病的概率。
P ( 患 病 ∣ 阳 性 ) = P ( 阳 性 ∣ 患 病 ) ∗ P ( 患 病 ) P ( 阳 性 ) = 90 % ∗ 5 % 90 % ∗ 5 % + 10 % ∗ 95 % = 32 % P(患病|阳性)=\frac{P(阳性|患病)*P(患病)}{P(阳性)}=\frac{90\%*5\%}{90\%*5\%+10\%*95\%}=32\% P()=P()P()P()=90%5%+10%95%90%5%=32%

贝叶斯定理使一些机器学习算法如:朴素贝叶斯等的理论基础。

Q7:为什么我们要称“朴素“贝叶斯?

因为我们在用到它的时候,有一个很强的假设,现实数据中几乎不会出现的:我们假设特征之间是相互独立,也就是我们计算条件概率时可以简化成它的组件的条件概率乘积。

Q8:L1、L2正则之间有什么不同?

L2正则 对应的是加入2范数,使得对权重进行衰减,从而达到惩罚损失函数的目的,防止模型过拟合。保留显著减小损失函数方向上的权重,而对于那些对函数值影响不大的权重使其衰减接近于0。相当于加入一个gaussian prior。
L1正则 对应得失加入1范数,同样可以防止过拟合。它会产生更稀疏的解,即会使得部分权重变为0,达到特征选择的效果。相当于加入了一个laplacean prior。

Q9:你最喜欢的算法是什么?把它解释一下。

这里我比较想说的是SVM,因为它的数学理论让我觉得很有意思,而且应用广泛,效果不错。先从线性可分讲起,然后是最大间隔原理。什么是支持向量?如何进行常数估计。转化成优化问题,对偶问题,kkt条件,拉格朗日方法求最值等。然后是非线性可分情况,软间隔,进行坐标变化。引入核函数。常见的:多项式核函数、指数核函数、高斯核函数。

Q10:第一类误差和第二类误差有什么区别?

第一类误差指的是假正率,第二类指的是假负率。简单来说,第一类误差意味着假设为真的情况下,作出了拒绝原假设的一种错误推断。第二类误差意味着假设为假的情况下,做出了接受原假设的一种错误判断。
举个例子:第一类误差,你告诉一个男的他怀孕了。第二类误差,你告诉一个已经怀孕的女子,她没怀孕。

Q11:什么是傅立叶变换?

傅立叶变换指:一个满足某些条件的函数可以表示成三角函数或他们的积分形式的线性组合。

Q12:概率和似然有什么区别?

概率和似然都是指可能性,但在统计学中,概率和似然有截然不同的用法。概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量输出结果时,未知参数的可能取值。例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。
概率(密度)表达给定θ下样本随机向量X=x的可能性,而似然表达了给定样本X=x下参数θ1(相对于另外的参数θ2)为真实值的可能性。我们总是对随机变量的取值谈概率,而在非贝叶斯统计的角度下,参数是一个实数而非随机变量,所以我们一般不谈一个参数的概率,而说似然。

Q13:什么是深度学习,它与机器学习算法之间有什么联系?

深度学习是机器学习的一个子领域,它关心的是参照神经学科的理论构建神经网络,使用反向传播对大量未标注或半结构化的数据进行建模。从这个角度看,深度学习可以看成一种非监督学习算法,通过使用神经网络学习数据的表示。

Q14:生成模型与判别模型有什么区别?

生成模型会学习数据的分布;判别模型学习的是不同类型数据之间的区别,不学习数据内部特点。在分类问题上,判别模型会优于生成模型。
判别模型求解的思路是:条件分布------>模型参数后验概率最大------->(似然函数\cdot 参数先验)最大------->最大似然
生成模型的求解思路是:联合分布------->求解类别先验概率和类别条件概率
常见的生成方法有混合高斯模型、朴素贝叶斯法和隐形马尔科夫模型等,常见的判别方法有SVM、LR等

Q15:交叉检验如何用在时间序列数据上?

与标准的k-folds 交叉检验不同,数据不是随机分布的,而是具有时序性的。如果模式出现在后期,模型仍然需要选择先前时间的数据,尽管前期对模式无影响。我们可以如下这么做:
fold1:training[1], test[2]
fold2:training[1 2], test[3]
fold3:training[1 2 3], test[4]
fold4:training[1 2 3 4], test[5]
fold5:training[1 2 3 4 5], test[6]

Q16:如何对决策树进行剪枝?

剪枝是决策树发生过拟合后,为了降低模型复杂度,提高模型准确率的一种做法。可以分为自上而下和自下而上两种。常见的方法有:误差降低剪枝(REP)和代价复杂度剪枝(CCP)。
REP简单的来说就是对树的每一个结点进行剪枝,如果剪掉某个结点不会降低模型准确率,那么将其剪掉。这种启发式的做法实际上就是为了最大化准确率。

Q17:模型的精度和模型的性能哪个对你更重要?

许多机器学习的模型会有高的精度,但是预测能力也就是泛化能力较低,如何去理解它们呢?
精度只是模型性能的一部分,有可能是会产生误导的那个。对于具有倾斜的数据集,比如要从大量的金融数据中识别出少量的诈骗数据,一个精度高的模型可能会告诉你没有诈骗,然而这样的模型预测是没有意义的。所以,不要总是把精度当作模型最重要的事。

Q18:什么是F1数,怎么使用它?

F1数是衡量模型性能的一个指标。它是模型精准率和召回率的加权平均,1表示最好,0表示最差。在分类问题中有时精准率和召回率不会同时都高,那么我们可以使用F1数。

Q19:如何处理一个不平衡的数据集?

不平衡的数据集:比如二分类问题中,一类数据有90%,而另一类只有10%。我们可以轻易的得到90%准确率的模型,但是它对第二类的预测值为0。那么我们需要对这样的数据进行处理:

  1. 收集更多的数据,使其达到平衡
  2. 使用重复采样
  3. 使用不同的算法

重要的是:你注意到了数据的不平衡导致的问题,以及如何去解决它们。

Q20:什么时候你应该使用分类而不是回归?

分类会产生离散的数值,使得数据严格的分为不同类。回归会得到连续的值,使你更好的区分独立点之间的区别。当你需要知道你的数据明确的属于那些类时你可以用分类。

Q21:举个例子,说明使用集成学习会很有用。

集成学习通过组合一些基学习算法来优化得到更好的预测性能,通常可以防止模型的过拟合使模型更具有鲁棒性。
你可以列举一些集成学习的例子,如bagging、boosting、stacking等,并且了解他们是如何增加模型预测能力的。

Q22:你如何确保你的模型没有过拟合?

过度拟合的训练数据以及数据携带的噪音,对于测试数据会带来不确定的推测。有如下三种方法避免过拟合:

  1. 保持模型尽可能地简单:通过考量较少的变量和参数来减少方差,达到数据中消除部分噪音的效果。
  2. 使用交叉检验的手段如:k-folds cross-validation。
  3. 使用正则化的技术如:LASSO方法来惩罚模型中可能导致过拟合的参数。

Q23:如何评估你的机器学习模型的有效性?

首先你需要将数据分成训练集和测试集,或者使用给交叉验证方法分割。然后你需要选择度量模型表现的metrics,如F1数、准确率、混淆矩阵等。更重要的是,根据实际情况你需要理解模型度量的轻微差别,以便于选择正确的度量标准。

Q24:如何评估一个LR model?

Q23的一个子问题。首先你需要知道LR的目标是什么?(分类或预测)然后通过举一些例子来说明。

Q25:什么是核技巧,有什么用处?

核技巧使用核函数,确保在高维空间不需要明确计算点的坐标,而是计算数据的特征空间中的内积。这使其具有一个很有用的属性:更容易的计算高维空间中点的坐标。许多算法都可以表示称这样的内积形式,使用核技巧可以保证低维数据在高维空间中运用算法进行计算。



Q26:如何处理数据中的缺失值或错误值?

原文地址:https://www.springboard.com/blog/machine-learning-interview-questions/


http://chatgpt.dhexx.cn/article/qQekauqv.shtml

相关文章

推荐收藏,25道机器学习面试问题(附答案)

近年来&#xff0c;对深度学习的需求不断增长&#xff0c;其应用程序被应用于各个商业部门。各公司现在都在寻找能够利用深度学习和机器学习技术的专业人士。 在本文中&#xff0c;将整理深度学习面试中最常被问到的25个问题和答案。如果你最近正在参加深度学习相关的面试工作…

机器学习面试题之机器学习基础(一)

1、L1与L2正则化 他们都是可以防止过拟合&#xff0c;降低模型复杂度。 L1会趋向于产生少量的特征&#xff0c;而其他的特征都是0&#xff1b;L2会选择更多的特征&#xff0c;这些特征都会接近于0。L1在特征选择时非常有用&#xff0c;L2就只是一种规则化而已。 简单总结一下就…

机器学习面试必考面试题汇总—附解析

问题&#xff1a;xgboost对特征缺失敏感吗&#xff0c;对缺失值做了什么操作&#xff0c;存在什么问题 不敏感&#xff0c;可以自动处理&#xff0c;处理方式是将missing值分别加入左节点 右节点取分裂增益最大的节点将missing样本分裂进这个节点 。这种处理方式的问题在xgboo…

机器学习面试题——聚类算法

机器学习面试题——聚类算法 提示&#xff1a;互联网大厂经常考的传统机器学习算法 文章目录 机器学习面试题——聚类算法[TOC](文章目录) 题目k-means介绍一下&#xff0c;K-means的过程k-means优缺点k-means的簇&#xff08;k簇&#xff09;怎么选&#xff0c;K-means如何选取…

机器学习面试题目整理

0 调参技巧 清洗数据&#xff0c;数据预处理&#xff0c;数据增广是否使用预训练模型使用BN在过拟合后&#xff0c;使用正则化技巧如L1、L2、Dropout对于不均匀样本&#xff0c;使用重采样使用合适的优化器。第一&#xff0c;如果你关心快速收敛&#xff0c;使用自适应优化器&…

面试 | 22道机器学习常见面试题目

(1) 无监督和有监督算法的区别&#xff1f; 有监督学习&#xff1a;对具有概念标记&#xff08;分类&#xff09;的训练样本进行学习&#xff0c;以尽可能对训练样本集外的数据进行标记&#xff08;分类&#xff09;预测。这里&#xff0c;所有的标记&#xff08;分类&#xf…

最基本的25道深度学习面试问题和答案

近年来&#xff0c;对深度学习的需求不断增长&#xff0c;其应用程序被应用于各个商业部门。各公司现在都在寻找能够利用深度学习和机器学习技术的专业人士。在本文中&#xff0c;将整理深度学习面试中最常被问到的25个问题和答案。如果你最近正在参加深度学习相关的面试工作&a…

机器学习高频面试题(41道)

Q1: What’s the trade-off between bias and variance? 问题1: 什么是偏差&#xff08;bias&#xff09;、方差&#xff08;variable&#xff09;之间的均衡&#xff1f; Bias 是由于你使用的学习算法过度简单地拟合结果或者错误地拟合结果导致的错误。它反映的是模型在样本…

总结了200道经典的机器学习面试题(附参考答案)

刷题&#xff0c;是面试前的必备环节。本文总结了往年BAT机器学习面试题&#xff0c;干货满满&#xff0c;值得收藏。 想要入职大厂可谓是千军万马过独木桥。 为了通过层层考验&#xff0c;刷题肯定是必不可少的。本文根据网络在线发布的BAT机器学习面试1000题系列&#xff0…

微信小程序—域名配置(图文)

微信小程序—域名配置 1、微信公众平台登录 进入后选择‘开发’ 选择‘开发设置’ 域名配置&#xff0c;输入easy-mock即可&#xff08;因为我用的地址就是easy-mock&#xff0c;如果用的是豆瓣接口就直接域名配置成豆瓣的就行&#xff09; 2、打开右上角的详情 选择不校验…

微信小程序:小程序服务器域名配置合法域名

微信小程序开发过程中,微信小程序只要有网络请求就必定要用到服务器接口,这样的话就需要在微信小程序管理平台里面添加服务器的域名,而且添加的这个域名一定是合法有效的域名,不然就不会设置成功的。 微信小程序在生产环境下如果没有配置合法域名,是不能正常访问的,那就…

tomcat 配置域名

Tomcat 配置域名 在windows中首先找到conf下面的server.xml 把Connector 标签中的端口改成80 然后把添加一个Host name为域名appBase为路径 如下 Engine 标签也是 最后在C盘 windows\System32\drivers\etc 下面的hosts添加下面这行 127.0.0.1 www.test.com 重新启动tomcat …

vuepress(六)阿里云二级域名配置与添加SSL证书

文章目录 写在前面第一类&#xff1a;用来存放网站第二类&#xff1a;自定义 OSS对象存储 的图片路径 写在前面 这里是小飞侠Pan&#x1f973;&#xff0c;立志成为一名优秀的前端程序媛&#xff01;&#xff01;&#xff01; 本篇博客收录于我的github前端笔记仓库中&#x…

前端nginx配置并且同一域名配置多个项目以及nginx跨域设置

前端nginx配置并且同一域名配置多个项目 前端nginx配置并且同一域名配置多个项目first of all下载配置nginx配置nginx开机自启动nginx -t 找不到nginx的修复nginx进行重启Nginx同一个域名配置多个项目nginx按不同的目录分发给不同的项目启用二级域名&#xff0c;不同的项目分配…

vhosts.conf域名配置

DocumentRoot "网站目录" ServerName 域名&#xff08;比如www.baidu.com&#xff09; ServerAlias 域名别名&#xff08;www.baidu.com www.baidu.cn&#xff09; Directory 得与DocumentRoot目录相同

uniapp:小程序体验版和预览,云函数不响应,小程序域名配置

uniapp槽点 uniapp还是很便利的&#xff0c;为大家免费提供了低代码平台&#xff0c;很多插件和实现方案。使用过程中也有很多想吐槽的&#xff0c;我是第一次接触跨平台&#xff0c;文档上有的地方很笼统&#xff0c;比如这域名配置&#xff0c;文档就没说我应该配置哪个域名…

云服务器配置和域名配置

阿里云服务器 之前在阿里云上买了域名和云服务器&#xff0c;挂放博客和常的小项目&#xff0c;买的最低配的&#xff0c;但是内存太小&#xff0c;另外买了一个硬盘。 我所使用的是windows系统的&#xff0c;方便快捷操作。 远程桌面连接 windows自带的远程桌面连接功能&…

linux安装nginx并配置ssl证书 HTTPS和域名配置

1.下载安装包 cd /usr/local/src/wget http://nginx.org/download/nginx-1.21.3.tar.gz2.解压。tar -xzf nginx-1.21.3.tar.gz 3.cd nginx-1.21.3 4.yum install openssl openssl-devel 5.安装ssl证书需要的模块。 ./configure --with-file-aio --with-threads --with-http_…

Windows配置域名

Windows配置域名 最近想在Windows 电脑玩玩 Apache2&#xff0c;想用域名来完成做代理&#xff0c;所以涉及Windows配置域名&#xff0c;来记录一下 Apache Linux 的安装查看&#xff1a;Apache2的安装与介绍 Apache Windows 的安装请查看&#xff1a;Apache2 Windows 安装 …

微信公众号网页授权域名和JS接口安全域名配置攻略

这篇博文跟大家分享下如何配置微信公众号网页授权域名和JS接口安全域名配置。 打开微信公众平台 https://mp.weixin.qq.com/ 登陆成功后进入微信公众平台后台管理&#xff0c;在最底部可以看到 开发—》接口权限 我们可以看到正如下图所示有两个非常常用的接口&#xff1a;微…