基于朴素贝叶斯增量学习算法的个体热舒适预测模型*

2021-12-02 10:44重庆大学韩尔东李百战杜晨秋姚润明
暖通空调 2021年11期
关键词:准确度增量受试者

重庆大学 韩尔东 李百战 杜晨秋 秦 硕 姚润明

0 引言

20世纪70年代,Fanger教授基于人体热平衡理论,通过大规模人群实验,建立了预测人员热舒适的PMV-PPD模型[1],并被多部国内外标准采用[2-3]。随着PMV-PPD模型的广泛应用,该模型的局限性也日益凸显。一方面,PMV-PPD模型是在大规模的人群实验中得到的,预测的是大量个体在特定热环境下的平均热感觉[4]。但是性别[5]、年龄[6]和心理状态[7]等因素都会造成个体之间热舒适状态的差异。另一方面,PMV-PPD模型不具备自学习和自纠正的能力[8],一旦使用场景发生变化,PMV-PPD模型的预测性能将会下降。Cheung等人[9]和Jiang等人[10]分别使用ASHRAE全球热舒适数据库和气候仓实验数据验证了PMV模型的预测性能,结果表明PMV模型的预测准确度仅分别为34.0%和49.7%。同样,目前的适应性模型[11]、aPMV模型(适应性PMV模型)[12]预测的也是大量人群的平均舒适范围和平均热感觉。建立个体热舒适模型是指收集单一个体的热舒适数据,通过机器学习算法或其他方法建立符合单一个体需求的热舒适预测模型(personalized thermal comfort model),以实现空调系统供给与个体需求的匹配。

在建筑环境领域,室内人员的热舒适与环境因素、心理因素和行为因素存在复杂的相关性,而机器学习算法善于从繁多的数据中学习各变量与人体热舒适之间隐含的、有价值的或者规律性的知识,并将其应用到实践中[13]。热舒适预测的本质是机器学习中的分类问题,常见分类算法如决策树[13]、随机森林[14]、K最近邻算法[15]、朴素贝叶斯算法[16]和人工神经网络算法[17]都可以用于热舒适的预测。现有研究首先在气候仓[18-19]和实际环境[20-21]中,通过侵入式[5]、半侵入式[16]和非侵入式[22-23]的方法,收集环境数据、受试者生理数据和主观反馈信息。在数据清洗后,匹配客观参数与主观反馈,按照一定比例划分训练集和测试集。使用训练集完成模型训练,使用测试集检验模型对“未见数据”的预测能力。在建立个体热舒适预测模型后,还可以通过模拟[24]和现场实测[25]的方式检验模型在提升用户舒适度和节能方面的潜力。根据Xie等人的综述[26],通过机器学习建立的热舒适预测模型的准确度可以达到84%,将模型应用到暖通空调系统的控制中平均可以提升29.1%的舒适度和降低22.0%的能源消耗。可见使用机器学习建立个体热舒适模型可以准确预测个体需求,实现供给与需求的匹配,显著提升用户的舒适度和降低建筑能耗。

在已有的研究中,建立个体预测模型之前需要获得大量的热舒适数据,这不符合实际数据产生的方式。并且考虑到季节更替[27-28]等因素,新产生的样本可能包含个体热舒适偏好发生变化的信息,因此通过新增样本更新模型以适应这种变化十分有必要,但现有更新方法的成本很高。例如现有研究将新样本直接与已保存的历史样本组合,重新训练模型。这种建模方式需要存储模型及所有历史样本,时间和空间成本巨大,不利于部署到小型的轻量化终端设备。Liu[17]等人在研究中提出,当产生新的样本后,用新样本代替历史样本中相同数量的旧样本,重新训练模型。这种方式虽然减少了部分空间成本,但仍然需要保留一定量的历史样本重新训练,并且模型的准确度可能也会因训练样本数量不足而降低。

因此亟需开发新的模型更新方法,既可以使用增量数据在线更新模型,减少更新的时间与空间成本,也可以保持模型具有较高的预测性能。

