算法工程师 面试题与解答
题目来源:
作者:xfcherish
链接:https://www.nowcoder.com/discuss/65323?type=0&order=0&pos=50&page=1
如果本文有什么错误,欢迎指出,感激不尽!!!
<1> 逻辑回归和线性回归对比有什么优点?
可以用于分类任务,速度快,能容易地更新模型吸收新的数据。
<2> 逻辑回归可以处理非线性问题吗?
不可以,仅能用于线性问题。只有当目标和特征是线性关系时,才能用逻辑回归。在应用逻辑回归时注意两点:一是当知道模型是非线性时,不适用逻辑回归;二是当使用逻辑回归时,应注意选择和目标为线性关系的特征。
<3> 分类问题有哪些评价指标?每种的适用场景。
https://www.cnblogs.com/zhaokui/p/ml-metric.html
<4> 讲一下正则化,L1和L2正则化各自的特点和适用场景。
深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据,这是非常可靠的方法,但你可能无法时时刻刻准备足够多的训练数据或者获取更多数据的成本很高,但正则化通常有助于避免过拟合或减少你的网络误差。
2. L1和L2的异同点
相同点:都用于避免过拟合
不同点:L1可以让一部分特征的系数缩小到0,从而间接实现特征选择。所以L1适用于特征之间有关联的情况。
L2让所有特征的系数都缩小,但是不会减为0,它会使优化求解稳定快速。所以L2适用于特征之间没有关联的情况
<5> 讲一下常用的损失函数以及各自的适用场景。
交叉熵:二分类
均值方差:回归问题
softmax:多分类
sigmoid:二分类
0-1损失函数:二分类
绝对值损失:回归问题
绝对值损失函数
<6> 讲一下决策树和随机森林
<7> 讲一下GBDT的细节,写出GBDT的目标函数。 GBDT和Adaboost的区别与联系
<8> 手推softmax loss公式
<9> 讲一下SVM, SVM与LR有什么联系。
<10>讲一下PCA的步骤。PCA和SVD的区别和联系
<11> 讲一下ensemble
<12> 偏差和方差的区别。ensemble的方法中哪些是降低偏差,哪些是降低方差?
...... 这部分问得太琐碎了,我能记起来的问题就这么多了。我的感觉,这部分问题大多数不是问得很深,所以不至于被问得哑口无言,总有得扯;但是要想给出一个特别深刻的回答,还是需要对机器学习的基础算法了解比较透彻。
(4)深度学习基础
这部分的准备,我推荐花书(Bengio的Deep learning)和 @魏秀参 学长的《解析卷积神经网络-深度学习实践手册》
下面是我在面试中被问到过的问题:
<1> 手推BP
<2> 手推RNN和LSTM结构
<3> LSTM中每个gate的作用是什么,为什么跟RNN比起来,LSTM可以防止梯度消失
<4> 讲一下pooling的作用, 为什么max pooling要更常用?哪些情况下,average pooling比max pooling更合适?
<5> 梯度消失和梯度爆炸的原因是什么? 有哪些解决方法?
是由于反向传播过程中链式求导梯度累积导致的,网络层数过多时,当w乘梯度都大于1时产生梯度爆炸,小于1时产生梯度消失;
解决方法:
预训练加微调
- 梯度剪切、权重正则(针对梯度爆炸)
- 使用不同的激活函数
- 使用batchnorm
- 使用残差结构
- 使用LSTM网络
<6> CNN和RNN的梯度消失是一样的吗?
<6> 有哪些防止过拟合的方法?
使用正则化;加bn层;增加数据量;bagging方法;
<7> 讲一下激活函数sigmoid,tanh,relu. 各自的优点和适用场景?
sigmoid:可以将特征映射到0-1之间,可以用于二分类
tanh:将特征映射到-1到1之间,它是零中心的,不会导致梯度下降时的晃动;可以用于大部分网络之中;
relu:非线性激活函数,开销小,可以缓解梯度消失,稀疏特征,加快收敛速度,可以用于中间卷积网络层后;
<8> relu的负半轴导数都是0,这部分产生的梯度消失怎么办?
使用leaky relu,可以在负半轴也有较小的斜率,这样求导时也会有一定的梯度。
<9> batch size对收敛速度的影响。
batch size越大,收敛速度越快,但是需要更多的轮数才能获得小batch size同等的精度。
<10> 讲一下batch normalization
相对于正则化,可以减少使用正则化或者不用;
加快收敛速度;
防止过拟合;
减轻梯度消失;
<11> CNN做卷积运算的复杂度。如果一个CNN网络的输入channel数目和卷积核数目都减半,总的计算量变为原来的多少?
1/8
<12> 讲一下AlexNet的具体结构,每层的作用
卷积层提取特征,
池化层下采样来获得更大的感受野,
全连接层整合特征,为后续的分类做基础。
<13> 讲一下你怎么理解dropout,分别从bagging和正则化的角度
直观上理解:不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传播下去,并为单元的四个输入增加一点权重,通过传播所有权重,dropout将产生收缩权重的平方范数的效果,和之前讲的L2正则化类似;实施dropout的结果实它会压缩权重,并完成一些预防过拟合的外层正则化;L2对不同权重的衰减是不同的,它取决于激活函数倍增的大小。
<14> data augmentation有哪些技巧?
Color Jittering:对颜色的数据增强:图像亮度、饱和度、对比度变化(此处对色彩抖动的理解不知是否得当);
PCA Jittering:首先按照RGB三个颜色通道计算均值和标准差,再在整个训练集上计算协方差矩阵,进行特征分解,得到特征向量和特征值,用来做PCA Jittering;
Random Scale:尺度变换;
Random Crop:采用随机图像差值方式,对图像进行裁剪、缩放;包括Scale Jittering方法(VGG及ResNet模型使用)或者尺度和长宽比增强变换;
Horizontal/Vertical Flip:水平/垂直翻转;
Shift:平移变换;
Rotation/Reflection:旋转/仿射变换;
Noise:高斯噪声、模糊处理;
Label Shuffle:类别不平衡数据的增广;
<15> 讲一下你了解的优化方法,sgd, momentum, rmsprop, adam的区别和联系
https://blog.csdn.net/u012151283/article/details/78154917
https://blog.csdn.net/u010089444/article/details/76725843
<16> 如果训练的神经网络不收敛,可能有哪些原因?
1、没有对数据进行归一化
2、忘记检查输入和输出
3、没有对数据进行预处理
4、没有对数据正则化
5、使用过大的样本
6、使用不正确的学习率
7、在输出层使用错误的激活函数
8、网络中包含坏梯度
9、初始化权重错误
10、过深的网络
11、隐藏单元数量错误
12、优化算法不对,一般用adam居多。
13、数据随机性太强,同时网络结构太复杂(样本空间太大,同时样本数量不够,网络函数空间也大)
14、学习率过大。网络可能快要收敛了,却忽然在下一个epoch走向了错误的方向,最终导致不收敛。
作者:菜鸟瞎编
链接:https://www.jianshu.com/p/bbd11ad4e973
<17> 说一下你理解的卷积核, 1x1的卷积核有什么作用?
减少参数,整合特征通道,升维和降维。
算法工程师 面试题与解答相关推荐
- 面经 |算法工程师面试题汇总分享
面经 |算法工程师面试题汇总分享 来源:https://github.com/PPshrimpGo/AIinterview 0 导读 本文汇总了 深度学习(模型评估方法.基本方法.优化方法.深度学习基 ...
- 名企笔试:京东 2016 算法工程师笔试题(登楼梯)
名企笔试:京东 2016 算法工程师笔试题(登楼梯) 2017-02-04 算法爱好者 有一段楼梯台阶有 15 级台阶,以小明的脚力一步最多只能跨 3 级,请问小明登上这段楼梯,有多少种不同的走法? ...
- 【数据挖掘】2022年昆仑万维 算法工程师笔试题
[数据挖掘]2022年昆仑万维 算法工程师笔试题 企业:昆仑万维 1 单选题 1.ABCDE,出栈的顺序不可能是? 栈的知识 2.连续投硬币,第一次正面,奇数次A赢,偶数次B赢.则A赢的概率是多少 问 ...
- 【数据挖掘】2022年京东算法工程师笔试题(23届)
时间:90分钟 2022年京东算法工程师笔试题(23届) 1 单选题 1.MySQL内部存储代码的优势 服务器上执行还可以节省带宽和网络延迟 代码重用.可以方便的统一业务规则,保证某些行为的一致性,所 ...
- 【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
岗位:高级机器学习算法工程师 笔试时间:2022-9-28 1 简答题 1.神经网络中防止过拟合的方法 (1)降低模型复杂度 (2)正则化 ,正则化正是通过在损失函数上添加额外的参数稀疏性惩罚项(正则 ...
- 京东2019春招算法工程师笔试题-牛牛下象棋(编程题3)
这次京东2019的春招算法工程师笔试时间是2018-04-09 19:00~21:00,其中有三道编程题目,当时就做了2个,后一个时间原因就没做,就截了一个图,今天又突然看到了,练练手吧哈. 题目要求 ...
- 计算机视觉与深度学习算法工程师面试题整理
整理自牛客 在梯度下降法中,为什么梯度的负方向是函数下降最快的方向? 为什么引入Relu呢? softmax,softmax loss和cross entropy bias的作 ...
- 计算机视觉与图像处理面试题,深度学习图像处理算法工程师面试题
AI开发平台ModelArts ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注.大规模分布式Training.自动化模型生成,及端-边-云模型 ...
- 算法工程师面试题【集锦cv/ml/dl】
(一) 机器学习方面 SVM 1. 支撑平面---和支持向量相交的平面:::分割平面---支撑平面中间的平面(最优分类平面) 2. SVM不是定义损失,而是定义支持向量之间的 ...
最新文章
- 吴恩达:机器学习毕业后,如何规划职业生涯?
- tensorflow实现图像的翻转
- 优化C#程序的48种方法
- 【已解决】Nacos启动报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null
- php yii model,Yii模型
- 架构 | 聊聊我心中的架构设计观
- matlab中计算不等式的解,matlab解不等式
- mac android sdk manager速度慢,android - SDK Manager无法在Mac上打开 - 堆栈内存溢出
- csrss.exe系统进程介绍
- 算法竞赛从入门到进阶pdf_【算法趣谈】线段树 从入门到进阶
- 【leetcode刷题笔记】Convert Sorted Array to Binary Search Tree
- 微软的软件下载,MSDN下载(方便,无广告,仅提供下载)
- 官方jdk历史版本的下载方式
- Java实现学生管理系统
- python 排队论_建模算法(七)——排队论模型
- 计算机表格布局,使用表格布局网页
- 达梦数据库启动、停止,集群环境监视器服务启动、停止,查看各机器状态
- ocr初始化失败怎么办_应用程序正常初始化失败怎么办
- Android 打包apk出错问题
- WIFI6:WLAN 组播转单播原理与测试