流程图,上限分析"/>
任务流程图,上限分析
一、任务流程图
任务流程图在我们的机器学习中是十分重要的,它可以帮助我们理顺思路,并且辅助分析。
下面我们以图像文字识别的例子来说明。
给定一张图片,如下所示:
为了识别出图片中的文字,需要采取如下的步骤:
1.文字侦测(Text detection)-----将图片上的文字与其他环境对象分离开
2.字符切分(Character segmentation)-----将文字分割成一个个单一的字符
3.字符分类(Character classification)-----确定每一个字符是什么
以上步骤,可以用任务流程图来表达,如下:
二、滑动窗口技术
滑动窗口技术可以用在很多领域,比如人脸识别,文字识别(文字侦测)。
在文字识别中,我们首先训练模型能够区分字符与非字符,然后,运用滑动窗口技术识别字符。
我们先用小的固定长宽的区域,从上到下,从左到右扫描整个图片,识别出字符,这一轮检测之后。我们再按比例放大用来扫描的区域,再次扫描,如此循环下去。
一旦完成了字符的识别,我们将识别得出的区域进行一些扩展,然后将重叠的区域进行合并。接着我们以宽高比作为过滤条件,过滤掉高度比宽度更大的区域(通常单词的宽度比高度大)。下图中,绿色的区域是经过这些步骤后被认为是文字的区域,而红色的区域是被忽略的。
三、上限分析
通过流程图,我们知道通常需要许多步骤才能进行最终的预测,那么我们怎么知道哪一部分值得我们花费和精力去改善,而哪一部分不需要?这个问题可以用上限分析来回答。
上限分析中,我们选取一部分,手工提取100%正确的输出结果,然后看应用到整体,效果提升多少。
我们依然以图片识别文字的例子。
如果我们令文字侦测部分输出的结果100%正确,发现系统总体效果从72%提高到了89%。这意味着我们很可能会希望投入时间精力来提高我们的文字侦测部分。
接着我们手动选择数据,让字符切分输出的结果为100%正确,发现系统的总体效果只提升了1%,这意味着,我们的字符切分部分可能已经足够好了。
最后,让字符分类输出的结果100%正确,系统的总体效果又提升了10%,这意味着我们也会投入时间精力来提高应用的总体表现。如下:
通过上限分析,可以让我们知道每一个模块具体能对总体产生多大的贡献,值不值得我们耗费时间精力去想办法提升。这对于我们在实际开发机器学习系统而言,是十分重要的,可以避免浪费时间。
更多推荐
任务流程图,上限分析
发布评论