zoukankan      html  css  js  c++  java
  • 训练神经网络的处方


    翻译自Andrej Karpathy blog

    处方

    在实践中,我们从简单到复杂构建模型,并且在每一步我们对将要发生的具体事情进行预测,通过实验进行验证并且通过调查发现问题。一定要防止同时引入许多未经验证的猜想,否则总是会在查找问题。一开始,要使用较小的学习率,并每一步都要评估测试集上的表现。

    1 不要一开始写代码

    我习惯花费很多时间去观察样本,了解数据的分布并寻找模式。我们的大脑擅长做这些。我会寻找数据的不平衡和差异,我会注意分类数据的过程,这个过程暗示了各种可能的框架。局部的特征是否足够,我们是否需要全局的文本呢?有多少变化,采取了什么样的形式?什么变化是虚假的,可以预处理?空间位置是否重要,或者我们是否想要将其平均化?细节有多重要,我们可以多大程度上对数据进行缩减采样?有多少标签是噪声?

    此外,由于神经网络是原始数据的压缩(编译),因此能够查看网络(错误)预测的并了解他们的来源。如果你的网络给你的预测看起来与在数据中不一致,那么就会有所收获。

    一旦从数据中发现规律,可以编写一些代码对他们进行搜索、过滤、排序。把数据可视化能帮助我们发现异常值,而异常值总能揭示数据的质量或预处理中的一些错误。

    2 设置端到端的训练评估框架

  • 相关阅读:
    机器学习实践笔记3(树和随机森林)
    Cocos2d-x3.1回调函数具体解释
    base 64 编解码器
    HDU 4915 Parenthese sequence _(:зゝ∠)_ 哈哈
    跟我extjs5(03--在项目过程中加载文件)
    备份和还原数据库
    Android学习–Android app 语言切换功能
    Android app内语言环境切换
    Android学习–Android app 语言切换功能
    swift:自定义UICollectionViewFlowLayout
  • 原文地址:https://www.cnblogs.com/flightless/p/10780447.html
Copyright © 2011-2022 走看看