1999年,物联网(internet of things, IOT)的概念在美国麻省理工大学被提出,即把所有物品通过射频识别等信息传感设备与互联网连接起来,实现智能化识别和管理[1]。物联网的一个主要目标是通过实时和历史数据馈送为环境提供所需信息并对这些信息应用相关算法,使人们生活的环境更加智能化;从物联网设备收集的数据将用于理解和控制周围的环境,从而实现更好的决策制定和更高程度的自动化。
自物联网诞生以来,已有不少传统数据挖掘算法应用其中来挖掘物联网数据中隐藏的知识。Chen等[2]从技术和应用等角度对传统数据挖掘算法进行了回顾,包括分类、聚类、关联分析、时间序列分析和离群值分析,并对在物联网中的最新应用案例进行了调查。Tsai等[3]系统描述了传统数据挖掘算法(k均值、决策树等),并对如何将其与IoT关联做了详细的讨论,为专注于将数据挖掘与IoT相结合转移到下一代物联网的研究者提供了指导。
近年来,随着人工智能的快速发展,机器学习逐渐成为从IoT数据中获取隐藏知识的主要方法之一。Alam等[4]针对将机器学习算法对真实物联网数据集的适用性做了初步分析,包括支持向量机(SVM)、人工神经网络(ANN)等。Fleury等[5]应用一对一(OVO)SVM进行多分类,以在智能家居中提供准确的日常活动监测。Nguyen等[6]同样将基于SVM的分类算法应用在其他智能家居中跟踪人类行为。SVM是一种基于统计学理论的监督学习方法,已被广泛应用于文本分类、营销、模式识别和医疗诊断等领域。针对物联网领域应用SVM,一个主要的难点就是其数据源的异构性和不确定性,不同数据源对分类的贡献有所不同。因此,通常情况下,利用单核SVM方法对多源异构数据建模效果并不好,分类准确率不高。而多核学习旨在学习不同数据源之间的权重来针对多源异构数据建模[7],因此,本文考虑到IoT传感器数据多源异构的特性,提出一种将多核学习(MKL)与SVM结合的IoT传感器数据分类方法,并通过引入交叉验证法来改进算法性能,提高分类准确率。
1 本文改进方法传统的多核学习方法多靠经验选取一系列可供选择的基础内核集进而学习其权重来进行内核选择,其方法框图如图 1所示。其中,多核学习部分针对IoT终端传感器来自不同数据源的异构数据设计基础内核组合并学习内核权重;支持向量机部分通过学习得到的合成核分别与训练、测试数据进行建模与测试。该做法具有一定的人为因素,且针对不同的多源异构数据难以确定最合适的经验内核集。本文提出的改进多核学习(IMKL)方法框图如图 2所示,首先通过引入交叉验证法在大量的内核组合下初步确定基础内核集,而后通过MKL学习内核权重进一步进行内核参数的选择优化。
|
图 1 传统多核学习框图 Fig.1 Flowchart of traditional multi-kernel learning |
|
图 2 改进多核学习算法框图 Fig.2 Flowchart of the improved multi-kernel learning |
交叉验证法亦称k折交叉验证,通常配合调整超参数使用,目的是为了得到可靠稳定的模型,因为最好的超参数才能使得模型分类更加准确。该方法将数据集划分为k个大小相似的互斥子集,每个子集均通过分层采样得到,即保持了数据分布的一致性。每次使用k-1个子集的并集作为训练集,余下的一个子集作为测试集,就可获得k组训练/测试集,从而可进行k次训练和测试,最终结果是这k次测试结果的均值。本文选择k取值为10,使其作为本文选定多核范围的模型选择方法,也可视为“第一次内核选择”。
1.2 多核学习方法针对多源异构数据,使用多个内核来取代单个内核可增强决策函数的可解释性并提高性能。在这种情形下,将核函数K(x, x′)考虑为基础内核的凸组合[7]
| $ K(x,x') = \sum\limits_{m = 1}^M {{d_m}{K_m}(x,x')} $ | (1) |
式中,dm≥0,
多核学习方法主要基于在SVM目标值上的梯度下降,通过包含标准的SVM求解器的梯度下降迭代地确定内核的组合。MKL旨在确定决策函数学习过程中的系数{dm}。原始MKL问题如式(2)所示
| $ \begin{array}{l} \mathop {\rm \min }\limits_{\left\{ {{f_m}} \right\},b,\xi ,d}\ \frac{1}{2}\sum\limits_{m = 1}^M {\frac{1}{{{d_m}}}\left\| {{f_m}} \right\|_{{H_m}}^2} + C\sum\limits_{i = 1}^l {{\xi _i}} \\ {\rm s.t.}\ \ \ {y_i}\sum\limits_{m = 1}^M {{f_m}({x_i})} + {y_i}b \ge 1 - {\xi _i},\forall i\\ \ \ \ \ \ \ \ \ \ {\xi _i} \ge 0,\forall i\\ \ \ \ \ \ \ \ \ \sum\limits_{m = 1}^M {{d_m} = 1} ,{d_m} \ge 0,\forall m \end{array} $ | (2) |
式中,C>0为惩罚系数;ξi≥0为松弛变量;l为样本数量。每个dm控制目标函数中fm的平方范数,当dm=0时,║fm║Hm也必须等于0以产生有限的目标值。式(2)中的拉格朗日函数为
| $ \begin{array}{l} \ \ \ \ \ \ \ \ L = \frac{1}{2}\sum\limits_{m = 1}^M {\left\| {{f_m}} \right\|_{{H_m}}^2} + C\sum\limits_{i = 1}^l {{\xi _i}} + + \sum\limits_{i = 1}^l {{\alpha _i}\left( {1 - } \right.} \\ {\xi _i} - {y_i}\sum\limits_{m = 1}^M {{f_m}({x_i})} - {y_i}b) - \sum\limits_{i = 1}^l {{v_i}{\xi _i} + \lambda (} \sum\limits_{m = 1}^M {{d_m}} - \\ 1) - \sum\limits_{m = 1}^M {{\eta _m}{d_m}} \end{array} $ | (3) |
式中,αi和vi是与普通的SVM问题有关的拉格朗日乘子;而λ和ηm与对dm的约束相关。将拉格朗日函数的梯度相对于原始变量设置为0,并将相关最优化条件代入拉格朗日函数中,得到其对偶问题如式(4)所示。
| $ \begin{array}{l} \mathop {\rm \max }\limits_\alpha \ - \frac{1}{2}\sum\limits_{i,j = 1}^l {{\alpha _i}{\alpha _j}{y_i}{y_j}} \sum\limits_{m = 1}^M {{d_m}{K_m}({x_i},{x_j})} + \sum\limits_{i = 1}^l {{\alpha _i}} \\ {\rm s.t.}\ \ \ \ \sum\limits_{i = 1}^l {{\alpha _i}{y_i}} = 0\\ \ \ \ \ \ \ \ \ \ \ C \ge {\alpha _i} \ge 0,\forall i \end{array} $ | (4) |
使用核组合
对于SVM,通常通过组合几个二元分类器来解决多类问题。本文方法采取OVO的方式。假设多类问题中有p个类,OVO将p个类两两配对产生p(p-1)/2个二分类任务。测试时,测试样例同时提交给所有训练完成的分类器,并得到p(p-1)/2个分类结果,最终结果通过投票产生。
MKL-SVM多类问题中的目标值J(d不同于二分类问题。此时需要寻找可以联合优化所有成对决策函数的内核组合,想要根据内核权重{dm}优化的目标函数为
| $ J(d) = \sum\limits_{p \in P} {{J_p}} $ | (5) |
式中,P是要考虑的所有二元分类器的集合;Jp(d)是与二元分类器p有关的二分类问题SVM目标值。通过梯度下降法,可以为每个二分类问题独立地获得拉格朗日乘子。上述方法旨在找到联合优化所有二分类问题的内核组合,即最大化间隔之和。
2 实验部分 2.1 实验装置实验中采用Polysense WxS 8800作为传感器终端节点。WxS 8000系列支持LoRa作为上行链路接口,通过LoRa网络将传感器数据传输到应用服务器。实验中整套IoT设备如图 3所示。
|
图 3 物联网实验装置 Fig.3 Internet of things experimental device |
一个LoRaWAN网络架构中包含了终端节点、基站、网络服务器和应用服务器4部分。终端节点可以同时发给多个基站,基站则对网络服务器和终端之间的LoRa协议数据做转发处理,将LoRaWAN数据分别承载在了LoRa射频传输和TCP/IP上。LoRaWAN基本网络架构如图 4所示。整个传感器数据采集过程可概括为:由若干终端节点采集底层数据,通过LoRaWAN技术把数据发送到网关(Gateway)基站,再通过4G/以太网通信技术发送到网络服务器(NS),最终NS把数据发给应用程序端(Application)。实验中,采用在网关中安装4G卡实现基站与NS的通信,通过应用程序端iView来导出采集到的传感器数据。
|
图 4 LoRaWAN基本网络架构 Fig.4 LoRaWAN basic network architecture |
由于WxS 8800终端无线传感器节点集成了包括温度、湿度、3轴振动、光照、电池电压、CO浓度、大气压力、声音和人体热释电红外传感器在内的传感器接口,因此采集到的数据拥有多达11维的特征。为了有效达成分类目的,需要选取具有较强可分离度的特征作为特征参数。在此,选择提取温度、湿度、光照和大气压力这4维特征并对数据进行手动标记。
针对两组规模不同的数据进行实验,其中2019年5月27日至28日的877例小规模数据被分为4类进行训练、验证和测试;2019年6月14日至24日的4 329例大规模数据被分为3类。该做法旨在证明本文改进方法对不同规模的数据均拥有较高的分类准确率。同组的所有数据在进行训练和测试前均以相同的缩放比将数据缩放至[-1, 1]之间。
根据特征变化,按照实验室内一天的白昼交替对数据进行分类:第一组数据被标记为上午、中下午、傍晚、夜间4类;第二组数据被标记为白天、傍晚、夜间3类。
2.3 内核选择核函数作为多核学习的核心,由于其具有多项式、高斯等形式,且不同形式下可供选择的参数不同(如多项式核的阶次和高斯核的带宽),因此首先使用10-折交叉验证,在多组内核组合下进行实验,得到了表 1所示的针对两组数据的最佳内核组合。而多核学习作为一种选择内核的模型选择方法,将进一步通过对内核权重的学习来为初步选定的内核分配不同的权重以进行内核优化,即第二次内核选择。
| 下载CSV 表 1 两组数据的候选基础内核 Table 1 Candidate base kernels for two sets of data |
实验中内核均为实时计算,均为特征向量的每个单独的维度以及完整的特征向量本身生成基础内核。两组数据集均拥有4维特征,因此对于第一组数据集可供选择的基础内核数量为M1=4×5=20;而对于第二组数据集,可供选择的基础内核数量为M2=4×8=32。
3 结果与讨论固定超参数C并取C=100,涉及多核学习的内核权重d的正则化项选择L2范数正则化。实验首先针对两组不同规模数据集进行本文改进方法与单核SVM及传统MKL-SVM分类准确率的比较,单核参数包括了MKL与改进方法中所涉及到的全部基础内核,MKL内核组合参考文献[8]确定, 是1~3阶多项式核和带宽属于{0.5, 1, 2, 5, 7, 10, 12, 15, 17, 20}的高斯核的组合。实验结果如表 2、3所示,其中AUC(area under curve)为接受者操作特性曲线(ROC)下与坐标轴围成的面积。
| 下载CSV 表 2 第一组数据集单核SVM与多核学习SVM的性能度量比较 Table 2 Comparison of performance metrics for a single-kernel SVM and a multi-kernel learning SVM using the first datasets |
| 下载CSV 表 3 第二组数据集单核SVM与多核学习SVM的性能度量比较 Table 3 Comparison of performance metrics for a single-kernel SVM and a multi-kernel learning SVM using the second datasets |
从表 2和表 3可以看出,改进MKL在小规模和大规模数据集下均得到较高的分类准确率与AUC值(micro和macro分别是基于两种方法得到的针对多类问题的AUC值),且分类准确率均高于单核SVM(平均)及传统MKL。实际上,针对具有多源异构特性的数据,如果想要获得较高的分类准确率,单核SVM方法需要不断尝试多种基础核类型及其参数(阶数、带宽等),分类准确率仅在特定的超参数设定下较高;在使用传统MKL方法的情况下,需要先根据经验选取一系列供选择的基础内核集,由于具有一定的人为因素,经验内核类型及参数不一定适合所有类型的数据;而在本文改进的多核学习方法下,将先使用交叉验证法在多种内核组合下选择最优组合,再通过MKL进一步优化内核,训练时,根据不同数据源的特性在该候选基础内核集范围进行内核选择并学习内核权重,进而在测试时得到较高的分类准确率。
为了进一步说明改进多核学习方法的有效性,本文使用了更多的性能度量来评价本文的改进方法,同时给出了第二组数据集下的混淆矩阵及ROC曲线如图 5和图 6所示。
|
图 5 第二组数据的可视化混淆矩阵 Fig.5 Visual confusion matrix for the second dataset |
|
图 6 第二组数据的ROC曲线 Fig.6 ROC curves of the second dataset |
观察图 5混淆矩阵可发现,有近一多半(超过50%)的夜间被误分类为傍晚,且有一定数量的傍晚被误分类为夜间与白天。这与其每个类别之间均存在少量过渡样本密不可分,即过渡样本的特征与其两端类别的特征都有相似的部分;其次,这些误分类与其对应类别的样本数量较小也有直接关系。反观类别白天均被准确分类,这是由于其样本数量庞大且特征明显区别于其他两类。
图 6给出了夜间、傍晚与白天3类的ROC曲线,分别由class 0—2表示,同时给出了针对多分类问题的micro及macro ROC曲线,其分别为基于两种方法得到的多分类问题ROC曲线(AUC值在图中括号内给出)。第一种方法为取3类ROC曲线的平均;第二种方法将测试样本的标签矩阵与概率矩阵分别按行展开,转置后形成两列即可得到一个二分类的结果,通过计算便可得到最终的ROC曲线。两种方法得到的AUC值分别为0.91和0.90,均接近理想状态(AUC值为1),由此可见本文方法拥有较好的分类性能。
另外,选取University of California Irvine (UCI)官方数据集AReM[9]进行扩展实验,该数据集通过无线网络传感器生成的时间序列来预测用户执行的活动。数据包含6维的简易信息聚合(RSS)特征,并分为7个类别,即bending1、bending2、cycling、lying、sitting、standing、walking。由于数据量庞大且数据集本身较为复杂,本文采用序列最小优化(SMO)[10]替代梯度下降法来优化算法的速率。经交叉验证后针对该数据集所产生的最佳内核组合为1~3阶的多项式核和带宽属于{0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}的高斯核。因此可供选择的基础内核数量为M3=6×13=78。将本文改进方法与单核SVM及传统MKL-SVM在准确率及AUC值上进行比较,并给出可视化混淆矩阵,结果如表 4和图 7所示。
| 下载CSV 表 4 AReM数据集上的性能度量比较 Table 4 Comparison of performance metrics using the AReM dataset |
|
图 7 AReM数据集的可视化混淆矩阵 Fig.7 Visual confusion matrix for the AReM dataset |
从表 4可以看出,传统MKL-SVM有时在分类准确率上并不一定高于单核SVM的平均值,但在本文改进方法下却明显高于以上两种方法,表明本文方法具有较好的分类性能。同时观察图 7的混淆矩阵可以发现,大部分误分类样本类别具有一定的相似性:如bending1和bending2的动作为身体不同程度的弯曲,cycling和walking为人体不同频率的运动状态等。图 8给出了针对该多分类问题的micro及macro ROC曲线(由于类别数较多此处将不给出7个类别各自的ROC曲线),两种AUC值均为0.97,已与理想状态相差无几。
|
图 8 AReM数据集的ROC曲线 Fig.8 ROC curves of the AReM dataset |
本文针对IoT无线终端传感器采集到的多源异构数据,提出了一种基于改进多核学习的分类方法。该方法针对两组不同的多源异构数据集,通过交叉验证法对候选基础内核集进行初步选择,其目的在于优化MKL的内核选择。实验分别在单核SVM、传统多核学习及本文提出的改进多核学习方法下进行,发现本文方法的分类准确率高于单核SVM的平均水平及传统多核学习,且拥有较高的AUC值。实验结果表明,针对多源异构数据,本文提出的IMKL-SVM方法是更加行之有效的方法。其后,又给出了第二组数据集下的其他性能度量(混淆矩阵及ROC曲线),通过观察混淆矩阵可以得出:数据量的大小与特征的明显与否是影响分类准确率的两个重要因素。此外,通过对UCI公开数据集的分类实验结果分析,进一步说明了本文改进方法的优良性能。如何进一步提高分类准确率与算法效率是今后需研究的问题。
| [1] |
孔晓波. 物联网概念和演进路径[J]. 电信工程技术与标准化, 2009(12): 12-14. KONG X B. Internet of things concept and evolution path[J]. Telecommunication Engineering Technology and Standardization, 2009(12): 12-14. (in Chinese) DOI:10.3969/j.issn.1008-5599.2009.12.005 |
| [2] |
CHEN F, DENG P, WAN J F, et al. Data mining for the internet of things:literature review and challenges[J]. International Journal of Distributed Sensor Networks, 2015, 2015: 431047. |
| [3] |
TSAI C W, LAI C F, CHIANG M C, et al. Data mining for internet of things:a survey[J]. IEEE Communications Surveys & Tutorials, 2014, 16(1): 77-97. |
| [4] |
ALAM F, MEHMOOD R, KATIB I, et al. Analysis of eight data mining algorithms for smarter internet of things (IoT)[J]. Procedia Computer Science, 2016, 98: 437-442. DOI:10.1016/j.procs.2016.09.068 |
| [5] |
FLEURY A, NOURY N, VACHER M. Supervised classification of activities of daily living in health smart homes using SVM[C]//31st Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Minneapolis, 2009: 6099-6102. 10.1109/IEMBS.2009.5334931
|
| [6] |
NGUYEN Q C, SHIN D, SHIN D, et al. Real-time human tracker based on location and motion recognition of user for smart home[C]//2009 Third International Conference on Multimedia and Ubiquitous Engineering. Qingdao, 2009: 243-250. 10.1109/MUE.2009.51
|
| [7] |
吴倩红, 高军, 侯广松, 等. 实现影响因素多源异构融合的短期负荷预测支持向量机算法[J]. 电力系统自动化, 2016, 40(15): 67-72. WU Q H, GAO J, HOU G S, et al. Short-term load forecasting support vector machine algorithm to realize multi-source heterogeneous fusion of influencing factors[J]. Automation of Electric Power Systems, 2016, 40(15): 67-72. (in Chinese) DOI:10.7500/AEPS20160229012 |
| [8] |
RAKOTOMAMONJY A, BACH F R, CANU S, et al. SimpleMKL[J]. Journal of Machine Learning Research, 2008, 9: 2491-2521. |
| [9] |
PALUMBO F, GALLICCHIO C, PUCCI R, et al. Human activity recognition using multisensor data fusion based on reservoir computing[J]. Journal of Ambient Intelligence and Smart Environments, 2016, 8(2): 87-107. |
| [10] |
SUN Z, AMPORNPUNT N, VARMA M, et al. Multiple kernel learning and the SMO algorithm[C]//24th Annual Conference on Neural Information Processing Systems. Vancouver, 2010: 2361-2369.
|



