深层神经网络参数调优(一) ——方差、偏差与正则化

深层神经网络参数调优(一)——方差、偏差与正则化

(原创内容,转载请注明来源,谢谢)

一、概述

现在来到ng【深层神经网络参数调优】专题的学习,这部分主要是对深度学习过程中,需要涉及到的参数、超参数的调优的方法与技巧。

二、样本集的使用

1、三个集

在深度学习中,为了检验算法的效果,通常会设置训练集、验证集和测试集。

训练集用来训练分类器,得到最低代价函数情况下,各层网络对应的w、b。

验证集用来调试的,目的是为了获得最优的超参数,如学习速率α、正则化因子λ等。

测试集用来验证训练集得到的结果,确认错误率、召回率、查准率都在正常水平。

2、样本集使用

通常,如果数据量不大(如万级别),一般来说,分成三个集的比例训练:验证:测试 = 6:2:2。

当数据量非常大的时候(如百万以上),则并不需要那么多的数据进行验证和测试,反而会大量的进行训练,有可能会到99.5:0.25:0.25。

3、数据源

有时候,测试需要在app之类的地方,而这类地方不容易拿到大量数据,会造成训练和测试的数据源不同。这种情况下,至少需要保证测试和验证集是同一个数据源。

三、方差与偏差

1、直观判断

以下图为例,蓝线是拟合出来的分类线,左边高偏差/欠拟合,中间正常,右边高方差/过拟合。

高偏差表示拟合程度不够,会导致训练误差很大;高方差表示训练集过拟合,但是这样会导致验证集无法正常拟合。

2、判别方差和偏差

当测试集的测试结果,不满足情况,就需要判断是过拟合还是欠拟合引起的。首先,假设给定的最终结果的错误率是0%,即所有样本给出的分类结果都是正确的。这个样本分类结果的错误率,称为贝叶斯错误率。下面考虑几种情况:

1)高方差过拟合

当训练集错误率很低,如1%,而验证集错误率比训练集的错误率高得多,如11%,则此时样本很好的被训练,但是过度训练,导致无法很好的对验证集进行判别,此时就成为过拟合。

2)高偏差欠拟合

当训练集错误率较高(这里的较高是相对于贝叶斯错误率),如15%,而验证集错误率和训练集差不多,如16%,则可以看出此时欠拟合,训练集都没有被拟合好。

3)高方差+高偏差

当计算出的错误率,训练集的比贝叶斯错误率高得多(高偏差),验证集的比训练集的还要高得多(高方差),则此时既高方差,又高偏差,如下图所示:

4)正常情况

训练集、验证集错误率相近,且都和贝叶斯错误率相近。

3、调试过程

1)当完成一个模型后,首先会计算训练集的错误率,以判断是否存在高偏差。如果是,则通常会加大神经网络的深度、神经元数量等,再次验证,直到没有了高偏差。

2)没有高偏差后,会计算验证集的错误率,以判断是否存在高方差。如果是,则会拿更多的数据参与训练,或者调整正则化参数,并且重新回到第一步,验证偏差。

3)通常方差和偏差存在一个均衡,很可能一个调整降低了另一个就升高了。但是通常深层的神经网络,可以同时降低两者。

四、正则化

1、概述

正则化,即在代价函数的公式,后面加上一个式子,是对w的计算,目的是为了解决过拟合。正则化通常分为两种——L1正则化和L2正则化,区别在于||w||是否平方。L2用的更频繁。

另外,由于b只是一组数,而w是一个矩阵,印象更大,因此通常正则化项不用考虑b。

2、梯度下降

正则化项加入代价函数后,也要参与梯度下降的计算,经过计算dJ/dw,可以看出加入正则化项后,这个值变大了。即后面调参的时候w=w-αdw的值更小了,因此正则化项的加入,也被称为权重衰减。

3、正则化解决过拟合的原因

1)直观了解

当正则化项的值比较大,而我们对代价函数的优化是让其尽量小,因此也就导致w的值会普遍减小,影响力会逐渐降低,让式子趋于线性。且每层神经元的影响,会被调整成1个神经元的影响,相当于深层单神经元的网络。当λ太大,还有可能出现欠拟合的情况。

2)数学推导

从前面的说明中,已知λ增大会导致正则化的值增大,进而导致w减小。而根据z的计算公式,z=wx+b,w减少会造成z减少。假设激活函数是tanh,则其图像在z很小时,是一个近似线性的图像,即结果趋于线性。

五、总结

本文主要是讨论样本的使用与正则化项,这些是在实际进行深度学习较为实用的内容。

另:已经开通博客园,方便我自己随时复习,朋友们如果想更方便的看历史文章,也欢迎到博客园 http://www.cnblogs.com/linhxx ,不过我比较懒。。两边一起编辑真的好麻烦,我主要还是会在这边发文章,然后阶段性的把文章同步过去。

——written by linhxx 2018.02.04

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2018-02-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户画像

支持向量机

版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。 https://blog.csdn.net/jxq0816/article/details...

491
来自专栏应兆康的专栏

23. 处理偏差和方差

1106
来自专栏杨熹的专栏

为什么要用交叉验证

本文结构: 什么是交叉验证法? 为什么用交叉验证法? 主要有哪些方法?优缺点? 各方法应用举例? ---- 什么是交叉验证法? 它的基本思想就是将原始数据(da...

3504
来自专栏机器之心

专栏 | MSRA视觉组最新研究:可变形卷积网络

MSRA 视觉组 作者:代季峰、齐浩之、熊郁文、李益、张国栋、胡翰、危夷晨 近日一篇名为《可变形卷积网络(deformable convolutional ne...

3358
来自专栏lzj_learn_note

机器学习课程笔记(一)

一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当有了经验E后,经过P评判,程序在处理T时的性能有所提升。

571
来自专栏生信小驿站

过拟合和欠拟合

监督式机器学习通常理解为逼近一个目标函数,此函数映射输入变量(X)到输出变量(Y).Y=f(X)。从训练数据中学习目标函数的过程中,我们必须考虑的问题是模型在预...

672
来自专栏机器学习算法与Python学习

机器学习(27)【降维】之主成分分析(PCA)详解

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 前言 主成分分析(Principal...

4636
来自专栏AI研习社

如何一步一步提高图像分类准确率?

一、问题描述 当我们在处理图像识别或者图像分类或者其他机器学习任务的时候,我们总是迷茫于做出哪些改进能够提升模型的性能(识别率、分类准确率)。。。或者说我们...

39810
来自专栏算法channel

BAR面试题6:LR和SVM的联系与区别

接下来,每天一道BAT面试题陪伴你,日积月累,相信大家会从中学到一些东西。最后希望你们顺利拿到理想的OFFER.

1052
来自专栏null的专栏

简单易学的机器学习算法——朴素贝叶斯

一、贝叶斯定理     1、条件概率         条件概率是指在事件B发生的情况下,事件A发生的概率,用 ? 表示。     2、全概率公式 image.p...

3065

扫码关注云+社区