模型性能不好,可能存在的问题:
(1)模型设计
(2)优化算法的问题
(3)过拟合
机器学习几乎所有的算法都要利用损失函数来检验算法模型的优劣,同时利用损失函数来提升算法模型,这个提升过程叫做优化 (Optimizer)。
优化器定义了改变权重和偏置的方法
优化过程就是优化代价函数:
(1)Adagrad、RMSprop、Adam等算法都是建立在偏导数之上的,他们并不关心上式中N的取值,N取1,取100,还是取N,Adagrad、RMSprop、Adam等算法都可以运行。
(2)而随机梯度下降法(Stochastic Gradient Descent,SGD),批量梯度下降法(Batch Gradient Descent,BGD),小批量梯度下降法(Mini-batch Gradient Descent,Mini-batchGD)则是研究这里的N的大小的。
批量梯度下降
一次迭代用所有样本的梯度
做法:每一步梯度下降法需要对整个训练集进行一次处理,求训练集的所有样本的平均梯度作为整个数据集的梯度,进而更新权重。
优点:全数据集的梯度平均值能够更好的代表样本总体
缺点:
(1)如果训练数据集很大的时候,处理速度就会比较慢。
(2)你的数据集非常的大(现在很常见),根本没法全部塞到内存(显存),大样本就不能用这种方法
小批量梯度下降
一次迭代用这一batch的样本梯度