深度学习和机器学习_面试问题(二)
1、无监督学习的方法有哪些?
Answer:
强化学习、K-means聚类、自编码、受限波尔兹曼机;
2、描述对空洞卷积(dilated convolution)的理解。
Answer:
基于FCN的语义分割问题,需要保持输入图像与输出特征图的尺寸相同。
若使用池化层,则降低了特征图size,需要在高层阶段使用上采样,由于池化会损失信息,所以,此方法导致精度降低;
若使用较小的卷积核尺寸,虽然可以实现输入输出特征图的尺寸相同,但输出特征图的各个节点感受野小;
若使用较大的卷积核尺寸,由于需要增加特征图通道数,此方法会导致计算量较大;
所以,引入空洞卷积,在卷积后的特征图上进行0填充扩大特征图尺寸,这样既因为有卷积核而增大感受野,也因为0填充而保持了计算点不变。
3、增大感受野的方法?
Answer:
空洞卷积、池化操作、较大卷积核尺寸的卷积操作。
4、梯度下降法和牛顿法的优缺点?
Answer:
(1)优点:
梯度下降法:可用于数量较大的情况;
牛顿法:收敛速度更快;
(2)缺点:
梯度下降法:每一步可能不是向着最优解的方向;
牛顿法:每次迭代时间长,需要计算一阶和二阶导数;
5、如何解决训练样本类别不平衡的问题?
Answer:
现象:训练样本中,正负样本数量的比例较大。
解决方法:
(1)过采样。增加正例样本数量,使得正负样本数量接近,然后再进行学习;
(2)欠采样。去除反例样本数量,使得正负样本数量接近,然后再进行学习;
(3)设置阈值。基于原始数据集学习,当使用已训练好的分类器进行预测时,将正负样本数量的比例作为阈值嵌入到决策过程中。
6、目标检测领域的常见算法有哪些?
Answer:
(1)单阶段检测器:YOLO、YOLO9000、SSD、DSSD、RetinaNet
(2)双阶段检测器:R-CNN、Fast R_CNN、Faster R-CNN
7、Momentum优化算法的原理和作用?
Answer:
(1)原理:在梯度下降算法中引入指数加权平均数,在更新梯度方向的过程中,在一定程度上保留了之前梯度更新的方向,同时利用当前mini_batch的梯度方向微调最终的更新方向。
(2)作用:在一定程度上增加梯度更新方向的稳定性,从而使得收敛速度更快。
8、什么是群卷积?
Answer:
假设上一层的特征图通道数为N,群卷积数目为M,则每个群卷积层上的特征图通道数为N/M,然后将其分配在不同的GPU上,待卷积完成后将输出叠加在一起。
9、什么是反卷积?
Answer:
卷积的逆过程,GANs基于反卷积操作生成图片。
10、什么是梯度消失和梯度爆炸?
Answer:
引发以上现象的原因是:激活函数的选择。
(1)梯度消失:令bias=0,则神经网络的输出结果等于各层权重参数的积再与输入数据集相乘,参数值较小时,则权重参数呈指数级减小。
(2)梯度爆炸:令bias=0,则神经网络的输出结果等于各层权重参数的积再与输入数据集相乘,参数值较大时,则权重参数呈指数级增长。
11、从变化矩阵和变换效果等方面阐述相似变换、仿射变换、投影变换的区别。
Answer:
等距变换:图像旋转+平移
相似变换:图像旋转+平移+缩放(放大或缩小原图)
仿射变换:图像旋转+平移+缩放+切变(虽改变图像的形状,但未改变图像中的平行线)
投影变换:图像旋转+平移+缩放+切变+射影(不仅改变可图像的形状,而且改变了图像中的平行线)
12、简要描述SVM。
Answer:
SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。
扩展描述:
支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
13、简要介绍TensorFlow的计算图。
Answer:
Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系。
14、为什么XGBoost要用泰勒展开,优势是什么?
Answer:
XGBoost使用了一阶和二阶偏导, 二阶导数有利于梯度下降的更快更准. 使用泰勒展开取得二阶倒数形式, 可以在不选定损失函数具体形式的情况下用于算法优化分析.本质上也就把损失函数的选取和模型算法优化/参数选择分开了. 这种去耦合增加了XGBoost的适用性。
15、经常在网上搜索东西的朋友都知道,当你不小心输入一个不存在的单词时,搜索引擎会提示你是不是要输入某一个正确的单词,比如当你在Google中输入“Julw”时,系统会猜测你的意图:是不是要搜索“July”,如下图所示,请针对这一现象解释其实现原理。
Answer:
这叫做拼写检查。根据谷歌一员工写的文章How to Write a Spelling Corrector显示,Google的拼写检查基于贝叶斯方法。请说说的你的理解,具体Google是怎么利用贝叶斯方法,实现”拼写检查”的功能。
用户输入一个单词时,可能拼写正确,也可能拼写错误。如果把拼写正确的情况记做c(代表correct),拼写错误的情况记做w(代表wrong),那么”拼写检查”要做的事情就是:在发生w的情况下,试图推断出c。换言之:已知w,然后在若干个备选方案中,找出可能性最大的那个c,也就是求的最大值。而根据贝叶斯定理,有:由于对于所有备选的c来说,对应的都是同一个w,所以它们的P(w)是相同的,因此我们只要最大化即可。其中:
P(c)表示某个正确的词的出现”概率”,它可以用”频率”代替。如果我们有一个足够大的文本库,那么这个文本库中每个单词的出现频率,就相当于它的发生概率。某个词的出现频率越高,P(c)就越大。比如在你输入一个错误的词“Julw”时,系统更倾向于去猜测你可能想输入的词是“July”,而不是“Jult”,因为“July”更常见。
P(w|c)表示在试图拼写c的情况下,出现拼写错误w的概率。为了简化问题,假定两个单词在字形上越接近,就有越可能拼错,P(w|c)就越大。举例来说,相差一个字母的拼法,就比相差两个字母的拼法,发生概率更高。你想拼写单词July,那么错误拼成Julw(相差一个字母)的可能性,就比拼成Jullw高(相差两个字母)。值得一提的是,一般把这种问题称为“编辑距离”。
所以,我们比较所有拼写相近的词在文本库中的出现频率,再从中挑出出现频率最高的一个,即是用户最想输入的那个词。
长按订阅更多精彩▼
深度学习和机器学习_面试问题(二)相关推荐
- [2022]李宏毅深度学习与机器学习第十二讲(必修)-Reinforcement Learning RL
[2022]李宏毅深度学习与机器学习第十二讲(必修)-Reinforcement Learning RL 做笔记的目的 What is RL Policy Gradient Version 1 Ver ...
- 深度学习 vs 机器学习 vs 模式识别
http://www.csdn.net/article/2015-03-24/2824301 [编者按]本文来自CMU的博士,MIT的博士后,vision.ai的联合创始人Tomasz Malisie ...
- 深度学习vs机器学习 | 这些本质区别你知道多少?
作者 | Walker [磐创AI导读]:深度学习和机器学习已经变得无处不在,那它们之间到底有什么区别呢?本文我们为大家总结了深度学习VS机器学习的六大本质区别.欢迎大家点击上方蓝字关注公众号:磐创A ...
- 新闻上的文本分类:机器学习大乱斗 王岳王院长 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处
新闻上的文本分类:机器学习大乱斗 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处理过程与结果差 ...
- 整理:深度学习 vs 机器学习 vs 模式识别
摘要:本文我们来关注下三个非常相关的概念(深度学习.机器学习和模式识别),以及他们与2015年最热门的科技主题(机器人和人工智能)的联系,让你更好的理解计算机视觉,同时直观认识机器学习的缓慢发展过程. ...
- 深度学习、机器学习与NLP的前世今生
一.为什么做文本挖掘 二.为什么要用深度学习? 三.深度学习的具体应用 深度学习优点 深度学习缺点 随着深度学习的发展,自然语言处理领域的难题也得到了不断突破. Alpha ...
- 人工智能、深度学习和机器学习有哪些区别?
很多人可能不明白『机器学习』.『AI(人工智能)』和『深度学习』之间的区别.这些都是现代数据技术应用中的重要关键字,但由于它们很相似,因此极易混淆.但是为了将 AI 引入日常工作中,正确理解这三个关键 ...
- [2022]李宏毅深度学习与机器学习课程内容总结
[2022]李宏毅深度学习与机器学习课程内容总结 课程感受 第一讲必修 ML的三个步骤 第一讲选修 深度学习发展趋势 反向传播 从线性模型到神经网络 为什么要用正则化技术 为什么分类是用交叉熵损失函数 ...
- 深度学习(计算机视觉)面试问题:
深度学习(计算机视觉)面试问题: 转载原文:https://blog.csdn.net/comway_Li/article/details/82532573 1.1*1卷积的作用: 答:1.实现跨通道 ...
最新文章
- python 打印调用栈
- Java界面命名_java中用setTitel和JFrame给窗体命名的区别
- UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式
- bzoj 3329: Xorequ
- 6.1添加首页和登录页静态模版
- 深入研究.NET 5的开放式遥测
- 中原消费金融借了就借不了吗?
- html 网络请求 json数据,写一个json格式API,http请求接收json数据
- 软件测试:功能测试(1)----测试范围和测试策略
- 使用 Beyond Compare 和版本控制系统
- 4.15 期货每日早盘操作建议
- 如何设置excel表格表头冻结_excel怎么冻结窗口固定表头_excel冻结窗口固定表头详细教程 - 系统家园...
- 【Word】去掉“项目符号/编号”之后的制表符
- 后端学习 Java Web 上半部分(MySQL~RequestResponse)
- Android Studio | 5种Log | android.util.Log
- 利用 Eclipse Visual Editor 项目构建 GUI 应用程序
- 原神申鹤四星武器选哪个
- linux中匿名用户怎么登陆_linux 匿名登陆
- 如果王自如支持友推,而罗永浩不支持的话......
- 大数据局数据安全建设实践案例汇编
热门文章
- mpython掌控板作品_mPython掌控板Easy-IoT物联
- 2019 ACM - ICPC 全国邀请赛(南昌) 题解(9 / 12)
- oracle sql 全是子查询查询速度太慢如何优化_如果面试官问你如何优化mysql分页查询,请把这篇文章甩给他!...
- java预处理指令region_VS #region
- JAVA中float和double的区别、String和char的区别
- 密码学中经典算法及应用
- 2018-2-28 Linux学习笔记
- QT制作窗口切换的小程序
- Android中实现整个视图切换的左右滑动效果
- js高级程序设计(六)面向对象