吴恩达深度学习学习笔记-7建立神经网络

1. 训练神经网络
训练神经网络时,需要做许多决策。例如,

  • 有多少层网络
  • 每层含有多少个隐藏单元
  • 学习率
  • 各层采用哪些激活函数

这些决策无法一次决定好,通常在项目启动时,我们会先有一个初步想法,然后编码,并尝试运行这些代码,再根据结果完善自己的想法,改变策略。
吴恩达深度学习学习笔记-7建立神经网络_第1张图片
2. train/dev/test sets
通常把数据分为训练集,验证集,测试集。
我们用训练集数据训练模型,用验证集做hold out cross validation,选择最好的模型,最后在测试集上进行评估。
在小数据量做机器学习时,例如只有10000条数据,如果没有dev set,可以按70/30的比例划分数据,如果有dev set,可以按60/20/20的比例划分。
在大数据量,dev and test set比例会很少,例如1百万数据量,可以拿出1万作为验证集,1万作为测试集。
3.mismatched train/test distribution
例如,建立一个网站允许用户上传猫狗的照片,并对照片进行分类。train set来自网络抓取,可能照片像素很高,精修图之类的,dev和test set是用户自己拍的猫狗照片,可能像素不高,甚至模糊。对于这种情况,建议是,dev set 和test set 数据来自相同的分布。
最后说明一点,即使没有test set只有dev test也不要紧。test set的目的,是对最终选定的神经网络系统做出无偏评估 unbiased estimate,如果不需要无偏评估,也可以不设置测试集。我们要做的是,在训练集上训练,尝试不同的模型框架,在验证集上评估这些模型,然后迭代并选出最优模型。

你可能感兴趣的:(吴恩达深度学习学习笔记,神经网络,深度学习,人工智能,机器学习)