1 研究方法

1.1 增量学习算法

为实现“使用增量数据在线更新模型”,本文采用了基于朴素贝叶斯的增量学习算法。朴素贝叶斯算法是源于贝叶斯定理的监督学习算法,使用贝叶斯公式计算标签Ai在特征X的前提下出现的概率P(Ai|X),哪个标签出现的概率大,就认为待分类样本是这个标签。计算公式如式(1)所示。

(1)

式中P(Ai)为样本标签为Ai的先验概率,不依赖于样本特征X;P(X|Ai)为在标签为Ai时特征X出现的概率;P(X)为特征X的先验概率,是一个常数[29]。

本文借助Scikit-learn机器学习库[30]实现了一种基于朴素贝叶斯的增量学习算法,如图1所示。先使用基础训练集(约5~10组样本)训练一个基础模型,即计算一个初始的P(Ai)和P(X|Ai)。完成训练后丢弃所有历史样本,当产生增量样本后,使用增量样本对P(Ai)和P(X|Ai)进行修正,修正公式如式(2)~(6)所示。

图1 基于朴素贝叶斯算法的增量学习流程

(2)

P*(xj|Ai)=

(4)

(5)

(6)

每次完成修正后,丢弃当前增量样本,直至完成对所有增量样本的学习,该方法只需保存模型即可。将该方法简称为方法A。

为了验证本文提出的增量学习算法的性能,将其与以往研究中已经出现的模型更新方法(方法B和方法C)进行对比,如表1所示。

1.2 数据收集

利用机器学习算法建立个体热舒适模型,需要收集个体在特定热湿环境下的主观评价。本文从在气候仓进行的实验中收集环境参数、受试者生理参数和主观评价。

具体的实验工况设置如表2所示。温度在22~32 ℃之间渐变,温度变化率控制在0.5 ℃左右;相对湿度在50%~80%范围内波动;风速分为无风速、固定1挡风速和可调风速3种情况;着装分为固定着装和可调着装2种情况。受试者在可调风速、可调着装2种工况下可以根据自身需求调节风速和增减衣物,在其余工况下不得调节风速和增减衣物。

表1 3种模型更新方法

表2 实验工况设计

本研究测量的环境参数包括:干球温度、相对湿度和风扇挡位。为防止受试者所处环境的参数与测量得到的参数有较大误差,温湿度传感器置于距离受试者50 cm范围以内、高度75 cm左右的位置。温湿度传感器1 s记录1次环境参数。本研究测量的人体生理参数包括:心率、皮肤温度(手腕和脚踝)、耳温和血压。皮肤温度1 s记录1次,心率、耳温和血压10 min记录1次。测量设备相关信息见表3。

表3 测量设备与精度

本次实验在重庆大学人工气候室进行。通过自愿的方式共招募到9位受试者,基本信息如表4所示。实验开始前,受试者在中性的环境中(26 ℃)消除此前热环境暴露的影响。进入实验室后,受试者保持静坐,可以进行正常的文案工作,并在实验人员的提醒下每10 min填写1次主观调查问卷,受试者的主观评价通过电子问卷的形式收集。在实验过程中,受试者可以根据工况要求和自身需求调节着装和局部风扇风速。整个实验流程持续3 h。

表4 受试者基本信息

1.3 数据预处理

1.3.1准备样本

机器学习的训练样本由输入特征和标签组成。鉴于实验中所收集的变量均与受试者热舒适状态有潜在联系,因此将实验中收集到的所有环境参数(干球温度、相对湿度和风扇挡位)和生理参数(皮肤温度、血压、心率和耳温)均作为输入特征。此外,Cosma等人的研究表明,身体各部位的皮肤温度差异对人员热舒适状态也有影响[21],因此将手腕和脚踝的皮肤温度差也作为输入特征。研究表明,相比热感觉,热期望更能体现出特定环境下受试者希望环境变化的方向[32],因此选择热期望作为样本的标签,即“希望环境暖一些”(-1)、“希望环境保持不变”(0)、“希望环境凉一些”(1)。将输入特征与对应时刻的标签组合即为一组样本。本文将70%的样本作为训练集,30%的样本作为测试集。并且将训练集划分为基础训练集和增量训练集,基础训练集用于训练基础模型,增量训练集中的样本用于模拟用户在实际使用中产生的增量样本。

