目录
2. 随机梯度下降 (Stochastic Gradient Descent)
1. 误差来源
- 偏差:高偏差表示模型欠拟合,需要调整模型结果,此时仅增大数据量,并不能提升模型精度
- 方差:高方差表示模型过拟合,最简单的操作是增大数据量,或者使用正则化操作,缓解过拟合现象
2. 模型选择
错误操作:将数据集简单的分为训练集和测试集两部分,训练集训练模型,测试集测试模型,将在测试集上表现最好的模型用于最终测试集,通常误差会变大。可能原因是如果模型过拟合,在内部测试集上表现非常好,但是真实测试集与内部测试集数据分布稍有不同,使得模型无法较好的分析真实测试集,导致误差偏大。
正确操作:
- 交叉验证:按一定比例将数据集分为训练集、验证集和测试集,彼此相互独立,训练不同模型,选择在验证集上表现最佳的模型用于测试内部和外部测试集,通常误差会偏高,但是选择模型的策略相对客观。
但是,有的人会说验证集的划分存在一定主观性,可能会对模型选择造成偏差。因此,可以采用N折交叉验证,查阅一些相关文献,在医学图像分析领域,使用较多的应该是5折或10折交叉验证。N折交叉验证,将数据集分为N组,依次将其中一组作为验证集,N-1组作为训练集,在验证集上评估模型的优劣,取N次验证集误差值的均值,选择最佳的模型。该方法实现全数据集评估模型的性能,更加客观,值得拥有!
3. 梯度下降
1. 学习率
实际操作中,为了设置合适的学习率,需要绘制右图曲线:
- 黄色曲线:学习率太大
- 蓝色曲线:学习率太小
- 绿色曲线:学习率较大,使得梯度收敛过快,可能导致模型欠拟合
- 红色曲线:相对合适的学习率
自适应学习率:
不同的Epoch,具有不同的学习率,一开始采用较大的学习率,随着Epoch增加,减小学习率,使得Loss不断逼近最优值。
- Adagrad:每个参数的学习率除上之前微分的均方根
2. 随机梯度下降 (Stochastic Gradient Descent)
无需处理全部数据,只需要随机选择其中一个样本,更新权重即可,因此使得模型快速收敛。
3. 特征缩放
类似变量标化,在回归分析中,不同量纲的自变量纳入前需要先进行标准化。
左图:特征缩放前;右图:特征缩放后(推荐)
为什么要缩放特征?
由图可知,红色箭头是梯度下降的方向,左图梯度下降沿着等高线法线方向进行权重迭代,并非直接朝着最低点走,绕了一些弯路,且不同变量需要不同的学习率;相比之下,右图梯度下降单刀直入,更加高效。
怎么缩放特征?实质是归一化。
学习体会:
梯度下降是深度学习算法最最最基础的部分,虽然也训练过AI模型,但是针对最理论、最基础的梯度下降的理论部分,还是有点摸不透,仍需要继续学习!