过拟合与正则化
约 10 分钟
背书第一名,考试却砸了
有种学生:课本上的例题倒背如流,可试卷换个问法就不会了。神经网络也会犯这毛病——训练集上准确率 99%,一遇到新照片就跌到 70%。这叫过拟合:模型把训练数据里的噪音和巧合也当规律背了下来。第一章说过,网络的权重是从数据里学的;数据量有限而权重动辄上亿,死记硬背总比理解规律省力。
怎么判断,怎么治
判断很简单:把数据劈成两半,训练集和验证集。训练集分数一路涨、验证集分数却掉头向下,就是过拟合在报警。治法的总思路是给网络戴上镣铐:一是加数据(最好的办法,数据多到背不完,只能学规律);二是正则化——在误差里额外加一项「权重太大要罚分」,写成 ,白话就是:逼着网络用小权重,模型就没法对个别样本钻牛角尖;三是 dropout:训练时随机让一部分神经元「请假」,谁也别想依赖某个队友,全队都得会。《动手学深度学习》的「模型选择、欠拟合和过拟合」一章专门讲这个。
常见误区
训练集分数高不等于模型好——一定要看没见过的数据上的表现;也别一看到过拟合就猛加正则,先检查是不是数据太少。
练一练:想想你学习时哪些做法是「死记硬背」式的过拟合,哪些做法是在学规律?各举一例。
小纸条
各举一个自己学习中「死记硬背」(过拟合)和「理解规律」(泛化)的例子。
登录 后可看答案