结构化机器学习

1.引言

这一部分主要是学习怎样快速高效的优化机器学习项目,假如你想优化你的猫分类器系统,你可以:

  • 收集更多的数据
  • 增加数据的多样性
  • 梯度下降算法训练时间更长一些
  • 尝试不同的而优化算法,比如Adam
  • 尝试规模更大或更小的网络结构
  • 尝试加入Dropout
  • 加入L2正则
  • 修改网络结构,比如激活函数、隐藏单元个数等等
      当优化一个深度学习系统时,通常有很多的方法以供尝试,但是如果选择了一个错误的方向,往往会浪费大量的时间。

2.正交化

   这里的正交化的含义是每次尽可能的只调整一个影响因子,比如老式电视机屏幕控制按钮,控制高度、宽度、梯形、水平位置、旋转的按钮每个要独立控制单一属性,

而不要说一个按钮既可以同时控制所有的属性。

要调整好一个监督系统,需要确保四件事情:

训练的系统在训练集上有不错的结果
训练集上的表现必须通过某种评估,达到能接受的程度
对于某些应用可能意味着达到人类水平的表现
在成本函数上不能很好拟合训练集时,你想要一组按钮或一个特定的按钮来调整算法,让它很好的拟合训练集,比如你可以切换更大的网络或更好的优化算法比如Adam

开发集上有好的表现
训练集上的表现必须通过某种评估,达到能接受的程度
对于某些应用可能意味着达到人类水平的表
如果算法那对训练集很好但是开发集的拟合很差,你希望有一组或一个独立的按钮可以让系统在开发集上有好的表现,比如增大训练集

测试集上有好的表现
训练集上的表现必须通过某种评估,达到能接受的程度
对于某些应用可能意味着达到人类水平的表
在测试集上表现不好呢?可能是在开发集上过拟合了,可以选择更大的开发集合

实际应用中有好的表现
如果在测试集合上也表现良好,但是无法在实际应用中达到满意的结果,意味着需要改变开发集或成本函数,因为如果根据某个成本函数系统在测试集上做的很好,但是无法反应算法在现实世界中的表现意味着要么你开发集的分布设置不正确,要么成本函数测量的指标不对。

3.单一数字评估指标

在开始一个机器学习项目之前为项目设置一个数值评估指标,比如对于一个猫分类器,可以用准确率和召回率

  • 查准率(P):分类器分类为猫的图像中有多少确实为猫
  • 查全率(R):对于所有为猫的图像,分类器识别出的百分比

准确率和召回率是很好的指标,但是在实际应用中并不推荐使用查准率和查全率最为评估指标,比如有两个算法一个在查准率上表现更好一些,一个在查全率上表现更好一些,你就很难权衡两个算法的好坏,所以最好是能够制定一个单一指标的评价标准,F1score是一个结合查全率和查准率的指标,计算方式如下: \[F1=\frac{2}{\frac{1}{P}+\frac{1}{R}}\]

猜你喜欢

转载自www.cnblogs.com/nxf-rabbit75/p/9860334.html