一、模型选择要考虑的维度
(一)模型容量
- 参数的个数
- 参数的选择范围
(二)数据复杂度
- 样本个数
- 样本的元素个数(RGB & 灰度)
- 时间、空间结构
- 多样性
二、模型选择中会遇到的问题:过拟合与欠拟合,How to solve?
权重衰退和dropout本质都是正则化,让隐藏层的神经元个数减少(因为部分输出为0)。实际中,权重衰退对复杂模型的效果不显著,但是dropout效果比较显著,因此更常用。两种方法可以一起用。
(一)权重衰退
- 原理:限制模型参数的选择范围以控制模型的容量。由于模型中部分维度为噪声,学习过程中w学到了噪声导致过大,而lambda可以把w逐渐拉回到正常状态。lambda越大,拉回的效果越明显。
- 操作:
torch.norm(w).item() # 对w取二阶范数后取张量tensor的值
- lambda数值尝试:0.001–0.01–0.1
(二)dropout
- 原理:在层之间随机加噪音,让模型对数据扰动具有鲁棒性,实际效果相当于正则化。
h=sigma(w1x+b1)
h’=dropout(h)
o=w2h’+b2
y=softmax(o) - 数值尝试:模型过于复杂用0.9–0.7–0.5–0.3–0.1