AI人工智能、机器学习 面试题(2022最新版)

article/2025/9/9 7:45:06

人工智能、机器学习面试题总结,侧重于理解,回答供参考,欢迎讨论。

General

深度学习(Deep Learning, DL)和机器学习(Machine Learning, ML)的关系是什么?

深度学习是机器学习的子类,是利用深度神经网络提取特征进行学习。机器学习还有其他非深度学习的技术,例如SVM、Decision Tree、Naive Bayes等。

深度学习流行的框架有哪些?各有什么特点?

TensorFlow:最主流,生态支持完备,硬件友好,同时有Google Brain研究支撑。

PyTorch:后起之秀,融合了Torch和Caffe2,和python混合编程体验好,学术界宠儿。

以及国内的PaddlePaddle,MindSpore等。

精确率(Precision)和召回率(Recall)以及F1值/分数(F1 value/score)是什么?查准率和查全率呢?

先解释缩写:

TP: True Positive,预测为真,结果也为真的数量;

FP: False Positive,预测为真,结果为假的数量;

FN: False Negative,预测为假,结果为真的数量。

精确率:P = TP/(TP+FP),西瓜书里也叫查准率;

召回率:R = TP/(TP+FN),西瓜书里也叫查全率。

F1值:F1 = 2*(P*R)/(P+R),精确率和召回率的调和均值。

可以看出,精确率和召回率的区别在于分母,精确率关心的是预测为真的数量中有多少真正对的(而不是其他类错误预测为这一类),而召回率关注的是这一类有多少判断正确了(而不是判断为其他类了)。直观理解:召回的意思是,如果这一类错误预测为其他类了,要找回来,即为召回。

AUC指标与precesion/recall/F1评估模型的手段有何区别,什么情况下应该用哪一种?

AUC是Area under Curve,曲线下面积。这个曲线横纵坐标分别为TPR和FPR.

TPR: True Positive Rate, 即recall; TPR = TP/(TP+FN), 表示正确分类的正样本所占所有正样本的比例;

FPR: False Positive Rate, FPR = FP/(FP+TN),表示错误分类的负样本占所有负样本的比例。

对于同一个模型,TPR和FPR是一对跷跷板,可以通过修改阈值的方式来调节,例如调低分类为正样本的门槛,则更多的样本被分类为正样本,TP会增加,导致FPR增加;但此时,FP也会增加,导致FPR增加。

F1 score相当于是综合了precision和recall,使用默认阈值;AUC是一个模型更为全面的指标,考虑了不同的阈值。但由于AUC比较复杂,一般情况下使用F1 score就可以了。

SGD 中 S代表什么,如何理解?

S即为stochastic,随机梯度是指用来计算梯度的输入数据是随机选取的一部分(batch),而不是所有的数据。使用所有数据一方面计算量巨大,不太现实,另一方面容易陷入局部极小值难以跳出,随机batch的梯度反而增加了跳出局部极限值的可能性,从而获得更好的结果。

激活函数(Activation Function)有什么用处,有哪几种?

提供了非线性单元,使得整个网络变为非线性,从而能够解决各种非线性问题。

有ReLU / PReLU / Relu6 / Sigmond / Tanh / SELU / SWISH等,目前最常用的还是ReLU, 复杂度低,效果还可以。

监督学习和无监督学习的区别?请分别举例。

监督学习必须要标注,使用标记数据牵引训练,例如LR、SVM;

无监督机器学习不需要标注,模型通过自己发现数据的内部关系,例如Kmeans。

机器学习/深度学习项目中所需的步骤?

采集数据、预处理与特征选择、选择模型、训练模型、评估模型、诊断模型、调整参数,最后是预测、上线运行。

神经网络参数初始化方法有哪些,适用范围是什么?

weight最常用的是由Kaiming He提出的MSRA,在Xavier的基础上改进。Xavier假设激活函数关于原点中心对称,而常用的ReLU并不满足该条件。MSRA初始化是一个均值为0,方差为sqrt(2/Fin)的高斯分布。Xavier初始化是一个均匀分布U[-sqrt(6/(Fin+Fout))],Fin、Fout代表扇入、扇出,即为输入和输出的维度。

bias一般初始化为0,另外提醒一下如果conv后面接bn,可以省略bias,是等价的,有兴趣的可以自己推导一下。

