深度学习同分布假设原因?何时可以弱化?

       博主之前写过一篇类似的文章,不过还是不够清晰直观,本文将进一步直观的解释,为什么需要独立同分布假设,以及什么时候该假设可以弱化。

       机器学习的根本目的是为了拟合features和label之间的函数关系,即y=f(x_1,x_2,...,x_k,x_k+1,...,x_n),目的是通过样本数据、模型和优化算法,拟合出f,然后再用拟合得到的f去做预测。因此,好的拟合有三要素:高质量的样本数据、理论可得到f的模型或者对f形式的合理预设以及合适的优化算法。

       高质量的样本数据往往是基础,原料不好,再好的模型也无能为力,所谓garbage in, garbage out. 高质量的样本数据往往是指可以真实反映f的数据,也就是噪音尽量少的数据,这涉及到样本数据要正确的测度、采集,正确的标签等。此外,在保证质量的前提下,样本数据量越多越好,这有助于对f的正确估计。

       一个好的模型,要么对f做出来正确合理的形式假设,如果不对f的形式做任何的假设,那么模型理论上应该可以通过数据拟合出真实的f,比如神经网络理论上就可以逼近任何的函数,只要数据量足够大;因此,在大数据时代,神经网络的强大从理论走向了现实应用。

       怎么定义一个优化算法的好坏,这里往往指的是优化的效率、可以较好的避免局部最优陷阱等。因为理论上,一个优化算法的基本要求就是凸优化问题下可以找到全局最优解,因此对比不同的优化算法,就在优化效率上进行对比。针对不同的问题,不同的优化算法具有不同的优势,因此并没有哪一种优化算法是绝对最优的,还需要具体问题具体分析。

       前面提到机器学习的根本目的是为了拟合出f,然后预测,因此,一切的假设条件都是为了这个目的。假设我们可以拟合出完美的f,所谓完美的f就是指在x定义域内,我们都正确的得到了x和y的关系,如果是这样的话,那么不管预测集和训练集是不是同分布的,只要x和y的关系没有变化,理论上我们都可以得到正确的y,实际上这时候,对分布已经没有要求了,只对f的不变性有要求。当然,f的不变性,即在训练集和预测集x和y的关系保持不变的最基本的假设,如果这个假设都不成立,那么理论上预测这件事就不成立了。

       所以之所以需要这个假设,就是因为完美的拟合在现实中是不存在的,而且,也只有当拟合越逼近这个完美的程度,这个假设才可以越弱化。首先,我们看下在不完美拟合的情况下,预测集分布和训练集分布不同会发生什么,然后我们再说明为什么现实中完美拟合不存在,以及如何去逼近完美拟合。

       如下图所示。现假设真实的f如图1所示,也就是完美拟合的f;图2是经过样本数据拟合得到的f;图3画出了训练集的分布,这里假设样本x类似一个0均值的正太分布,发现在2sigma范围内,拟合的不错,因为大部分的样本都集中在这个范围内,当样本超过2sigma范围时,发现拟合的f都趋于平缓,这是神经网络学习的特点,当输出层使用sigmoid激活时,在样本少或者没有学习到的范围,f整体都是相对平缓的,若使用的是relu,则是线性增加或减少的,因此在没有学习到的范围,f的形状取决于输出层的激活函数的选取。图4表示的是一个和训练集分布不同的预测集,发现用训练集拟合到的f去预测这个预测集,效果会很差,只有左侧一小部分的预测样本会得到较好的预测,其他的绝大部分样本的预测效果都很差。

       由此我们看到,由于不完美拟合,当预测集的分布较大的偏离了训练集,预测效果就会大打折扣。这里不完美拟合指的是,在训练集分布较少的区域,整体的拟合效果是较差的,因此如果预测集的分布偏离使得大部分样本集中在之前训练集较少训练到的区域,自然预测效果就会很差。因此,我们希望预测集和训练集的分布应该是一样的,或者说是相当接近的。

       接下来说明一下不完美拟合的原因,主要有三个:数据噪音、样本量不足和训练方式。第一点是数据噪音。现实中,数据噪音总是存在的,噪音主要来源于两个方面,最明显的一方面是数据的测度和采集误差,即错误的记录样本数据、错误的记录标签等,从而导致数据加入了噪音,而且这类噪音在现实中往往是难以完全避免的,只能尽量减少;第二方面是来源于因子数不足或者不全,比如实际上y受n个因素的影响,但是模型中只考虑到了k个,可能是因为剩下的因子难以测度缺少数据,或者就是没有考虑到;由此,相同的由k个因素组成的样本,或者很靠近的区域内样本,但是y值确呈现不同的值,或者呈现较大的波动,这是因为即使不同样本k个因素取值相近,但是剩下n-k个因素却不一样,剩下的因素我们没有数据无法控制,因此即使相同的样本,y会呈现出一种随机性,从而产生所谓的噪音。

       第二点是样本量不足。样本量越多,分布越稠密,拟合会越准确,越不容易过拟合。样本太少就容易受噪音影响,容易过拟合。因为打败噪音最有效简单的方式还是增加样本量。此外,样本数据足够多,那么即使是在分布较少的区域,也会获得更好的拟合效果,这是从抵消噪音的角度层面看;此外还可以适当的平衡样本的分布,使得原分布较少的区域获得更好的拟合,但是要注意不能对原来分布较多的区域的预测表现有较多的损失,这点需要权衡,但是数据量越多,相同的平衡比例对原始分布较多区域的表现损失是会更小的,基本理由就是数量可以打败噪音。平衡样本分布的目的是为了对分布较少区域有更好的拟合和预测,这可以使得模型对预测集的分布偏离更加稳健,也可以对我们可能比较关注的但是分布更少的样本有更好的预测(比如分类任务中的样本不平衡问题),对于样本平衡,要注意不一定完全平衡,使其均匀分布,这样的预测效果往往不好,我们还是需要尽量尊重原始数据集的分布,采取一个平衡比例,这个比例作为超参数去调整。因为预测集分布往往和原始训练集相差不大,如果我们平衡了训练集,但是预测集还是原始分布,这会使得预测集分布较多的区域并没有更好的训练拟合,反而分布较少的区域拟合不错,这会使得分布较多的大部分样本的预测效果较差,从而整体效果下降。

       第三点是训练方式。在一定的样本量下,不同的训练方式会得到不同的结果,这里具体涉及到模型、样本数据处理、优化算法、正则化、早停等,不同的模型,尽管理论上可以拟合,但是训练效率是不一样的,数据是否标准化、如何标准化,选择怎样的优化算法、学习率的设置,是否对权重正则化、选择怎样的正则化,是否dropout,选择什么样的指标早停,分类还是回归等等。这里有许多经验性的或者直觉性的东西,也比较考察队深度学习模型的理解,需要具体问题具体分析。训练方式会影响学习效率,从而影响预测结果。但不管何种训练方式,往往存在随机因素,比如优化算法中的SGD,或者基于SGD的其他优化算法,总是难以准确的达到全局最优点,这会使得完美拟合总是只能逼近,难以达到。

       何时可以弱化同分布假设呢?其实前面已经说过了,要么尽量逼近完美拟合,要么调整训练集的分布。当然,这些共同的方式就是,提高数据质量、增加数据量,调整分布,使得分布均衡一些,或者已知预测集分布,调整分布使得靠近预测集分布一些。总体来说,具体的方式从上述三点着手。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值