机器学习岗位面试问题汇总 之 深度学习

自己结合网络内容总结,欢迎指正欢迎补充。

最新更新:20170624—版本2(增加22-28)

1.模式识别、机器学习、深度学习的区别与联系
模式识别:过去、程序/机器做智能的事、决策树等
机器学习:热点领域、给数据+学习数据
深度学习:前言领域、强调模型

2.早年神经网络被淘汰的原因
耗时、局部最优、竞争对手、over-fitting、参数

3.深度学习的实质 及其 与浅层学习的区别
深度学习实质:多隐层+海量数据——>学习有用特征—–>提高分类或预测准确性
区别:(1)DL强调模型深度 (2)DL突出特征学习的重要性:特征变换+非人工

4.神经网络的发展(背景之类的)
MP模型+sgn—->单层感知机(只能线性)+sgn— Minsky 低谷 —>多层感知机+BP+sigmoid—- (低谷) —>深度学习+pre-training+ReLU/sigmoid

5.DL解决过拟合的方法
数据扩容、dropout技术

6.介绍dropout技术
修改神经网络本身来避免过拟合、训练网络的一种trike。
步骤:repeat { 随机‘删除’+BP获权值}
为何会避免过拟合:训练多个“半数网络”,随着训练的进行,大部分正确,小部分错误(不影响)

7.推导BP算法
http://blog.csdn.net/hungryof/article/details/50436231

8.BP算法为什么不能适应于深度学习
BP为传统多层感知机的训练方法,<=5层
问题:(1)梯度越来越稀疏(梯度扩散<—-非凸目标函数) (2)局部最小 (3)一般,有标签
NOTE:解决其中局部最小值的方法:(1)多组不同随机参数,取最好参数 (2)启发式优化算法:模拟退火 或 遗传 (3)随机梯度下降

9.深度学习与传统神经网络之间的区别与联系
联系:分层结构
区别:训练机制(初始值)

10.介绍DNN(原理和应用)
DNN:深度神经网络,广义上包含CNN,DBN,RNN等
优点:层数多,抽象能力强,模拟更复杂模型
应用:图像处理、语音识别、文本分类。。。

11.什么是深度学习、深度学习的训练过程是什么
无监督预训练(Layerwise Pre-Training)+有监督微调(fine-tune)
过程:(1)自下而上非监督学习特征 (2)自顶向下有监督微调

12.深度学习常用方法
全连接DNN(相邻层相互连接、层内无连接):
AutoEncoder(尽可能还原输入)、Sparse Coding(在AE上加入L1规范)、RBM(解决概率问题)—–>特征探测器——>栈式叠加 贪心训练
RBM—->DBN
解决全连接DNN的全连接问题—–>CNN
解决全连接DNN的无法对时间序列上变化进行建模的问题—–>RNN—解决时间轴上的梯度消失问题——->LSTM

13.RBM用途
(1)编码、降维 (2)得到权重矩阵和偏移量,供BP网络初始化训练 (3)可作为生成模型使用 (4)可作为判别模型使用

14.介绍DBN
DBN是一个概率生成模型。
组成:多个RBM+BP网络
训练过程:(1)无监督训练每一层RBM网络、特征向量映射到不同特征空间、尽可能保留特征信息(贪心算法) (2)DBN最后一层设置为BP网络,有监督微调
RBM训练可以看作对一个深层BP网络的网络权值参数的初始化—->克服容易局部最优+训练时间长
优点:不用人工选取特征
缺点:(1)有标签样本集 (2)学习过程慢 (3)参数不当可能导致局部最优
公式推导:
http://blog.csdn.net/app_12062011/article/details/54313082

15.介绍CNN
重点:局部感受域、权值共享
组成:卷基层、子采样层(池化层)
训练过程:不同小随机数初始参数—->repeat{ 前向传播(特征提取层C层—->特征映射层S层) + 后向传播 }
广义上的优点:(1)识别位移、缩放及其他形式扭曲不变性的二维图形 (2)隐式从训练数据中学习特征 (3)同一特征映射面的神经元权值相同—–>课并行学习 (4)局部权值共享—->在语音识别、图像处理方面有优势、更接近实际生物神经网络、降低网络复杂性、避免特征提取和分类过程中的数据重建复杂度
较一般神经网络在图像处理方面的优点:(1)图像和网络拓扑更好吻合 (2)特征提取和模式分类同时进行,并同时在训练中产生 (3)权值共享—–>减少参数、结构简单、适应性更强
应用:语音分析、图像识别等
公式推导 之 inference:
http://blog.csdn.net/lu597203933/article/details/46575871
http://blog.csdn.net/zouxy09/article/details/9993371
公式推导 之 BP:
http://blog.csdn.net/walegahaha/article/details/51945421