1.3.2模拟产生增量数据

本文和其他研究一样,也是在实验中一次性获得大量数据。为了模拟单一个体在实际生活中产生的新样本,采用了一种名为“数据流迭代器”的方法。将1.3.1节所述的增量训练集输入到“数据流迭代器”,“数据流迭代器”可以在每次循环时从增量训练集中导出一组新样本,这组新样本就被认为是模型在实际生活中得到的增量样本,直至将增量训练集中的所有样本全部导出,流程如图2所示。

图2 模拟用户产生新数据样本的过程

1.4 模型评价指标

现有研究多采用准确度作为模型分类性能的评价指标,即预测正确的样本占总样本的比例。但采用准确度作为评价指标会存在“随机正确”的现象:如有一个不平衡的数据集,中性标签的样本占90%,其余标签的样本占10%。刚好存在一个模型M,不论输入如何,其输出均为中性,如果用M来预测这个不平衡的数据集,其准确度可以高达90%,但是从模型表现来看,这并不是一个性能良好的模型。本研究收集到的数据是一个不平衡的样本集,详见2.1节。因此本研究引入Kappa系数作为评价指标,Kappa系数基于混淆矩阵(如图3所示)计算模型性能,适用于评价模型预测不平衡数据集时的性能[16,33],其计算公式为

(7)

式中k为Kappa系数;p0为观测的一致性,p0=[A(-1,-1)+A(0,0)+A(1,1)]/S,其中A(i,j)表示实际标签为j,但被模型预测成i的样本数量,当i=j时表示模型预测正确(A(-1,-1)、A(0,0)、A(1,1)),i≠j时表示模型预测错误,S为混淆矩阵所有元素之和(∑A(i,j));pe为偶然的一致性,pe=[R1C1+R2C2+R3C3]/S2,其中Ri和Ci分别为混淆矩阵中第i行和第j列的和。

图3 混淆矩阵的结构

Kappa系数的数值与对应的一致性如表5所示[34]。

2 结果分析

表5 Kappa系数对应的一致性程度

2.1 样本分布

本次实验共有9位受试者(编号为Sub 1~Sub 9)参与,排除包含数据缺失值、异常值的样本后,共收集有效样本1 925组。统计了每位受试者所有样本的热期望标签分布,如图4所示。总体来看,“希望环境保持不变”(0)占56.4%,“希望环境凉一些”(1)占26.8%,“希望环境暖一些”(-1)占16.8%。每位受试者的样本标签均呈现不均匀分布的状况,因此1.4节提出使用Kappa系数来衡量模型性能是十分必要的。图5为所有受试者在不同热期望下的变量分布图。在本次实验中,环境温度、手腕温度和脚踝温度在不同热期望下的分布具有明显的差异,可以初步判断这3个变量对热期望有较大影响。当风扇挡位为3挡时,基本不会出现“希望环境暖一些”的情况;当着装热阻超过0.5 clo时,基本不会出现“希望环境凉一些”的情况。而其他单个变量在3种热期望下分布的差别较小,基本呈现相近的趋势。

图4 受试者热期望分布

2.2 模型性能评价

