梯度下降法的注意点
1、SGD对训练集的输入顺序敏感。
之前没注意这个问题,训练集前一部分全是label=1的,后面部分全是label=0,导致分类结果全部一边倒。一直没找到问题,以为是数据或者模型出错了,后来偶然画损失函数图的时候,发现loss在中间部分会突增,才意识到跟训练集输入有关。
之所以模型敏感导致分类结果一边倒,这就好像训练one-class模型一样;梯度先沿着某个轴下降,然后等到输入为label=0的时候,梯度又沿着某个轴下降,导致陷入局部最优解。
虽然之前一直有输出loss,但是都没仔细看,很难发现,还是图看的直观、简洁。