zoukankan      html  css  js  c++  java
  • 《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)

    《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)

    一、总结

    一句话总结:

    减小网络大小
    添加权重正则化
    添加 dropout 正则化

    1、机器学习的根本问题?

    优化和泛化之间的对立:机器学习的根本问题是优化和泛化之间的对立。

    2、机器学习的根本问题是优化和泛化之间的对立:优化和泛化分别指什么?

    训练数据最佳性能:优化(optimization)是指调节模型以在训 练数据上得到最佳性能(即机器学习中的学习)
    测试数据性能好坏:泛化(generalization)是指训练好的模型在 前所未见的数据上的性能好坏。

    3、训练开始时,优化和泛化是相关的?

    训练和测试数据损失都小:训练数据上的损失越小,测试数据上的损失也越小。 这时的模型是欠拟合(underfit)的,即仍有改进的空间,网络还没有对训练数据中所有相关模式建模。

    4、解决过拟合的最好方法?

    获取更多数据:为了防止模型从训练数据中学到错误或无关紧要的模式,最优解决方法是获取更多的训练 数据。模型的训练数据越多,泛化能力自然也越好。
    【调节模型允许存储的信息量、对模型允许存储的信息加以约束】:如果无法获取更多数据,次优解决方法是 调节模型允许存储的信息量,或对模型允许存储的信息加以约束。
    迫使模型学习最重要的模式:如果一个网络只能记住几个 模式,那么优化过程会迫使模型集中学习最重要的模式,这样更可能得到良好的泛化。 这种降低过拟合的方法叫作正则化(regularization)

    5、防止过拟合的最简单的方法就是减小模型大小?

    减少模型中可学习参数的个数:防止过拟合的最简单的方法就是减小模型大小,即减少模型中可学习参数的个数(这由层 数和每层的单元个数决定)。

    6、网络模型的容量 ?

    模型中可学习参数的个数:在深度学习中,模型中可学习参数的个数通常被称为模型的容量 (capacity)。

    7、深度学习模型真正的挑战在于泛化?

    泛化就是你和测试数据:深度学习模型通常都很擅长拟合训练数据,但真正的挑战在于泛化,而不是拟合。

    8、欠拟合和过拟合的资源解释?

    欠拟合:容量不足
    过拟合:容量过大

    9、越大的网络是不是越好(不是,要选择合适的网络)?

    【小网络过拟合慢,过拟合增长慢】:更小的网络开始过拟合的时间要晚于参考网络,而且开始过拟合之后,它的性能变差的速度也更慢。
    【大网络过拟合快,过拟合更严重】:更大的网络只过了一轮就开始过拟合,过拟合也更严重。其验证损失的波动也更大。 ,更大网络的训练损失很快就接近于零。 网络的容量越大,它拟合训练数据(即得到很小的训练损失)的速度就越快,但也更容易过拟合 (导致训练损失和验证损失有很大差异)。

    10、奥卡姆剃刀(Occam’s razor)原理?

    简单即好:如果一件事情有两种解释,那么最可能正 确的解释就是最简单的那个,即假设更少的那个。
    【简单模型比复杂模型更不容易过拟合】:这个原理也适用于神经网络学到的模型:给定一些训练数据和一种网络架构,很多组权重值(即很多模型)都可以解释这些数据。简单模 型比复杂模型更不容易过拟合。

    11、权重正则化(降低过拟合)?

    熵或参数更少:这里的简单模型(simple model)是指参数值分布的熵更小的模型(或参数更少的模型,比 如上一节的例子)
    【强制让模型权重只能取较小的值】:因此,一种常见的降低过拟合的方法就是强制让模型权重只能取较小的值, 从而限制模型的复杂度,这使得权重值的分布更加规则(regular)。这种方法叫作权重正则化 (weight regularization),
    l1或l2正则化:这种方法叫作权重正则化 (weight regularization),其实现方法是向网络损失函数中添加与较大权重值相关的成本(cost)。

    12、L1 和 L2 正则化 实例?

    L1正则化:regularizers.l1(0.001)  
    同时做L1 和 L2 正则化:regularizers.l1_l2(l1=0.001, l2=0.001)

    13、由于这个惩罚项只在训练时添加,所以这个网络的训练损失会 比测试损失大很多?

    【惩罚项只在训练时添加】:l2(0.001) 的意思是该层权重矩阵的每个系数都会使网络总损失增加 0.001 * weight_ coefficient_value。注意,由于这个惩罚项只在训练时添加,所以这个网络的训练损失会 比测试损失大很多。

    14、Hinton dropout灵感之一来自于银行的防欺诈机制?

    成功欺诈银行需要相互合作:我去银行办理业务。柜员不停地换人,于是我 问其中一人这是为什么。他说他不知道,但他们经常换来换去。我猜想,银行工作人员要想成 功欺诈银行,他们之间要互相合作才行。这让我意识到,在每个样本中随机删除不同的部分神 经元,可以阻止它们的阴谋,因此可以降低过拟合。

    15、dropout核心思想?

    【在层的输出值中引入噪声】:其核心思想是在层的输出值中引入噪声, 打破不显著的偶然模式(Hinton 称之为阴谋)。
    【记住偶然模式】:如果没有噪声的话,网络将会记住这些偶然模式。

    二、内容在总结中

    博客对应课程的视频位置:

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    剑指offer 39. 是否为平衡二叉树
    剑指offer 38. 二叉树的深度
    剑指offer 16. 合并两个有序链表
    剑指offer 15.链表反转
    剑指offer 58.对称的二叉树
    剑指offer 62. 二叉搜索树的第 k 个结点
    二叉树的前序和中序遍历的非递归实现
    将求模运算转换成与运算,加快运算速度
    Java中数字的格式化输出
    Java中的freopen()
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13779863.html
Copyright © 2011-2022 走看看