利用机器学习识别细碎图斑实战(2):技术路线

本节主要讲利用机器学习做细碎图斑识别的技术路线,我们以后将按照这个技术路线完成整个过程。

 

首先看看整个技术路线图:

 

利用机器学习识别细碎图斑实战(2):技术路线

整个流程总共分成七个步骤,这七个步骤也是项目分析类任务的标准流程,下面我们简单来解释一下七个步骤的内容。

首先,作为任何一个项目,最重要的当然是对项目需求的理解,正所谓的“名不正则言不顺,言不顺则事不成”,所以第一件事就是要理解咋们准备干嘛。

 

在数据分析类的项目中,以机器学习一类的项目最为繁琐,因为机器学习的项目里面,对于数据的特征选择和模型的训练,都非常的耗费时间,如果不能很好的理解任务,不能很好的限定项目的边界,随意的去试错,会带来很严重的成本开销,这一点是无法忍受的。

 

我们对这个项目的理解,分为如下内容:

1、需要做些什么事情?

咱们这个项目,主要是为了在一系列地类图斑里面,去识别出一些特殊的图斑,包括了细碎、形状怪异、严重不规则的、可以省略掉的等(用客户粑粑的话来说,就是去掉一切“不顺眼”的图斑)。

 

2、怎么样才能算成功了?如何定义成功的标准。

只要把大部分“不顺眼”的图斑都挑出来,就算成功了。

(题外话:仅仅需要我们把那些不顺眼的图斑给标识出来,不需要删除掉,也不需要进行融合,只需要识别出来,之后怎么处理,是后面要做的事情)

 

3、目前有些什么有利和无利的条件,如何来应对?

当然,首先肯定是要有数据,给了一系列的数据(几十万个地类图斑)。

其次,我们选定了技术手段,采用机器学习的方式,利用基于随机森林的分类算法(当然,以后也可也尝试用其他的分类算法),识别哪些是“不顺眼”的,哪些是“顺眼”的。

问题是,这些数据里面,那些图斑属于“不顺眼”的图斑,在具体看见之前,不知道,没有指标,没有阈值。

 

4、结果怎么表达?

把识别出来的图斑进行信息统计,然后做可视化出来就可以了。

 

5、步骤和里程碑分别是什么?

整个项目分成7个阶段,其中设计实际技术实现一共有六个阶段,每个阶段的内容如下:

1、数据处理阶段

获取、清洗、理解数据。数据是客户提供的,以及完成了地类图斑建库的数据,所以清洗就不用了,但是我们还需要把数据处理为程序可以识别的数据,作为空间数据,最简单的就直接采用shapefile进行承载即可。

之后需要对数据进行简要的探索性分析,确定各种极值以及分布情况。

 

2、特征库构建

选定哪些特征指标,来对图斑进行表达,这是机器学习里面最重要的一个步骤,特征工程是机器学习的基础,如何进行特征库构建,也是机器学习从业者水平的一个硬性标尺。

 

特征库的构建,包括了特征选择、特征提取、特征量化等多个步骤,特征工程的好坏,直接决定了原始数据能够在机器学习项目中发挥多大的效能,大部分时候好的特征库对算法和性能的提升,都远大于在模型构建的投入——根据奥卡姆剃刀原理:如无必要,勿增实体,越简约越好,所以,很多时候,复杂的模型反而不如简单模型的效果更好。

 

利用机器学习识别细碎图斑实战(2):技术路线

3、样本库的构建

既然无法把“不顺眼”这个形容词用量化的方式进行固定,样本库就只能通过人工的方式进行分类识别。通过人工的方式,把一批“不顺眼”的图斑给挑出来,作为训练样本和验证样本。

 

利用机器学习识别细碎图斑实战(2):技术路线

4、模型训练

这一步就是通过算法来实现了,本来可以用ArcGIS Pro提供的随机森林分类工具来实现的,不过鉴于很多同学用不了ArcGIS Pro,所以选择更普世的工具:Python 的sklearn包来实现分类模型的训练和验证。

 

利用机器学习识别细碎图斑实战(2):技术路线

5、模型的优化

对模型进行反复迭代,并且统计每次迭代的新模型的情况,验证模型的有效性,通过观察误差样本,分析误差产生的原因(是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题 …)来对模型进行调整和优化。

 

在这一步的时候,可以尝试使用真实数据(而非挑选出来的样本)进行尝试了,并且人工验证模型性能,并且适量的添删样本库里面的样本信息,并且重新训练模型。

 

6、执行模型。

执行模型,完成分类识别。

之后对结果进行自动检验(统计分析方法)和人工检验(随机抽检)。并且进行制图和可视化。

 

以上六个步骤,就是我们整个项目实战的详细技术步骤,后面我们将逐步展开,把每个步骤的实现方式给大家逐一讲解,以揭开机器学习这个普适性技术神秘的面纱。

利用机器学习识别细碎图斑实战(2):技术路线

(大家猜猜上图是哪个电影里面的场景,可以在文后留言)

待续未完。