深度学习-CNN-反向传播

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

https://hellozhaozheng.github.io/z_post/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0-%E5%90%84%E7%A7%8D%E4%BC%98%E5%8C%96%E6%96%B9%E6%B3%95%E6%95%B4%E7%90%86%E6%80%BB%E7%BB%93/

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 来调控。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值