1、神经网络(CNN)在图像中广泛应用的原因?
Answer:
(1)局部连接;
(2)权值共享:减小参数量;
(3)池化操作:增大感受野;
(4)多层次结构:可以提取low-level以及high-level的信息;
2、CNN不适用的场景?
Answer:
(1)数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势。
(2)数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性。图像中像素组成物体,语音信号中音位组合成单词,文本数据中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变。对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理。举个例子:预测一个人的健康状况,相关的参数会有年龄、职业、收入、家庭状况等各种元素,将这些元素打乱,并不会影响相关的结果。
3、当神经网络效果不好时,应该从哪些方面考虑解决该问题?
Answer:
(1)是否找到合适的损失函数?(不同问题适合不同的损失函数)(理解不同损失函数的适用场景)
(2)batch size是否合适?batch size太大 -> loss很快平稳,batch size太小 -> loss会震荡(理解mini-batch)
(3)是否选择了合适的激活函数?(各个激活函数的来源和差异)
(4)学习率,学习率小收敛慢,学习率大loss震荡(怎么选取合适的学习率)
(5)是否选择了合适的优化算法?(比如adam)(理解不同优化算法的适用场景)
(6)是否过拟合?(深度学习拟合能力强,容易过拟合)(理解过拟合的各个解决方案)
a. Early Stopping
b. Regularization(正则化)
c. Weight Decay(收缩权重)
d. Dropout(随机失活)
e. 调整网络结构
4、深度学习中加速收敛/降低训练难度的方法有哪些?
Answer:
瓶颈结构、残差、学习率、步长、动量、优化方法、预训练。
5、常见的稳定排序算法有哪些?
Answer:
(1)直接插入排序,(2)冒泡排序,(3)归并排序,(4)基数排序;
6、常见的不稳定排序算法有哪些?
Answer:
(1)简单选择排序,(2)希尔排序,(3)快速排序,(4)堆排序
7、完全搜索算法有哪些?
Answer:
(1)广度优先搜索;(2)分支定界搜索算法;(3)定向搜索;(4)最优优先搜索;
8、启发式搜索算法有哪些?
Answer:
(1)序列向前选择;(2)序列向后选择;(3)双向搜索;(4)增L去R选择算法;(5)序列浮动选择;(6)决策树;
9、随机搜索算法有哪些?
Answer:
(1)随机产生序列选择算法;(2)模拟退火算法;(3)遗传算法;
10、K-means算法流程?它与KNN的区别?
Answer:
(1)K-means的基本算法流程:
a. 初始化k个聚类中心c1,c2,...,ck;
b. 对于每个样本xi和 每个聚类中心cj,计算样本与聚类中心之间的距离dij;
c. 对于每个样本xi,基于其最小的dij把其分配到第j个类Cj;
d. 对于每个类Cj,计算其所有样本均值作为新的聚类中心,重复步骤2和步骤3直至样本点所属的类不再变化或达到最大迭代次数;
(2)K-means与KNN的区别:
a. K-means是无监督学习算法,KNN是有监督学习算法;
b. K-means有明显的训练过程(求聚类中心),KNN在学习阶段只是简单的把所有样本记录;
c. 在测试阶段,对于K-means,新的样本点的判别与聚类中心有关,即与所有训练样本有关,对于KNN,新的样本点的判别只是与最近邻的K个样本有关;
11、描述Canny算法的流程
Answer:
(1)先用高斯滤波器进行图像模糊(一般边缘检测算法都需要先滤波降低对噪声的敏感)
(2)计算图像的梯度幅值图像和角度图像(计算梯度即提取边缘,参考其它边缘检测算法;计算角度是为步骤3要用)
(3)对梯度幅值图像进行非最大值抑制(目的是为了细化边缘)
(4)用双阈值对边缘进行选择和连接(主体思想是把弱边缘连接到强边缘上)
12、什么样的数据集不适合用深度学习?
Answer:
(1)数据集太小。数据集太小时,用深度学习提取出来的特征非常容易过拟合,没有泛化能力,因而不及传统的机器学习方法。其本质是样本空间太稀疏,不能反映总体空间的分布,因而用深度学习得到的模型会过拟合。
(2)数据之间没有局部相关性。深度学习对于结构化的数据提取特征有非常好的效果,但对于没有结构化的数据,即数据之间不存在局部相关性,如可能存在统计关系等,此时用深度学习就不是很合适。
13、如何解决数据不平衡问题?
Answer:
这主要是由于数据分布不平衡造成的,解决方法如下:
(1)采样,对小样本加噪声采样,对大样本进行下采样;
(2)进行特殊的加权,如在Adaboost中或者SVM中;
(3)采用对不平衡数据集不敏感的算法;
(4)改变评价标准:用AUC/ROC来进行评价;
(5)采用Bagging/Boosting/ensemble等方法;
(6)考虑数据的先验分布;
14、常用的激活函数的优缺点?
Answer:
15、参数更新的方法?
Answer:
16、常用的几个模型
Answer:
长按订阅更多精彩▼