Standard机器学习-机器学习的应用实例

Source
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Forlogen/article/details/87787520

在学习了有关机器学习的算法和相关的知识后,了解一下机器学习的几个应用场景。最常见的一个应用就是图像文字的识别,通过在给定的图片中运行算法,来给出图片中存在的文字。
在这里插入图片描述
主要的步骤如下所示:
• 文字的侦测:识别出图片中文字的范围,利用矩形框等将其与其他的环境对象分隔开
• 字符的切分:在侦测到文字的范围后,需要将其切割成一个个单一的字符
• 字符的分类:确定上一部分割的字符是什么
在实际使用中,常采用流水线的方式,每一个部分安排相关的人员完成,有利于提高效率。

在这里插入图片描述
那么如何在第一步侦测到文字的范围,或是在行人检测中侦测到行人在图片中的位置呢?一种常用的技术就是活动窗口。假设在行人检测中,首先用许多固定尺寸的图片训练一个能够准确识别行人位置的模型,然后使用模型在我们要进行识别的图片上进行裁剪,将结果交给模型判别是否为行人,然后移动滑动窗口重新裁剪,再将新的切片交给模型判断,直到循环将图片检测完毕。
在这里插入图片描述
在文字识别中,首先训练模型分别字符和非字符,接着使用滑动窗口切割属于字符的部分,将结果交由模型识别。一旦完成了字符的识别,我们将识别的得出的区域进行一些扩展,然后将重叠的区域进行合并。接着以宽高比作为过滤条件来过滤掉高度比宽度更大的区域。比如下面的图片经过识别,认为红线圈住的的区域是文字的部分,而其他的区域应该被忽略
在这里插入图片描述
接下来模型需要识别切割的部分是不是一个完整的字符,那怎么做呢?给模型一些完整的字符的例子和一些不完整的例子,训练模型。完成之后使用滑动窗口技术来进行字符的识别
在这里插入图片描述
最后使用其他的分类模型进行字符的识别

在这里插入图片描述
如果我们的数据足够的低方差,那么用来训练模型就可以得到比较好的效果。但是如何来获得更多的数据,有时直接过去并不容易,这时我们就可以人工的来创造数据。比如我们可以利用电脑中不同的字体,利用这些字体配上不同的背景图来创造,只要时间够,就可以创造足够多的数据
在这里插入图片描述
或者利用现有的数据进行一些平移、拉伸等操作,只要我们认为实际数据有可能和经过这样处理过后的数据类似,我们就可以使用这样的数据
在这里插入图片描述
总结一下获取更多数据的方式:人工合成数据、手动收集标记数据、众包
在这里插入图片描述
在机器学习的复杂的应用中,我们通常需要经过多个步骤才能完成模型的学习,那么如何知道哪一部分值得我们花时间和精力去改进,从而提升整体模型的效果呢?比如之前的文字识别例子,图中每一部分的输出都是下一部分的输入,手工提供100%正确的输出结果,然后看整体上是否有提升。

假设现有的例子总体效果的准确率为72%,如果令文字侦测部分的输出为100%,发现整体准确率调高了17%,这表示它值得去花时间改进;接着同理让字符切割的部分输出为100%,发现整体准确率只提高了1%,那就不值得;最后让字符分类的输出为100%,发现整体的准确率提高了10%,表示值得去花时间。

总之我们需要根据不断地实验和往常的经验来判断哪一部分改进后对于整体的效果有比较大的提升
在这里插入图片描述
最后老师对于本门课的知识做了一个总结,终于赶在开学前对这门课做了一个总结,有强迫症的人难受啊~~~
在这里插入图片描述