机器学习模型训练时候tricks


1. 当训练集的效果(准确率)上不去,和贝叶斯估计(人的表现)存在一定差距的时候:(1)增加模型的复杂度。或者直接多加几层。(2)现在目前效果非常好的一些模型:resnet,inception等。(3)重新选择优化函 数:AdamOptimizer,MomentumOptimizer,RMSPropOptimizer等等。


2. 训练集效果表现好,测试集效果表现不好:(1)增加训练样本的数量。(2)正则化:L2范数,dropout等

(dropout原理是什么呢?使随机使神经元失活,相当于把一个复杂的模型拆分开,测试后时候凑到一起,

集成学习的思想,又刹不住闸了。。。)。(3)还要观察训练样本和测试样本的分布是否一致。


3. 还有像样本预处理:(1)归一化:img/255.0,img-0.5,img*2,将数据转化为[-1,1].

(2)减去均值除以方差。(3)减去样本各通道的均值。


4. 还有loss的选择啊,多标签分类适合用softmax_cross_entropy(对于多标签分类的要用多个softmax),

标签分类sigmoid_cross_entropy。


5. data augmentation

6. 还要注意BN的使用,学习率的选择,batch_size的大小。

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...