孙咪娜 蒋梦斐
摘 要:随着经济和技术发展,人们对环境和生活质量要求越来越高。现代家庭都会在家养一些观赏性的鱼类,包括在一些大型商场也都可以看见鱼缸的身影,鱼缸市场应运而生。但是目前市场上的鱼缸设备价格昂贵、功能不齐全。如何选择有效的特征来作为鱼缸环境评判的标准,是鱼缸环境检测领域的一大挑战性难题。本文通过对家庭使用的鱼缸进行调查了解,设计了一款基于机器学习的集温度、水污染物检测显示于一体的多功能智能环境检测鱼缸。围绕机器学习中的典型方法在鱼缸环境检测中应用的可行性展开,包括特征选择、机器学习、以及聚类分析等,建立了一个安全可靠的鱼缸环境检测系统,提高了鱼缸环境检测的检测率,实现鱼缸温度检测,水的污染程度检测。
关键词:机器学习;鱼缸环境检测;k-means
1 引言
近年来我国经济科技发展迅猛,人们的生活与消费方式发生了巨大的变化。人们对于居住环境的要求不再是单一的舒适与安逸,更加的强调精神层次上的享受追求闲情雅致,更加的追求个性化与美观程度。所以很多的家庭都会在家里面安装一个具有观赏性的鱼缸,养一些五颜六色的宠物鱼来改善视觉疲劳、陶冶情操和美化居住的环境。鱼缸又称为水族箱,诞生于一百五十年前的英国,在此之前鱼缸只是一个简单的装鱼的容器,并无太大的实用价值和研究的意义。但是随着科技的发展、水族馆行业的兴起和家庭养宠物鱼的人越来越多,传统的鱼缸没有智能功能,已经不能满足人们的需求。
2 机器学习方法
机器学习(Machine Learning)是一门研究如何使用机器来模拟人类学习活动的学科。通过模拟和分析事物的行为,从中获取存在的规律,并用规律对未知数据进行预测。
根据当前鱼缸环境数据集的多样化和复杂化,结合机器学习技术在特征表达方面的优异性能,本文提出一种基于机器学习的鱼缸环境检测系统模型,它是由数据采集处理、特征学习、环境检测分类三个模块组成。
(1)数据釆集处理模块
采集鱼缸环境信息,根据模型的需要进行特征数据的预处理。其中,数据过滤的目的是为了减少鱼缸环境检测系统直接处理的数据量,去掉其中的一些冗余信息,减少对后期模型训练的影响;规范化的目的是为了统一多种IDS来源的数据或者将数据格式数值化,通过规范化的处理,所有的数据就会形成“规范”数据,偏于处理;归一化就是把需要处理的数据限制在一定的范围内,保证后期模型生成的收敛加快。
(2)特征学习模块
此模块主要对采集后的数据通过特征降维的方法进行特征的提取。通过降低数据的噪音量,使得后期的鱼缸环境识别性能更加稳定,提高数据识别率。
(3)环境检测分类模块
通过机器学习的方法(贝叶斯、支持向量机等)进行数据的分类识别。
3 基于机器学习的浴缸环境检测
3.1 计算边的权重
标签传播算法,是通过顶点之间的边传播标签的。边的权重越大,意味着两个样本点越相似,那么标签也越容易传递过去。而边的权重,则是由两个样本点之间特征的距离来计算的。一般地,任意两个样本xi与样本xj之间的边权重公式可表示如式(1)所示:
(1)
其中,dij表示样本xi与样本xj之间特征的欧式距离,参数σ用来控制边的权重。本文中的σ取值为样本间欧氏距离的平均值。相应地,图中两个顶点之间的欧式距离越小,权重w ij越大。
3.2 生成概率转移矩阵T
概率转移矩阵,用来表示任意两个样本之间标签传播时的传播概率。由样本之间的权重矩阵,行归一化后得到。为方便后续计算,样本的概率转移矩阵由一个 的矩阵T 表示,矩阵T的生成公式如式(2)所示:
(2)
其中,Tij表示标签由顶点i到顶点j的转移概率,即样本xi到样本xj标签传播的可能性大小。
3.3 利用聚类调整概率转移矩阵
基于k-means聚类的图构造方法,输入为训练样本,包括已标记样本和未标记样本,输出为概率转移矩阵T具体算法流程如下:
(1)数据预处理,对所有样本进行属性约简,将高维度样本变成低维度样本,方便后续算法的进行,本文使用的属性约简方法为MDDM;
(2)对总样本空间进行k-means聚类,根据聚类的情况构造一个n n维的聚类矩阵C,每个矩阵元素表示两个样本是否属于同一个类别,如式(3)所示:
(3)
其中,作为参数控制聚类对图的构造的影响力度。值越小,影响越小;反之,影响越大;
(3)将聚类矩阵C与原有的相似度矩阵W结合,构造新的相似度矩阵W。其中,对于每两个样本xi和xj来说, ;
(4)对新的相似度矩阵 行归一化,构造新的概率转移矩阵 ,公式如式(4)所示;
(4)
实验的目的就是要测鱼缸的水的变化,给鱼提供一个舒适、干净的生活环境。具体需要测水的温度、浑浊度、液位高度。本次实验测得的温度精确到小数点后一位,传送的温度转换时间大概为750ms,采集的时间间隔比较短暂,而且采集的精度也比较高,误差范围不超过0.5℃。但是由于水加热属于空气中热传递的一种物理表现,热传导的速度会导致鱼缸里面各个地方的水温都会有差距,DS18B20放的位置也会影响所测温度的准确性,最后加热的温度实际值会高于设定的温度值。而且用到的温度传感器是探头式的,测得的温度数据传到数码管上显示时会有一定的延时,导致温度变化速度慢。
其次,实验需要采集的是浑浊度,浊度传感器利用了光学的散射和透射的原理,在自然环境中有很多不确定因数影响其采样的准确性,如光线的强度会干扰测量,所以使用时应远离光线干扰或是在不同的地方采集浊度数据最后取平均值,还有就是在同一测量环境中多测量,這样测得的数据相对来说会精确一点。根据实际测得的浑浊度可以得到当数据在1000左右时,此时水质较好鱼缸不需要换水。当测得的数据增大,则可以判断出此时鱼缸水质里悬浮物和污染物也增多了,水质受到了污染,鱼缸需要换水。加入不同污染物的浊度数据如表1所示。
4 小结
在清水下经过机器学习算法得到的浊度大概为1000左右,静置一小时空气中的灰尘和各类杂质会进入水中,浊度会相应增加一点,数据略微变大。混入泥土肉眼可以观察到水很脏了,但是因为土的质量重混入水中后直接沉入了底部,没有与水溶在一起,只有小部分浮在水面,所以测得的浊度数据增大幅度较小。加入肥皂水后,水质明显变浑浊了,水透过的光线就会比较少,所以测得的数据就会大幅增加。测得的数据结果与实际相匹配,由于自然因素以及光线的不稳定性,测得的数据也会在一定范围内上下浮动。
参考文献
[1] 卿斯汉,蒋建春,马恒太,文伟平,刘雪飞. 鱼缸环境检测技术研究综述[J]. 通信学报,2004,25(7):19-29.
[2] 何颖,唐幸洪,张法强,李祥.多功能智能鱼缸控制系统的研究与设计[J].电子制作,2019(Z1):46-47+45.
[3] 刘伟,林开司,刘安勇.基于物联网的鱼缸智能控制系统设计与实现[J].淮海工学院学报(自然科学版),2016,25(04):1-4.