4.6 系统测试。
4.6.1 数据来源。
本文所使用的数据是Smart* 项目[35]分享在UMass Trace Repository数据共享平台中的,Smart* 项目是一个旨在优化家庭的能源消耗的项目,特别关注现代"智能家庭"和一些可用于"智能家居"的新机会。该项目的核心组成部分是几个已经安装了各式智能家居仪表的居室,这些居室项目提供一个测试平台,用以收集真实的数据,并结合新的技术和算法,以提高家庭能源效率。为了方便在智能家居的可持续发展和进一步研究,Smart*项目在 UMass Trace Repository 数据共享平台发布了他们的数据。
UMass Trace Repository 数据共享平台[36]是一个由美国国家科学基金会支持,由马萨诸塞大学高级系统软件实验室[37]
运营的网络平台,用于存储和追踪研究数据。
Smart*项目以分钟级的采集频率对 400 多个家居进行数据采集,其智能家居中有三个家居的数据使用较为广泛,在其主页上分别以 A、B、C 命名,本文所使用的数据为 HomeA 的数据。
4.6.2 具体测试。
在上文中已经提到过,我们把数据集进行了预处理和分类,使得数据分为了训练集,验证集和测试集,三个数据集。
数据集中包含了室内外温度数据,湿度数据等数据,这些数据都是按时间顺序排序的,每天的数据都是通过传感器采集并上传到系统中,图 4.13 和图 4.14分别为其中一天的温度和湿度数据:
我们使用数据集中风扇数据作为目标数据进行训练,风扇有开和关两个状态,分别使用 0 和 1 对应其状态,我们可以得到风扇状态的数据图,其中一天的数据。
程序开始后,通过把训练集中数据以 128 条作为一个样本输入神经网络,对神经网络进行训练,通过 1000 次左右的训练,我们可以得到目标神经网络,在结束神经网络的训练后,我们使用测试集对训练后的神经网络进行测试,测试当前神经网络对未知测试集的测试效果。由于在把数据分成三个数据集时,这三个数据集之间的数据是不重复的,也就是测试集中数据对于神经网络来说是未知的,所以使用测试集对神经网络进行测试的结果是可靠的。
由于机器学习系统是接入到智能家居系统中的,所以在测试中,我们也直接把结果映射到实验室内部一个已接入智能家居系统的灯上,在得到实验结果之后,我们向智能家居系统中的目标灯发送执行命令,作为对命令发送的验证部分,由于网络命令相同,仅有数据格式差异,所以对灯的测试正确的情况下,可以验证与智能家居接入是可靠的。
在对智能家居系统进行操控以后,设备的状态信息会更新到数据库中,在下次对节点进行训练和预测时,节点会使用最新的数据进行训练和预测,由此,在同一情境下的相关设备就会由于一个设备状态的改变而做出相应改变,从而达到情景模式整体切换的效果。但是由于本文尚未接入真实环境数据库,所以本部分功能尚未进行验证。
4.6.3 测试结果。
本文实验使用的开发机配置如下:
1. CPU,i5-5257U,双核四线程。
2. RAM,双通道,16G.
使用 Python 版本为 3.4,TensorFlow 版本为 0.6.0.通过运行机器学习系统程序,我们可以得到上文中风扇开关状态对应的预测图。
我们可以看到在对一天的数据进行测试后,我们可以得到一天的风扇状态图示与数据集中原始数据是大致符合的,而从系统多次运行的输出中,我们可以看到准确度在 85%以上。
由于我们并没有使用实际项目中的实验数据,所以在测试与智能家居系统接入效果时,我们使用了一个灯,用于验证对应的命令发送和控制功能。在系统输出状态为 1 时,系统会向智能家居系统中发出开灯命令,对应的,在状态为 0时,会发送关灯命令。
在测试过程中,我们可以看到灯的开关状态随着系统输出的改变而改变。
由于智能家居中存在诸如窗帘,可调节亮度的灯等有多个档位的设备,但是在本数据集中并没有多个档位的数据,所以无法使用马萨诸塞大学所提供的数据集进行实验,而为了验证神经网络对多档位的分类能力,我们使用了发布于 UCIMachine Learning Repository 的 UCI OPPORTUNITYActivity Recognition 数据集,数据集包含了 4 名志愿者,每个人进行了六项活动的数据。活动分别为:行走、上楼、下楼、坐、站立,平卧,分别使用 0-5 六个数字表示其状态。志愿者在测试时佩戴智能可穿戴设备和各式传感器,利用其加速度计和陀螺仪,捕获了惯性数据、3 轴的线性加速度、3 轴的角速度、定位数据等数据,采样的频率为 50Hz.
实验中,我们使用的输入数据为 100 维数据。数据集中的数据被随机分成两组,其中有 7352 条数据作为训练集,2947 条数据作为测试集。
在使用训练集对神经网络进行训练之后,我们使用该神经网络对测试集进行测试,多次实验结果展示出来正确率同样可以保持在 85%以上,为了展示我们的测试结果,在测试中,我们随机选择 200 条数据绘制并使用其对应的预测结果绘制,可以直观地看到预测结果与原数据曲线的重合率较高。
4.7 本章小结。
本章通过介绍基于机器学习的智能家居平台整体架构及实现方式对整个项目进行了分析说明,然后再通过对机器学习系统的各个模块进行介绍说明,详细说明了项目任务管理模块,数据管理模块,预测模块及网络通信模块的工作原理及实现方式。最后对系统进行测试,对系统正确性进行了验证。
1软件发展危机1.1软件的定义及特点软件是按照顺序组织的计算机数据和指令的集合。一般软件被分为系统软件、应用软件和编程语言。其中系统软件为计算机使用提供最基本的功能,最基础的软件就是操作系统;应用软件是在系统软件的基础上衍生出来的为用户提...
随着网络信息时代的到来,人们的生活中越来越离不开手机、电脑等电子产品。他们可以通过软件购买商品、点餐、预约车等服务。...
随着虚拟现实技术(VR)的发展和社会需求,VR技术应用在各个行业中,其在室内设计中的应用不仅体现在室内设计效果图的沉浸式虚拟展示,而且逐渐蔓延到通过VR室内设计软件进行同步设计,交互性和构想性使得VR室内设计软件为用户提供了超于传统室内设计软件的使...
1开发背景教育信息化的实施,自上至下而言,必须与学校的制度创新、组织创新和管理创新结合;自下至上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基...
0引言管理信息系统(简称MIS)是一个供使用者利用计算机、网络通信设备以及其他办公设备,对所需的信息进行采集、传输、处理、格式转换及存储、信息更新、功能拓展和维护的系统。[1]我国高等职业教育虽然起步比较晚,但在高等教育大众化的今天,高等职业教...
第5章总结随着计算机的普及和网络技术的发展,人们获取信息主要途径以及从书籍、期刊等传统的方式转向从互联网中获...
第3章系统设计3.1数据库设计3.1.1概念结构(1)住户信息数据库结果设计,通过对以往小区物业管理实际需求情况及常用的信息分析,其住户信息主要包括了住户编号、房屋编号、户主名称、联系电话以及联系地址等信息,其结果图如图3.1所示。3.1.2实...
计算机已经经历了四代的发展历程,从电子计算机到晶体管计算机时代,再从集成电路计算机时代到大规模集成电路计算机时代,这一路的发展表现出了计算机的发展速度,同时这也为计算机软件开发的发展打好了坚实的基础。...
本文首先对学生宿舍管理系统进行了需求分析,然后又介绍了学生宿舍管理系统的整体设计,将系统分成用户信息管理、学生信息管理、报修信息管理和检查信息管理四个模块,最后对系统各模块设计进行了简单的概述。...
第4章系统测试系统测试是在系统详细设计功能实现后,借助专业测试工具对系统的功能和性能进行全方位模拟测试的过程,用于检验系统设计是否符合设计预期,发现系统潜在故障及问题并于系统实现前改进。本课题中的系统测试紧密结合软件工程要求,分单元测试...