因此,如果激活函数使用ReLU,则推荐使用MSRA;如果激活函数使用tanh等中心对称的函数,则使用Xavier初始化。

CV

列举深度学习中常用的分类网络、检测网络、分割网络(语义分割、多实例分割)、超分网络。

分类网络:ResNet,SENet,EfficientNet等;

检测网络:Faster RCNN,YOLO,SSD等;

分割网络:Mask RCNN、UNet等;

超分网络:SRCNN、FSRCNN等。

具体网络介绍可以关注我的公众号和博客。

ResNet解决了什么问题?结构有何特点?

ResNet提出是为了解决或缓解深度神经网络训练中的梯度消失问题。通过增加shortcut,使得梯度多了一个传递的途径,让更深的网络成为可能。

在图像处理中为什么要使用卷积神经网络(CNN)而不是全连接网络(FC)?

首先,CNN相对于FC的参数量减少非常多,对于图像这种输入维度相对较大的任务,全部使用FC不现实,另外参数量过多而数据规模跟不上非常容易过拟合,网络本身也难以训练。图像本身附近像素的关联信息很多,CNN正好能够提取一个区域数据的特征,并且能够通过不断加深扩展感受野,使得其适用于图像任务。

分类网络和检测网络的区别?

任务不同,Loss函数不同,一般分类网络使用cross entropy loss,而检测网络的loss是分类的loss和检测框回归loss的加权和。

损失函数(loss函数)有什么作用?

牵引网络的更新,梯度是loss函数相对于权重的偏导。

网络训练时为何要加正则化,有哪些手段?

目的是防止网络过拟合。

手段有:

L1/L2正则化

Dropout

Early stop

数据增强也可以视为是一种正则化,例如图像的平移、旋转、缩放等。

如何判断网络是过拟合还是欠拟合?有哪些手段改善?

通过train和test的准确率来判断,如果train和test准确率差距非常大,即train的准确率接近100%,而test较差,说明过拟合;如果train的准确率就较差,说明欠拟合。

过拟合可以通过增加数据,或者加正则化缓解;欠拟合可以增加网络容量,例如加深或者加宽网络来改善。

Batch Normalization有什么作用?使用时需要注意什么?

BN的主要作用有:

加速网络的训练(缓解梯度消失,支持更大的学习率)

防止过拟合

降低了参数初始化的要求

使用时需要注意train时更新bn的相关参数,而test时要固定,一般有is_training的flag.

梯度爆炸有哪些解决办法?

梯度截断(gradient clipping)

良好的参数初始化策略

调小lr

相关文章

人工智能技术分析

人工智能 机器学习 深度学习

第六届世界互联网大会乌镇峰会简评

华为人工智能战略分析:2019华为全连接大会

阿里含光 VS 华为昇腾:AI芯片路在何方

AI人工智能三要素:数据、算力和算法

计算机视觉(CV)任务介绍:分类、检测、分割、超分、关键点识别、图像生成、度量学习

理解深度学习中的分类网络:LeNet

PyTorch 1.3

tf.GradientTape详解:梯度求解利器

TensorFlow高阶API和低阶API

TensorFlow静态图和eager机制

TensorFlow 2.0

TensorFlow高阶API和低阶API

TensorFlow调试技巧

TensorFlow与PyTorch对比

PyCharm调试技巧

解读谷歌的AI杀手级专利:Dropout

AutoML算法分析(一):基于强化学习的算法

SENet详解

关于我

缘起:新的开始

公众号持续更新,欢迎订阅。

AI人工智能与大数据


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

相关文章

面试官最爱用的统计学、数据科学、机器学习面试题答案

【导读】本文盘点了数据科学和机器学习面试中的常见问题,着眼于不同类型的面试问题。如果您计划向数据科学领域转行,这些问题一定会有所帮助。 技术的不断进步使得数据和信息的产生速度今非昔比,并且呈现出继续增长的趋势。此外,…

41个机器学习面试题

####41 Essential Machine Learning Interview Questions (with answers) <font color‘orange’&#xff0c;size5>一、算法理论 Q1: 什么是偏倚&#xff08;bias&#xff09;、方差&#xff08;variable&#xff09;均衡&#xff1f; 偏倚指的是模型预测值与真实值的…

推荐收藏,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_…