系统学习深度学习(八)--损失函数
0-1损失函数
平方损失函数
交叉熵损失函数
当然,还有16年出的center-loss
深度学习笔记(三):激活函数和损失函数
sigmod
tanh
relu
leaky-relu
elu
maxout
ReLU、LReLU、PReLU、CReLU、ELU、SELU
深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)
说明:SGD,Momentum,Nesterov Momentum是手动指定学习速率的,而后面的AdaGrad, RMSProp, Adam,就能够自动调节学习速率.
BGD
SGD
Momentum
AdaGrad
RMSProp
Adam
BN算法
一般放在卷积层和激活函数的中间,对数据进行归一化处理,能够改变数据的分布,增强鲁棒性,训练 的收敛也更快。同时, 采用了BN后,可以移除dropout 和L2正则项。
数据增强 data augmentation
数据增强方法总结
github代码:
(1)https://github.com/codebox/image_augmentor
(2)https://github.com/aleju/imgaug
详解机器学习中的梯度消失、爆炸原因及其解决方法
这在反向传播中会出现这种问题
梯度消失:采用sigmod函数和平方损失会导致该问题。
解决方法:采用BN;采用交叉熵损失函数;使用relu,leaky-relu等;引入ResNet的残差;
梯度爆炸:深度学习中一般很少出现这种问题。
解决办法:加入正则化,对较大的权重进行惩罚;采用BN ;
大白话给你说清楚什么是过拟合、欠拟合以及对应措施
过拟合:所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。
解决办法:dropout、正则化、增大数据、数据清晰(数据不纯的情况下)
欠拟合:所建的机器学习模型或者是深度学习模型提取的特征比较少,导致训练出来的模型不能很好地匹配,表现得很差,
解决办法:一般出现在模型开始阶段,训练后不会,或者换用更复杂的模型。
深度学习笔记(二):简单神经网络,后向传播算法及实现
利用了链式求导法则,然后更新参数,更新的形式为:假设原来的参数为w,损失函数为C,则 ,其中为学习率。
CNN反向传播训练参数过程
三分钟带你对 Softmax 划重点
简单易懂的softmax交叉熵损失函数求导
准确率(accuracy)召回率(recall)精确率(precision)的含义
FN:False Negative,正样本被判定为负样本。
FP:False Positive,负样本被判定为正样本。
TN:True Negative,负样本被判定为负样本。
TP:True Positive,正样本被判定为正样本。
样本总容量=FN+FP+TN+TP
accury=(TP+TN)/(FN+FP+TN+TP),检测到正确的样本占所有样本的比例。
precesion = TP/(TP+FP) 即,检索结果中,都是你认为应该为正的样本(第二个字母都是P),但是其中有你判断正确的和判断错误的(第一个字母有T ,F)。它计算的是所有被检索到的正样本中,和"被检索到"的正样本占的比例。
recall = TP/(TP+FN)即,检索结果中,你判断为正的样本也确实为正的,以及那些没在检索结果中被你判断为负但是事实上是正的(FN)。它计算的是所有检索到的正样本占所有"应该检索到的正样本"的比例。
F1=2*precession*recal(precesion+recall)
减去均值、白化可以加速训练
卷积神经网络(四):学习率、权重衰减、动量
权重衰减是放在损失函数的正则化项,可以对较大权重进行惩罚。
CNN中的dropout理解
https://blog.csdn.net/hduxiejun/article/details/70570086