目录
1 神经网络架构怎么选?
NN=万能模型+误差修正
NN《==》矩阵线性变换+激活函数非线性变换
NN有效地原因:分布式表示(distributed representation)+组合性(compositionality)
- 增加神经元个数(一层)《==》 矩阵线性转换的能力
- 增加层数 《==》增加非线性转换的次数
浅层:模拟任何函数,数据量代价不可接受
深层:模拟任何函数,数据量需求降低(前提:空间中的元素可以由发展迭代而来)
深层比浅层更高效!
2 样本不均衡怎么办?
**现象:**长尾分布
长尾分布:少数类别数据多吗,多数类别数据少
解决:
(1)调节样本分布
(2)loss硬截断
(3)魔改loss:focal loss,dice loss, logits adjustments
(4)将softmax推广到多标签分类问题
(5)互信息
3 卡在local minima怎么办?
原因:学习率太小,初始化位置不好
解决:
- 调学习率
自适应变化(每次更新都不同) - 调初始化
预训练
权重初始化:高斯分布,均匀分布,Glorot(Xavier),He,稀疏矩阵
4 欠拟合怎么办?
现象:干的太差——训练集上差,测试集上差
原因:数据量多维度少或者数据不好(不相关),模型太弱(数学表达:偏差大)
偏差 bias = pred - label
反映模型拟合能力/预测准确情况
模型忽略数据的程度
解决:
-
数据
(1)减少数据量,加入新特征
(1)重新选择相关特征 -
模型
==》 增加模型复杂度
增加神经元个数,网络层数
减少正则化项,去掉dropout -
超参
减小学习率α——步子跨小点
增加迭代次数——防止没收敛
5 过拟合怎么办?
现象:干的太好——训练集上好,测试集上差
注意:过拟合无法避免,只能缓解(因为训练数据有限)
原因:数据量少维度多或者数据不好(不纯)ÿ