按照1.1节提出的增量学习算法(表1的方法A),先使用5组样本训练得到基础模型。再通过“数据流迭代器”模拟实际应用时产生的增量样本,每产生一组增量样本,都对现有模型进行修改,直至完成对所有样本的学习。图6显示了使用该方法对9位受试者的数据进行增量学习的结果,可以看出所有受试者的热舒适模型性能均随着样本数的增加而上升。当增加的样本数达到一定数目后,模型性能开始趋于稳定。表6统计了各受试者的热舒适模型在学习了所有样本后的Kappa系数,可以看出除Sub 2以外,其余所有受试者热舒适模型的Kappa系数均超过了0.6,平均Kappa系数达到了0.699 4,表明模型结果与实际结果存在高度一致性。此外,表6显示该算法建立的模型平均仅需26组增量样本,即可达到最终Kappa系数的90%。综合图6和表6,可知本文所提出的算法训练得到的模型不仅具有较高的预测性能,而且需要的样本量较少。

图6 各受试者热舒适模型性能变化曲线

表6 受试者热舒适模型的Kappa系数

由图6和表6可知,9位受试者热舒适预测模型的Kappa系数整体均低于准确度,这是因为Kappa系数在本质上是去除了偶然一致性后的“准确度”。以Sub 3和Sub 6为例,虽然Sub 3模型的准确度超过了Sub 6模型,但Sub 3模型的Kappa系数却小于Sub 6模型。这是由于Sub 3的样本分布十分不平衡(见图4),偶然一致性大,Sub 3模型需要达到更高的准确度才能证明其具有和Sub 6模型一样的预测性能。再以Sub 2为例,虽然准确度超过了0.7,但是Kappa系数还未达到0.6,说明模型预测与实际仅具有“中等的一致性”。

值得注意的是,Sub 3模型的准确度在一开始有先下降后上升的现象。通过分析混淆矩阵,原因如下:以图7为例来说明,一开始的模型无论真实标签如何,预测的结果都是“希望环境保持不变”(0),虽然模型的准确度较高,但模型性能很差;随着不断学习增量样本,该模型开始具备预测其他类别的能力,也造成了更多的误分类,造成准确度下降,但Kappa系数在上升,模型的性能也在上升;继续学习更多样本后,误分类的个数开始减少,准确度和Kappa系数都在上升。综上所述,相比准确度而言,Kappa系数更适合评价模型的预测性能。

图7 对部分模型准确度出现先下降后上升的解释

2.3 3种建模方法的模型性能对比

表7对比了本文提出的增量学习算法(表1的方法A)和以往文献中出现的2种方法(表1的方法B和方法C)的建模性能,分别对比了3种建模方法在增量学习50组和100组样本之后的模型Kappa系数。可以看出,方法A和方法B建立模型的Kappa系数几乎完全相同,表明通过这2种方法建立的模型性能差异极小,这是朴素贝叶斯算法的原理导致的。朴素贝叶斯算法中标签的先验概率和特征的条件概率,即1.1节提到的P(Ai)和P(X|Ai),在预测样本的标签时起到了决定性作用。方法A是根据式(2)~(6)和新增的样本来修正标签的先验概率和特征的条件概率,而方法B是重新计算新增样本后标签的先验概率和特征的条件概率,2种方法计算得到的结果是几乎相同的,所以得到的模型性能也是几乎相同的。但方法C建立的模型性能明显低于方法A和方法B,这是因为方法C最多只保持20组训练样本,提高方法C的训练样本数可提高建模性能,但也会提高建模成本。

表7 3种建模算法的Kappa系数对比

2.4 3种建模方法的时间空间成本对比

图8对比了3种方法对各受试者的所有数据进行完整的增量学习所需要的时间。可以看出,使用方法A所需要的时间明显少于方法B和方法C,方法B和方法C均需重新训练模型,因此需要的时间几乎完全相同。对于本文所使用的数据集,使用方法A建模的平均时间为0.221 s,而使用方法B和方法C建模的平均时间为0.268 s,方法A缩短了17%的建模时间。

图8 3种建模方法的时间对比

图9对比了3种方法在建模过程中占用的存储空间。由于方法A仅存储模型,所以在增量学习的过程中占用的存储空间保持不变;方法B既存储模型又存储历史样本,所以在增量学习的过程中占用的存储空间随样本数的增加而增大;方法C需要存储预测模型和20组训练样本,因此在获得20组样本后,占用的存储空间保持不变。在增量学习100组样本后,方法A相比方法B和方法C分别节约了98%和92%的空间成本。

