陈 翔
(成都农业科技职业学院,四川 温江 611130)
随着自动化技术、机械技术、智能控制技术的不断融合和发展,农机设备的智能化程度越来越高,其应用价值也日益提高[1]。在农机工作过程中,会出现一定的故障,影响农机设备的正常工作,不仅浪费人力、物力,而且影响工作积极性。农机设备状态检测可以对农机设备工作性能进行实时分析,帮助工作人员及时找到农机设备故障位置,因此状态检测成为当前一个重要的研究方向[2-4]。
针对农机设备状态检测问题,一些专业人士及研究机构进行了比较深入的研究。目前,美国、加拿大等发达国家对农机设备状态检测研究比较成熟,我国的农机设备状态检测研究虽起步比较晚,但发展速度相当快[5-7]。最原始的农机设备状态检测方法主要通过一些工作人员对农机设备所处状态进行分析,检测结果好坏与工作人员的知识和经验直接相关,具有一定主观性,同时检测过程时间长,无法适应现代农机设备发展需要[8]。随后,建立了基于专家系统的农机设备状态检测方法,利用信息技术、数据库技术、机器学习理论等构建农机设备状态检测的专家知识库,对于一个待分析的农机设备状态,通过与专家知识库的规则进行匹配得到农机设备状态检测结果[9-11]。该方法检测效果要远优于人工方法,检测效率也得到了提高,但构建专家知识库的过程十分复杂,且农机设备状态检测结果与知识库的规则多少相关,缺陷也十分明显,如农机设备状态检测正确率低等。近年来,随着人工智能的不断发展,出现了许多基于人工智能技术的农机设备状态检测方法,如基于神经网络的农机设备状态检测方法。其通过神经网络对农机设备状态变化特点进行学习和建模,使其能够自动检测出农机设备状态,但学习的结构过于复杂、过程收敛效率低,使得农机设备状态检测的实时性差[12-14]。
根据农机设备状态变化的随机性,为解决当前农机设备状态检测方法存在的不足,设计了基于计算机数据挖掘的农机设备状态智能检测方法。首先,采集农机设备状态数据,提取农机设备状态检测特征;然后,引用计算机数据挖掘建立农机设备状态自能检测模型;最后,进行了农机设备状态检测仿真测试,分析本文方法的农机设备状态检测可行性和优越性。
计算机数据挖掘技术是计算机技术和数据分析技术融合的结果,其中支持向量机是一种经典的计算机数据挖掘技术,不仅具有分类能力,也具有回归能力[15]。由于农机设备状态检测问题属于分类问题,因此本文重点描述支持向量机分类原理。农机设备状态通常划为正常状态或异常状态,异常状态主要表现为故障状态。采用H1表示正常状态,H2表示异常状态,那么支持向量机通过建立一个分类平面,将农机设备的正常状态和异常状态区别开来,具体如图1所示。图1中,H表示分类线,H1和H2表示两类状态,要尽可能使它们间距离达到最小化,使检测结果更理想。
图1 支持向量机的分类原理Fig.1 Classification principle of support vector machines
设农机设备状态检测的数据集合为{xi,yi}(i=1,2,…,l),x∈Rn,y∈{+1,-1}。其中,l为农机设备状态检测的数据规模;n为农机设备状态检测特征数量;y为农机设备状态类型。支持向理机将数据映射到高维空间,此时分类平面可以描述为
w·ψ(x)+b=0
(1)
其中,ψ(x)为映射函数,应满足如下条件,即
(2)
其中,w为用于描述直线的法向量。
在农机设备状态检测过程,建立的分类平面有一定的误差,为此引入松弛变量ξi和惩罚参数C对分类误差和计算复杂度进行平稳。这样,式(1)求解就可以变化一个基本优化问题,具体为
(3)
采用拉格朗系数αi得到式(3)对偶形式,即
(4)
其中,αi非零对应的向量为支持向量,直接决定了农机设备状态检测效果,可以建立农机设备状态检测的判别函数,即
(5)
内积操作(ψ(xi)·ψ(x))的工作过程十分复杂,影响农机设备状态检测效率,为此引入核函数K(xi,x)代替(ψ(xi)·ψ(x)),加快农机设备状态检测速度。选择径向基高斯函数为K(xi,x),具体为
(6)
其中,σ为核宽度。
在农机设备状态检测的建模过程中,参数C和σ影响农机设备状态检测效果,采用蚁群算法确定C和σ的值。
蚁群算法通过模拟蚂蚁寻找食物过程实现问题的求解。设第t个时间,蚂蚁k所处的位置为i,那么它向j位置爬行概率为
(7)
其中,ηij为蚂蚁爬行过程中路径上的信息素启发因子;τij(t)为位置i和位置j之间路径上的信息素;tabuk为蚂蚁k的路径搜索禁忌表;α为信息素的权值;β为启发因子的权值,其值变化方式为
(8)
其中,n为迭代次数;β0为启发因子的权值初值;Nmax为最大循环次数。
蚂蚁所有位置搜索后,对路径的信息浓度进行更新,即
(9)
当农机设备状态发生变化时,许多参数会发生相应的改变,其中振动信号是一种描述农机设备状态变化的重要参数。因此,采用无线传感器对农机设备的振动信号进行采集,并对采集的原始农机设备振动信号进行预处理,提取有效的农机设备状态数据。
采用小波包农机设备振动信号进行分解,第i层分解信号为fij(tj),农机设备振动信号x(t)可以表示为
(10)
其中,fij(tj)代表了电机信号的小波包分解在第i层节点(i,j)上的重构信号。
状态发生改变后,其振动信号的能量会相应的变化,可以根据能量谱对农机设备状态进行检测。能量谱计算公式为
(11)
其中,xij为fij(tj)的幅值。
农机设备状态振动信号总能量为
(12)
第i层小波包分解的农机设备振动信号子频带能量占总能量比例为
(13)
采用Pij作为取农机设备状态的检测特征,即支持向量机分类的输入向量,农机设备状态作为支持向量机输出向量。
基于计算机数据挖掘的农机设备状态智能检测方法的工作步骤具体如下:
1)采用无线传感器对农机设备的振动信进行采集,提取有效的农机设备振动信号,去除一些无效的信号;
2)采用小波包对农机设备振动信号进行处理和分析,计算不同子频信号的能量值,然后计算子频信号的能量在总能量所占比例,得到农机设备检测的特征向量;
3)农机设备检测的特征向量作为输入,农机设备状态作为输出,建立农机设备检测的样本集;
4)从样本集中随机选择一定数量的样本组成训练,没有选中的样本作为验证集,通常情况下训练样本数量要远远多于验证样本;
5)蚁群算法和支持向量机对农机设备检测训练集进行学习,确定C和σ的值,建立农机设备检测模型;
6)采用验证样本对农机设备检测模型的检测正确率、误检率进行计算,分析农机设备的检测的效果。
基于计算机数据挖掘的农机设备状态智能检测流程如图2所示。
图2 基于计算机数据挖掘的农机设备状态智能检测流程Fig.2 Intelligent detection process of agricultural machinery condition based on computer data mining
为了测试基于计算机数据挖掘的农机设备状态智能检测方法的有效性,选择的仿真平台为:Intel酷睿i3-6100 CPU,芝奇Ripjaws4 DDR4 8G RAM,英特尔 600P 256G SSD,Win 10操作系统。采用Java编程实现农机设备状态智能检测模型,选择对象为花生脱壳机、小型旋耕机、水稻收割机、农作物秸秆粉碎机及土壤耕整机,其正常状态和异常状态的样本数量如表1所示。
表1 各种农机设备的状态样本数量Table 1 Quantity of various farm machinery
选择基于专家系统的农机设备状态智能检测方法进行对比测试,采用蚁群算法确定C和σ的值,如表2所示。
表2 蚁群算法确定C和σ的值Table 2 Determine the value of C and sigma by ant colony algorithm
专家系统和计算机数据挖掘的农机设备状态智能检测方法的检测正确率和误检率如图3和图4所示。由图3、图4可知:
图3 农机设备状态智能检测正确率Fig.3 Intelligent detection accuracy of agricultural machinery condition
图4 农机设备状态的误检率Fig.4 Error rate of agricultural machinery condition
1)农机设备状态变化具有随机性,而专家系统的知识库规则有限,无法完整描述农机设备状态变化规律,检测正确率较低,检测效果不理想。
2)基于计算机数据挖掘的农机设备状态检测方法效果得到了明显的改善,检测正确率高,且检测出现错误的概率大幅度缩小,说明计算机数据挖掘技术可以描述农机设备状态变化的随机性,检测结果更加可信。
最后,统计农机设备状态检测时间,结果如表3所示。由表3可以看出:基于专家系统的农机设备状态检测时间长,基于计算机数据挖掘的农机设备状态智能检测时间短。这说明,计算机数据挖掘的农机设备状态智能检测速度快,符合现代农机设备状态智能检测实时性条件。
表3 农机设备状态的检测时间Table 3 Etection time of agricultural machinery condition
根据农机设备状态的多变性,针对当前农机设备状态检测缺陷,设计了基于计算机数据挖掘的农机设备状态检测方法,并引入计算机数据挖掘中的支持向量机和蚁群算法联系对农机设备状态检测进行建模。对比实验结果表明:无论从农机设备状态检测正确率或农机设备状态检测效率,本文方法均要明显优于传统的农机设备状态检测方法。本文方法可以有效描述农机设备状态变化规律,是一种结果可靠、速度快的农机设备状态检测方法。