目录
2.1 遗传算法(Genetic Algorithm,GA)
代码获取方式详见文末。
一、内容提要
在地学领域中,不同岩性的岩石识别通常是通过人工来实现,但这样比较耗费精力和时间。那我们就来看看机器学习会给岩石图片识别带来怎样的变化。
因此,今天笔者想要分享的是基于遗传算法优化的BP神经网络在岩石图片识别中的应用与代码实现。
首先解释一下为什么要选择基于遗传算法优化的BP神经网络。这是由于BP(Back Propagation)网络总是沿着负梯度的方向下降,导致BP网络很容易陷入局部的极小值,无法得到全局最优解。而遗传算法(Genetic Algorithm, GA)在解决无约束非线性优化问题上性能强大,通常能最大程度逼近全局最优解。
接下来分别简单介绍一下遗传算法和BP神经网络。
二、算法简介
2.1 遗传算法(Genetic Algorithm,GA)
科普中国·科学百科定义:遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程 [1]。
遗传算法,简单理解就是通过计算机模拟大自然中的种群在选择压力的进化过程,最终获取某个问题的最优解。
此处分享一个较为生动的例子来帮助大家理解:
假设有一群小鸟在一片山峰中觅食,只有在最高的山峰上才有最多的食物,越低的位置食物越少、生存环境越恶劣。因此,低海拔山上生存的小鸟活下来的概率越低,而在高峰位置上的小鸟生存下来和继续繁衍后代的概率越高。经过很多年的繁衍和选择后,小鸟们会被归拢到一个个相对较高的山峰上(这个山峰则可以被称为局部最优解,见图1A、C点)。如果小鸟的种群规模足够大,最终则会有种群在最高峰上生存下来,这个点也就是全局最优解(如图1中B点所示)。
遗传算法的步骤有以下几个关键点:
-
首先是随机挑选初始种群(随机选择一群小鸟);
-
再使用适应度函数对初始种群中的个体打分,并根据个体对环境的适应程度进行选择;(适应度越强,生存能力越高,被选择的概率越大,小鸟在山峰高处适应度越强)
-
然后从种群中选择两个个体作为父方和母方,抽取父母双方的染色体,进行交叉,并产生后代;
-
随机选择个体与染色体中的点位进行变异;
-
重复3、4步骤,直至样本满足条件。
算法流程图参见下面图3左侧。
2.2 BP(Back Propagation)神经网络
科普中国·科学百科定义:BP神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一[2]。