51.选择管道组件之任务简单化 翻译自 吴恩达新书-Machine Learning Yearning

更多好玩的机器学习教程: 进入袋马学院领一份 ,全部免费.

除了数据可用性以外,考虑流程中组件时,你还需要考虑一个因素:单个组件解决问题的简单程度。你应该试着选择那些容易构建和学习的组件。那什么叫做组件易于学习呢?
51.选择管道组件之任务简单化 翻译自 吴恩达新书-Machine Learning Yearning_第1张图片
看看下面几个机器学习任务,按难度递增的顺序排列出来:

  1. 判断图片是否曝光过度
  2. 判断图片是在室内拍摄的还是在室外拍摄的
  3. 判断图片中是否含有猫
  4. 判断图片中的猫是否有黑色和白色的毛
  5. 判断图像是否包含暹罗猫(一种特殊的猫)

上面这些都是图形二分类任务:输入一幅图像,输出0或1。但是列表中前几个,对于神经网络来说相对容易学习。你可以通过很少的样本集就可以完成到前几个任务。机器学习中,还没有一个很好的正式定义,什么样的任务难,什么样的任务简单。随着机器学习和神经网络的兴起,我们说,如果训练的步数很少(或神经网络很浅),任务就可以完成,那么我们称任务简单。如果训练需要更多的步数(或更深的网络),则我们说任务很难。但是这些都是非正式的定义。

如果你能将一个复杂的任务,拆分成几个简单的子任务,然依据简单的子任务进行编码,通过给你的算法提供先验知识,可以帮助你的算法更有效的学习这个任务。
51.选择管道组件之任务简单化 翻译自 吴恩达新书-Machine Learning Yearning_第2张图片
假如你正在构建一个暹罗猫检测器,下面是一个端到端的结构:
端到端结构
你也可以使用两步来完成这个任务:
非端到端流程
第一步先检测图片中的所有猫。
51.选择管道组件之任务简单化 翻译自 吴恩达新书-Machine Learning Yearning_第3张图片
第二步将每只猫裁剪出来,然后通过特殊猫咪检测器,检测每一只猫,如果有暹罗猫,则输出1.
51.选择管道组件之任务简单化 翻译自 吴恩达新书-Machine Learning Yearning_第4张图片

相对于纯端到端系统,只是用0/1标签,使用两个组件:猫咪检测器和特殊猫咪分类器,似乎更容易学习且需要的数据量更少。

最后一个例子,让我们回到自动驾驶流程中:
51.选择管道组件之任务简单化 翻译自 吴恩达新书-Machine Learning Yearning_第5张图片

通过使用这个流程,你告诉算法执行三个关键步骤来实现自动驾驶:

  1. 检测其他汽车
  2. 检测路上行人
  3. 行车路线规划

这三个步骤中,每一步都相对简单,相对纯端到端系统,所需的数据量也更少。

总的来说,当你决定流程采用哪些组件时,尽量选择相对简单的组件,这样可以使用更少的数据,就可以学习了。

你可能感兴趣的:(吴恩达-YEARNING)