美文网首页
学习笔记:Python深度学习

学习笔记:Python深度学习

作者: zhaosonghui | 来源:发表于2020-03-06 21:15 被阅读0次

机器学习基础

过拟合和欠拟合

  • 机器学习的根本问题是optimization和generalization之间的对立,所谓optimization,即在训练数据上获得最佳性能,所谓generalization,即模型在未见的数据集上的性能。
  • 欠拟合:训练数据上损失越小,测试数据上的损失也越小,此时模型欠拟合
  • 过拟合:即在训练数据上迭代一定次数之后,generalization不在提高,模型开始学习仅和训练数据有关的模式,此时开始过拟合
  • 防止模型过拟合的方法
    1. 获取更多的训练数据,也是最优的方法
    2. 减小网络大小

    即减小模型中科学系的参数(由层数和每层单元数决定), 迫使模型只学习记忆具有很强预测能力的压缩表示,但也主要避免因网络过小造成的欠拟合,具体实施则可以先使用较少的层和参数,然后逐渐增加层的大小或新层,直到在验证数据集上损失变得很小

    1. 添加权重正则化

    通常简单模型比复杂模型更不容易过拟合,因此可以强制让魔心权重只能取最小的值,从而限制模型复杂度.
    具体实现就是想网络损失函数中添加较大权重值的成本,有两种形式L1正则化L2正则化,即成本分别于权重系数的绝对值和平方成正比。

    1. Dropout正则化

    即训练过程中,随机将该层的一些输出特征舍弃。

机器学习通用工作流程

  1. 定义问题,收集数据集
  2. 衡量指标选择
  • 衡量成功的指标选择合适的损失函数
    • 平衡分类问题,精度和AUC是常用的指标
    • 不平横分类问题,precision和recall是合适的指标
    • 排序和多标签分类,mean average precision是合适的指标
  1. 确定评估方法
  • hang-out validation: 即流出部分数据作为验证数据
  • k-fold validation
  • Iterated k-fold validation with shuffling :具体操作就是使用多次(P) K-fold validation,只是每次划分前都将数据随机打乱,需训练P x K个模型
  1. 准备数据
  • 数据格式化为张量
  • 张量的取值应该缩放为较小的值,如min-max normalization
  • 异质数据要进行数据的Standardizate
  • 考虑特征工程
  1. 模型开发
  • 参数选择
    问题 最后一层激活 损失函数
    二分类问题 sigmoid binary_crossentropy
    多分类、单标签 sofmax categorical_crossentropy
    多分类、多标签 sigmoid binary_crossentropy
    回归 不需 mse
    0-1 回归 sigmoid mse/binary_crossentropy
  1. 过拟合模型
  • 添加更多的层
  • 每一层更大
  • 训练更多轮次

以找到欠拟合和过拟合的分界线

  1. 正则化、调解超参数
  • dropout
  • 增加或减少参数
  • L1或和L2正则化
  • 尝试不同的超参数
  • 特征工程

确定模型的参数之后,就可以在所有可用数据上(训练数据 + 验证数据)上训练最终的模型

相关文章

  • keras学习-nlp (1)

    keras学习-nlp (1) 书籍《Python深度学习》——笔记小结 与其他所有神经网络一样,深度学习模型不会...

  • 20个有趣的Python深度学习应用程序

    1.顶级Python深度学习应用程序 在这个使用Python的深度学习中,我们将看到使用Python进行深度学习的...

  • 学习笔记:Python深度学习

    机器学习基础 过拟合和欠拟合 机器学习的根本问题是optimization和generalization之间的对立...

  • 反馈神经网络

    1、Reference 多层感知机MLP(机器学习5)多层感知机原理详解 & Python与R实现深度学习笔记——...

  • 学习笔记:Python深度学习----深度学习实践

    深度学习用于计算机视觉 卷积运算 密集连接层和卷积层的根本区别在于Dense层从输入特征空间学习到的是全局模式,c...

  • python深度学习笔记

    机器学习可以浅显地分为浅层学习和深度学习 浅层学习是决策树和SVM等,也就是西瓜书里的大部分内容,目前最好的浅层学...

  • (1) python数据类型

    (一) 笔记介绍 这里是python的深度学习版本,主要是针对深度学习进行。这里面可能需要一点点的编程基础,不然节...

  • python学习笔记目录

    Python学习笔记目录(倒序) Python学习-异常 Python学习-面向对象 Python学习-文件系统 ...

  • 鱼的机器之旅——开发环境(keras pytorch)

    最近打算学习下深度学习框架 keras、pytorch,考虑到本机笔记本装的是 python 3.7,会有版本环境...

  • 本周(1.7-1.13)半价电子书

    《Python深度学习》 [英] 尼格尔·刘易斯(N.D. Lewis)著 本书是使用Python 进行深度学习实...

网友评论

      本文标题:学习笔记:Python深度学习

      本文链接:https://www.haomeiwen.com/subject/losnrhtx.html