图9 3种建模方法的空间成本对比

需要指出的是,本研究的模型训练过程均是在个人计算机(PC)上进行的,因此时间成本和空间成本都不算高。但是考虑到用户热舒适数据的隐私性和数据传输的复杂性,未来个人热舒适模型的建立与更新都应当在本地的轻量化智能终端(如智能空调)中进行,其数据计算和存储能力要远低于日常使用的个人计算机,因此本文提出的模型建立与更新的方式更加适合部署到计算资源和存储资源较少的轻量化智能终端。

3 讨论与展望

以往的研究过多强调如何利用各种机器学习算法提升预测模型的准确性,而很少考虑在面对不断出现的“流式数据”时如何更新模型。本文提出的基于朴素贝叶斯增量学习算法相比现有的模型更新方法,具有更高的准确度和更低的建模成本,更适合部署到计算和存储资源较少的轻量化智能终端。同时为了避免偶然的一致性,采用了Kappa系数来科学评价模型的预测性能,扣除了在预测过程中出现的偶然一致性,还原了模型本身具备的预测能力,建议后续研究多采用Kappa系数作为模型评价指标。也有学者认为应当依据模型的应用特点选择合适的评价指标,如Cosma等人认为:如果希望最大程度地节约能源,则应当选择一个具有高查全率的模型;如果希望最大程度地保证人员舒适,则应当选择一个高查准率的模型[21]。

不过,本文仍存在以下不足:第一,本文使用的增量学习算法没有赋予新样本更高的权重。考虑到实际中新增样本对预测人员热舒适状态的作用更大,因此后续研究可以考虑提高新增样本在建模过程中的权重,从而建立性能更高的个体热舒适预测模型。第二,本文提出的算法仅适用于单人空间的热舒适预测,在得到用户冷热需求的基础上即可控制室内空调运行,但开发适合共享空间(如多人办公室)的热舒适预测与控制算法仍然是一大难题,特别是当共享空间中存在相左的热期望时如何进行空调控制,以满足共享空间中所有人的热舒适需求。第三,本文仅针对朴素贝叶斯算法提出了一种增量学习方法,并没有考虑其他性能可能更好的分类算法,如支持向量机和人工神经网络等,如何使用这些算法进行增量式的机器学习,这可能需要更多建筑热环境领域与人工智能领域的交叉研究。

4 结论

1) 基于实验室多工况热舒适实验数据实现了朴素贝叶斯增量学习算法,通过增量数据在线建立和更新模型,使建模过程更加符合现实的数据产生方式。

2) 实验数据验证显示,该算法在学习所有样本之后,模型的平均Kappa系数为0.699 4,表明预测结果与真实结果存在高度一致性;并且模型在平均学习26组样本后,即可达到最终Kappa系数的90%,表明该算法建立的模型可以较好、较快地预测真实环境下个体热舒适需求。

3) 通过对比已有模型更新方法,本文所提出的增量学习算法节约了17%的时间成本和90%以上的空间成本,为未来在存储资源有限、计算资源较少的轻量化智能终端中使用提供了一定的参考和支撑。

猜你喜欢
准确度增量受试者
涉及人的生物医学研究应遵循的伦理原则
涉及人的生物医学研究应遵循的伦理原则
浅谈新型冠状病毒疫情下药物Ⅰ期临床试验受试者的护理
导弹增量式自适应容错控制系统设计
影响重力式自动装料衡器准确度的因素分析
提质和增量之间的“辩证”
全现款操作,年增量1千万!这家GMP渔药厂为何这么牛?
疫情下普通患者应如何进行肺功能检查?
Phosphatidylinositol-3,4,5-trisphosphate dependent Rac exchange factor 1 is a diagnostic and prognostic biomarker for hepatocellular carcinoma
特大城市快递垃圾增量占垃圾增量93%