16.CNN卷基层和pooling层的作用
卷积层:特征提取
子采样层/池化层:缩减输入数据的规模

17.CNN和DBN有什么区别
CNN是判别模型,DBN基于生成模型
CNN是局部连接,DBN是全连接

18.介绍RNN
概念:广义来说RNN是两种人工神经网络的总称:结构递归神经网络(Recursive Neural Network)和循环神经网络/时间递归神经网络(Recurrent Neural Network)。时间递归升降网络的神经元之间连接构成有向图,结构递归神经网络利用相似的神经网络结构递归构造更为复杂的网络结构,两者训练算法不同,但属于同一变体。
一般我们说的RNN是指时间递归神经网络
重点:同一个神经网络单元不停处理不同的输入值,而这些值是它自己产生的
缺点:长时间依赖问题,即时间距离较长时,会出现时间轴上的梯度消失现象,可以形象的理解为,比较容易忘事
应用:应为它老忘事,所以没有改进为LSTM的它并没有什么有价值的应用

19.介绍LSTM及其变体
是一种特殊的循环神经网络,具有能够学习的长期依赖能力
重点:cell
组成:Cell(state参数,用来记录),Input Gate, Output Gate, Forget Gate
训练过程:前向传播(Input Gate, Forget Gate, cell, output gate, cell output)+后向传播(cell output, output gates, states, cells, forget gates, input gates)
优点:能够解决长时间依赖问题
应用:自然语言处理、语音识别、手写识别等
推导:打印资料

20.深度学习的优化问题,及各种优化算法的区别
经典的:MBGD(小批量梯度算法)
改进梯度算法,使梯度更新更加灵活:Momentum,Nesterov
可以自适应学习率:Adagrad,Adadelta,RMSprop,Adam,Adamax,Nadam

21.深度学习在推荐系统上可能有怎样的发挥
推荐系统要解决:预测和推荐。深度学习可以用来做预测,(此处可以撤一点DL做预测的一般过程),YouTube已经开始使用了,他的推荐系统由2个神经网络组成,一个用来生成后选视频列表(协同过滤算法),另一个对输入的视频列表进行打分排名。

22.神经网络相比于LR、线性回归的优势
包含DNN
不包含DNN,即传统神经网络:特征提取抽象

23.梯度消失的原因
(1)sigmoid求导<=1/4
参考:http://blog.csdn.net/baidu_29782299/article/details/52742773
(2)BP?

24.DNN常用的激活函数有哪些,各有什么特点
(1)sigmoid:易饱和(梯度消失),非0均值 (2)tanh,改进了sigmoid的第二个缺点,即它是0均值的 (3)ReLU,收敛快(不容易饱和),求梯度简单(没有指数计算,只需要阈值就可以),有稀疏特性。缺点是神经元容易坏死。
参考:http://f.dataguru.cn/thread-712946-1-1.html

25.什么样的资料不适合用深度学习?
(1)数据量小 (2)没有局部相关性

26.什么是共线性,跟过拟合有何关联?
共线性:高度相关—>冗余——>过拟合
解决:排除相关、加入权重正则

27.CNN可应用与图像识别、语音识别、Alphago等,这些不相关问题的共性是什么?也就是说CNN为什么可以应用在这几个问题上?CNN又是通过什么手段抓住了这些共性?
共性:都存在局部与整体的关系(单词与句子,一步棋和整个棋局)。(我自己想的(1)可以用CNN,(2)CNN有优势)
CNN通过局部感知、权值共享、池化操作。越来越抽象。

28.CNN什么时候用local-conv?什么时候用全卷积(每一个点用同一个filter)?
当数据集的局部特征之间具有较强相关性的时候,适合用全卷积。在不同的区域有不同的特征分布时,适合用local-conv

参考
《统计学习方法》,李航
《神经网络与深度学习》,吴岸城
《机器学习》,周志华
《斯坦福大学2014机器学习课程笔记》,Andrew Ng主讲,黄海广整理笔记

你可能感兴趣的:(机器学习面试)