https://www.nowcoder.com/discuss/205260
1 CNN 反向传播
笔记33页
参考: https://www.cnblogs.com/makefile/p/BP.html
2 Adam优化器的迭代公式
笔记37页
https://zhuanlan.zhihu.com/p/22252270
3 softmax
参考:https://blog.csdn.net/bitcarmanlee/article/details/82320853
4 线性回归R^2公式及意义
笔记41页
评价回归模型系数拟合优度,公式:R^2=SSR/SST =1-SSE/SST
SST:总平方和
SSR:回归平方和
SSE:残差平方和
残差: 实际值和观察值之间的差异
R^2的缺陷:当我们人为的向系统中添加过多的自变量,SSE 会减少,从而R^2变大,因此我们采用校正R方,惩罚了过多无意义的自变量。
https://www.jianshu.com/p/8aefd78be186
5 p-value意义,怎么算 ,怎么做单边检验
原假设为真的前提下出现观察样本以及更极端情况的概率。
p值的计算:
一般地用X 表示检验地统计量,当H0 为真时,可由样本数据计算出该统计量的值C,根据检验统计量X的具体分布,可以求出P 值。
具体来说: 左侧检验的p 值为检验统计量X 小于样本统计值C的概率,即:P=P(x<C) 右侧检验的p 值为检验统计量X 大于样本统计值C的概率,P=P(X>C) 双侧检验的P 值检验统计量X 落在样本统计量C 为端点的尾部区域内的概率的2倍:P=2P(X>C) 当C 位于分布曲线的右端时。或P=2P (X<C) 当C 位于分布曲线的左端时。
https://baike.baidu.com/item/p-value#3
http://sofasofa.io/forum_main_post.php?postid=1000218
6 几何分布的定义以及期望与方差的证明
几何分布时离散型概率分布,其中一种定义为在n 次伯努利试验中,试验k 次才得到第一次成功的机率,
分为两种情况:1 得到一次成功而进行,n 次伯努利实验,n 的概率分布,取值范围为[1,2,3,...]
2 m=n-1 次失败,第n 次成功,m 的概率分布,取值范围为0,1,2,3,,,,
由两种不同情况而得出的期望和方差如下:
E[X]=1/p
Var(X)=(1-p)/p^2
E[Y]=(1-p)/p
Var(Y)=(1-p)/p^2
概率为p 的事件A,以X 记A 首次发生所进行的试验次数,则X的分布列:P(X=k) =px(k)=(1-p0^(k-1)p
k=1,2,3,...
具有这种分布列的随机变量X,称为服从参数p的几何分布,记为X~Geo(p)
https://wenku.baidu.com/view/b38437642f60ddccdb38a019.html
7 AUC 的求法
https://www.nowcoder.com/discuss/209478
接下来,我们从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。这样一来,我们一共得到了20组FPR和TPR的值,将它们画在ROC曲线的结果如下图:
- 准确率(Accuracy) = (TP + TN) / 总样本 =(40 + 10)/100 = 50%。 定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
- 精确率(Precision) = TP / (TP + FP) = 40/60 = 66.67%。它表示:预测为正的样本中有多少是真正的正样本,它是针对我们预测结果而言的。Precision又称为查准率。
- 召回率(Recall) = TP / (TP + FN) = 40/70 = 57.14% 。它表示:样本中的正例有多少被预测正确了, 它是针对我们原来的样本而言的。Recall又称为查全率。
参考:
https://www.cnblogs.com/peizhe123/p/5081559.html
8 BN 公式
笔记43页
参考:https://blog.csdn.net/bl128ve900/article/details/95309305
9 softmax与cross entropy的推导
笔记44页
http://shuokay.com/2016/07/20/softmax-loss/
10 过拟合与正则化的数学推导
笔记47页
https://www.cnblogs.com/love6tao/p/5761851.html
11 梯度爆炸
笔记48页
解决方法:https://blog.csdn.net/qq_25737169/article/details/78847691
预训练加微调;梯度剪切和正则;relu,leakrelu和elu 等激活函数,BN,残差结构,LSTM
https://zhuanlan.zhihu.com/p/25631496
12 为什么要用正则化?解释了奥卡姆剃刀
正则化是奥卡姆剃刀的具体实现,保持预测能力相当时,降低模型的复杂度,降低过拟合。
在科学研究任务中:应该优先使用较为简单的公式或者原理,而不是复杂的。
https://www.nowcoder.com/discuss/207092
13 L1 和L2的区别
笔记47页
https://blog.csdn.net/ybdesire/article/details/84946128
14 Focal loss 的认识
样本不均衡: 调整损失函数的权重,让样本少的在loss 中的权重比例高,反之降低。
过采样,欠采样
OHEM:只保留loss高的样本,忽略简单的样本
通过修改标准的交叉熵损失函数,降低对能够很好分类样本的权重,解决类别不均衡的问题。
随着对正确分类的置信增加,缩放因子衰退到0,缩放因子能够动态调整训练过程中简单样本的权重,并让模型快速专注于困难难样本。
https://skyhigh233.com/blog/2018/04/04/focalloss/
15 问dropout具体怎么实现,如何保证训练测试的一致性
https://www.nowcoder.com/discuss/205843
12年Hinton 提出:1 可以阻止某些特征的协同作用来缓解,每次训练的时候,每个神经元有50% 的几率被移除,这样可以让一个神经元的出现不应该依赖于另外一个神经元。
2 模型平均:10000个不同的网络可以提高网络的泛化能力,可以防止过拟合。n 个网络,权值共享,并且具有相同的网络层数,每次dropout 后,网络模型都可以看成是整个网络的子网络。(需要注意的是如果采用dropout ,训练时间大大延长,但对测试阶段没影响) 笔记27页
https://blog.csdn.net/hjimce/article/details/50413257
16 pooling 层的误差的反向传播
https://www.nowcoder.com/discuss/207105
CNN中的pooling 池化操作不可导,因为pooling 操作使得feature map 的尺寸变化,假如做2*2 的池化,假设第l+1 层的feature mao 有16个梯度,那么l 层就会有64个梯度,这使得梯度无法对位的进行传播下去,解决这个问题的思路很简单,就是把一个像素的梯度传递给4个梯度,但是要保证传递的loss (或者梯度)总和不变,根据这条原则,mean pooling 和max pooling 的反向传播也是不同的。
1 mean pooling
前向传播 是把一个patch 中的值取平均来做pooling,那么反向传播的过程就是把某个元素的梯度等分为n 份分配给前一层,这样就保证了池化前后的梯度(残差) 之和保持不变。
mean pooling 让人理解错的地方就是会简单认为直接把梯度复制N 遍后反向传播回去,但是这样会造成loss 之和变成为原来的N 倍,网络会产生梯度爆炸。
2 max pooling
也要满足梯度之和不变,max pooling 的前向传播时把patch 中最大的值传递给后一层,而其他像素的值直接被舍弃掉,反向传播就是把梯度直接传给前一层的某个像素,而其他像素不接受梯度,也就是为0,所以max 和mean 的不同点在于需要记录下池化操作时到底哪个像素的值是最大的。
https://blog.csdn.net/Jason_yyz/article/details/80003271
17 过拟合原因和解决办法
https://www.nowcoder.com/discuss/187310
4个原因:1 训练集的数量级和模型的复杂度不匹配,训练集的数量级要小于模型的复杂度
2 训练集和测试集特征分布不一致
3 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系。
4 权值学习迭代次数足够多,拟合了训练数据中的噪声和训练样例中没有代表性的特征
7个解决方案:
1 调小模型复杂度,适合数据的数量级(缩小宽度和深度)
2数据增强:训练集越多,过拟合的概率越小
3 加入正则
4 dropout
5 early stopping
6 ensemble
7 重新清洗数据
https://blog.csdn.net/NIGHT_SILENT/article/details/80795640
18 CNN 常见面试
https://blog.csdn.net/xwd18280820053/article/details/76026523
RNN特点: 时序长短可变(只要知道上一时刻的隐藏状态ht-1 与当前时刻的输入xt,就可以计算当前时刻的隐藏状态ht,并且由于计算所用到wxh 与whh 在任意时刻都是共享的,递归网络可以处理任意长度的时间序列,
RNN 主要包括LSTM,GRU。
GRU 对LSTM 做了两个大改动:
1 将输入门,遗忘门,输出门变为两个门,更新门和重置门
2 将单元状态与输出合并为一个状态。
GRU 只用了两个gates ,将LSTM 中的输入门和遗忘门合并成了更新门,并且并不把线性自更新建立在额外的memeory cell 上,而是直接线性累积建立在隐藏状态上,并靠gates 来调控。