一种基于大数据的极限学习机在茶叶产量预测中的研究与应用
2020-12-22郑志学
郑志学
(河南工业和信息化职业学院信息工程系,河南焦作454000)
面向企业供应的茶叶生产基地的茶叶产量一直以来都是茶叶生产企业关注的重点,茶叶基地的产茶量影响着茶叶企业当年的许多生产与销售策略,如茶叶相关产品的定价、茶叶运输的方式、茶叶产品储存的时间、茶叶产品定位以及茶叶从业人员的工资定位等方面[1]。因此通过一定的技术手段较为精确的预测当年产茶基地的茶叶总产量,一方面能够够帮助企业合理进行茶叶生产资源的准确调度,另一方面能够使企业为相关茶叶产品拟定合适的销售价格,让企业能够实现生产资料的运用最优化和销售利润的最大化,故茶叶产量的精确预测一直是茶业生产企业关注的重点[2]。较为经典的预测算法有2014 年Gupta 提出一种基于时间序列向量回归模型与数据挖掘技术相结合的预测方式也能较为准确的预测产量结果。2017年Martin等使用两步机器学习的方式通过对数据进行自动化的驱动来对产量进行预测[3]。2019 年Noshi 等人对基于向量回归、梯度增强树的机器学习算法在生产资料产量预测等方面的可适用性进行了研究。
然而茶叶生产基地的产茶时间较长,与茶叶生产相关的气候数据较为复杂并且不同的生产基地在不同时刻的环境也不尽相同,因此建立对复杂茶叶生长环境的精准预测方式称为当前研究的重点[4]。本文提出一种基于大数据的极限学习机预测方式,通过大数据MapReduce 框架对采集的巨量数据进行高效处理之后在通过极限学习机算法进行产量的预测。最后通过搭建Hadoop 大数据平台进行相关的数据模拟与测试,最终验证该方式的可行性。
1 大数据
1.1 大数据定义
大数据是一种数据量巨大,对速度增长极快以及数据资源非常丰富的信息资源,通过对采集的大数据进行合理与创新的处理从而获得数据表面所无法获得的预测资源。因此从这些表述来看,我们很明显会发现大数据具备以下几个特征:
(1)数据量非常巨大。虽然有人认为数据量的大小并不是大数据技术的本质特征,但是只要提到大数据那么这些数据的总和基本能够达PetaBytes 或者ExaBytes 的级别,因此但从数据的存储空间来看,大数据所占据的空间就即为庞大。
(2)速度增长极快。从目前统计的数据来看,每天都会有大概3EB 的信息数据产生,当前世界上90%的信息都是过去三年产生的。因此数据量的极速增长也成为了大数据的一个重要特征。
(3)数据资源具有多样性。在采集的数据资源中其类型与结构都是非常多样的如视频、音乐、文本等数据流信息。
1.2 云计算
云计算也是基于大数据技术发展而来的一种新型技术,而从阿帕奇(Apache)基金会发布出的基于Hadoop 云计算平台开源起,越来越多的公司开始关注该技术,该平台在软件方面使用的是基于MapReduce框架而硬件方面采用的是分布式计算机系统作为硬件支持。通过MapReduce框架在集群中构建海量数据的通用处理模型来解决大数据的存储和计算问题。MapReduce框架在技术层面上面向开发者,通过屏蔽了底层硬件的具体实现方式,让开发人员更多关注数据的处理来降低开发的难度,使用Map函数和Reduce函数实现数据的并行计算,其工作流程为:
(1)Input。将分布式的文件读入到系统中,进而切割数据形成不同的数据片,通过框架为每个Map 函数分配相应的指定数据片。
(2)Map。框架将数据片分为一组键值对,用户通过自定义实现Map函数来实现对数据的处理,最终形成新的键值对。
(3)Shuffle。该阶段将Map 产生的中间键值对转义到Reduce接点之中,但是由于受到当前硬件的限制如网络带宽,处理器性能等因素,该阶段所花费的时间要远远长于Map 与Reduce函数处理数据的运行时间,同时该阶段也会将处理过后的中间值进行相应的合并,最终形成有序的键值序列。
(4)Reduce。该阶段执行用户自定义的Reduce函数,通过迭代器不断地遍历从Map中转移的各种中间值以及有序中间值序列,最终获得用户所编写函数处理的结果。
(5)OutPut。该阶段系统将最终的计算键值对序列输出到特定的分布式计算机集群文件系统之中。
2 极限学习机算法
2.1 定义
极限学习机(Extreme Learning Machine, ELM)又被称为超限学习机算法,该算法是一种基于前馈神经网络来构建的一种智能机器学习的算法或者系统,该算法主要使用在解决非监督学习或者监督学习的问题上。
极限学习机(ELM)的研究可被视为一种特殊的前馈圣经网络,也或者被称为对前馈神经网络及其反向传播算法的一种改进型算法,该算法的特点是针对隐含的网络层节点进行构建,不需要持续更新,而且整个学习的过程仅仅是通过计算相应的输出权重来进行处理的。
传统的极限学习机(ELM)具有单独的隐层信息,该算法同其他较为浅层的学习系统比如单层感知机和支持向量机进行深度比较而言,该算法在学习的效率和可泛化的感知能力上都具备了较高的优越性,极限学习机(ELM)可以进行较高程度的表征学习,通过相关的改进型的版本,引入一定的自编器构建或者堆筑起隐含层来获取相应的结构信息。
极限学习机(ELM)的使用场景一般在计算机图像识别处理与生物信息识别上,同时也被运用到一些环境科学与地质探索的回归性问题之上。
2.2 极限学习机算法流程
极限学习机算法(ELM)仅仅只需要求解相关信息的输出权重信息,因此该算法是一种基于线性参数(linear-in-the-parameter)的模式。
该算法的自我学习过程关键点在于全局层面上的极小值手链的问题。当N 组需要机器进行自我学习的数据采集完成之后,针对其中还隐含的层级节点个数为L 和输出层级节点个数为M的学习流程为:
(1)系统随机进行参数节点的分配工作:在系统进行计算的初始阶段,SLFN 的相关节点参数需要随机生成,即输入系统的相关数据和随机生成的节点的参数要相互独立。当然这里所说的随机生成需要尽可能的服从连续概率分布(continuous probability distribution)。
(2)系统根据输入的节点数据进行隐含层的矩阵输出:系统隐含的矩阵输出,该矩阵的大小为N 行和L 列,该矩阵行数是根据输入的所需要训练的数据个数统计出来,该列数是根据隐含的层级节点计算出来,因此该系统输出的矩阵从本质的特征上来说就是将用户所需要的训练个数N 通过特定的方式映射到L个层级节点之上,最终获取相应的结果。
(3)系统通过矩阵来计算求解相应的权重输出:由于隐含层输出的相关权重矩阵的大小为L行M列,即相关的行数为隐藏的层节点的个数,矩阵的列为输出的层级节点的借点数,该算法同其他预测算法的不同之处在于,该算法中的输出层级节点是可以不存在误差节点的信息,因此该算法的核心就是通过对输出权重的计算获取误差函数最小的节点信息。
总之极限学习机算法(ELM)中要求解的输出权重矩阵的过程必须有矩阵求逆序的步骤。因为通过系统映射的相关函数的初始化工作是随机产生的,故而在实际的计算应用过程中使用径向基函数来进行矩阵的求逆工作,在基本的理论上,系统只要设定非常大的正则化相关数据,那么需要进行求逆运算的矩阵的最终结果一定是正定矩阵,但是实际场景下,过大的正则化操作会使得最终的计算效果影响极限学习机算法(ELM)的泛泛的能力,因此在计算求逆的过程中一般采用Sigmoid函数来进行相关操作。
3 基于大数据的极限学习机在茶叶产量预测中的实现
3.1 极限学习机算法数据处理的实现
(1)初始阶段训练数据的处理。首先确定采集的茶叶生产环境的温度、湿度、品种信息、生长阶段等数据作为初始的训练集,同时认为的设定系统隐层的节点个数为N。接着设k=0,进而随机的产生第j 个隐层的节点同相应的输入的节点的权值的向量表达式为wi=[w1,w2,...,wn]T同时设置系统的激励节点的参数,通过计算初始隐层的输出矩阵H0最后计算出初始权值的向量β0。
(2)系统学习阶段。当系统通过训练获取到一个新的训练数据到来时候,先通过假设获得所有训练集的第k+1 个样本的数据。
(3)通过系统计算出输出的权重向量即βk+1。
(4)最后设定k=k+1,进而将该结果重新返回到步骤(1)中,继续循环地训练下一个数据,最终将所有采集的数据训练完成之后,作为云计算的输入,进行下一步的处理。
3.2 基于大数据MapReduce数据处理的实现
MapReduce 框架编程的核心就是对数据的并行处理。即用户用过自定义的Map函数和Reduce函数分别对传入的键值对序列进行并行化的处理工作,因此将上层经过极限学习机算法处理的训练集所产生的键值对序列数据作为输入,传输到MapReduce 系统中其中间的结果保存到HBase 分布式系统的文件系统和分布式缓存中。
4 实验
本文的实验环境采用配置是以i5-460m 的处理器,8G RAM,硬盘大小为500G 的16 台计算机为硬件节点,通过200Mbit/s 的网络作为连接进行Hadoop 平台进行搭建,其中Hadoop框架的为3.0版本。
4.1 实验方法和结果
实验的实验数据主要是通过网络采集的2015-2019 年海南省海垦茶业集团所公布的产业生产相关的数据。通过将当年茶叶生长环境的相关信息输入到系统之中,并对实验所得出的预测结果与实际公布的产量进行对比,从实验结果可以看出,本文提出的基于大数据的极限学习机算法能够对茶叶产量进行有效的预测。
5 结语
本文提出的一种基于大数据的极限学习机算法在茶叶产量预测的方法能够通过对采集的茶叶生长信息进行高效处理之后较为准确的预测当年的茶叶产量,并且通过实验证明可该方法的正确性。