这门课主要讲解了神经网络中常用的一些调试、优化方法
训练集、开发集、测试集
训练集用来训练网络参数
开发集用来调整网络各个超参数
测试集用来评估网络性能
各部分比例分配如下:
数据量 |
训练集 |
开发集 |
测试集 |
1,000-10,000 |
60% |
20% |
20% |
70% |
30% |
||
1,000,000 |
98% |
1% |
1% |
>1,000,000 |
99.5% |
0.25% |
0.25% |
0.4% |
0.1% |
模型偏差、方差
|
偏差 |
方差 |
解释 |
模型预测能力不足(前拟合),表现为训练误差较大 |
模型泛化能力不足(过拟合),表现为测试误差较大 |
解决方法 |
1. 更深、更宽的网络 2. 训练更长时间 3. 更好的优化方法 4. 更优的网络结构 |
1. 更多的数据 2. 正则化 3. 更优的网络结构 |
(减小偏差:5.更优的超参数)
正则化
L0正则化:L0范数指向量中非0元素的个数,可以让权重矩阵W更稀疏,但是因为难于优化,一般用L1替代
L1正则化:L1范数指向量中各元素绝对值的和。
L2正则化:L2范数指向量中各元素平方和的二次方根,让权重更加平滑。