在边缘计算中协作回归学习的分布式ADMM方法(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

文献来源:

摘要:
随着物联网(IoT)的快速发展,大量数据由边缘网络上的无线传感器和连接设备产生。传统的云计算存在严重的通信延迟、带宽成本和数据隐私问题。为了解决这些问题,边缘计算被引入作为一种新的范式,允许计算和分析在与数据源紧密接近的地方进行。本文研究了在训练样本保持私密的源设备上进行回归分析的方法。具体来说,我们考虑了基于传感器收集的信息广泛采用的套索回归模型,用于预测和预测。通过采用交替方向乘子法(ADMM),我们将原始回归问题分解为一组子问题,每个子问题可以由IoT设备使用其本地数据信息来解决。在迭代求解过程中,参与的设备只需向边缘服务器提供一些中间结果以进行套索训练。我们进行了基于两个数据集的大量实验,以展示我们提出的方案的有效性和效率。
关键词:物联网(IoT),边缘计算,ADMM,套索。

1 简介
近年来,各种嵌入式传感器的物联网(IoT)设备快速渗透,显著改变了信息收集、处理和共享的方式。通常情况下,在IoT设备上运行计算密集型应用是不切实际的,因为这些设备通常受到板载资源和电池容量的限制。这促使了IoT云平台的发展,允许将计算和分析任务卸载到资源丰富的集中式云中[Truong和Dustdar(2015)]。然而,基于云的解决方案会通过广域网引入不可预测的长延迟,以及产生巨大的额外带宽占用,这可能超出了当今互联网的能力[Ha,Pillai,Lewis等人(2013)]。此外,它还会带来许多隐私威胁和安全挑战[Zhou,Cao,Dong等人(2017)]。因此,将计算和分析移至IoT设备的近距离位置,即网络边缘,更为可取。人们预见边缘计算将成为云计算的一个有前途的补充[Shi,Cao,Zhang等人(2016)],并对人类社会产生与后者同等的影响。

通过边缘计算,可以在现场实时进行协作机器学习[Portelli和Anagnostopoulos(2017)],从各种IoT设备收集的数据中获取有用信息。例如,路边基站可以利用回归分析通过分析来自附近GPS启用车辆、视频摄像头和道路传感器的数据来预测短期交通流量[Zhou,Cao,Dong等人(2017);Shi,Cao,Zhang等人(2016);Xi,Sheng,Sun等人(2018)]。另一个很好的例子是设备维护,它利用多传感器信息(如温度、声音和振动)构建分类器用于故障检测和诊断[Kwon,Hodkiewicz,Fan等人(2016)]。在这种系统中,边缘分析通常以集中式方式进行,即每个涉及的设备将其自己的数据样本发送到专用边缘服务器进行训练和构建学习模型。然而,这种集中式解决方案存在三个缺点。首先,许多机器学习算法需要解决特定的凸优化问题。根据先前的研究[Dhar,Yi,Ramakrishnan等人(2015);Boyd,Parikh,Chu等人(2011)],传统的集中式求解器随着数据量的增加而扩展性不佳。其次,并非所有边缘服务器都像云服务器那样富有资源,可以运行用于单节点内存分析的复杂工具[Dhar,Yi,Ramakrishnan等人(2015);Ismail,Goortani,Karim等人(2015)]。第三,IoT生成的数据可能包含私人和敏感信息(例如可穿戴用户的健康状态),不应直接暴露给边缘服务器或其他设备[Zhou,Cao,Dong等人(2017);Gong,Fang和Guo(2016)]。为了解决这些挑战,希望边缘计算的学习解决方案能够共同考虑可扩展性、性能和隐私问题。

在本文中,我们特别关注lasso(即最小绝对收缩和选择算子[Tibshirani(1996)]),这是一种结合了正则化和变量选择的经典线性回归技术,用于预测和预测。这种技术已经在许多IoT应用中使用,例如用于IoT设备的电池可用性预测[Longo,Mateos和Zunino(2018)],以及用于智能建筑的内部温度预测[Spencer,Alfandi和Al-Obeidat(2018)]。具体地,我们开发了一种分布式、协作学习解决方案,利用多个IoT设备的采样数据来训练lasso回归模型。基于交替方向乘法法(ADMM)[Boyd,Parikh,Chu等人(2011)],所提出的方案自然地将lasso的目标优化问题分解为可以由每个参与设备使用其本地数据解决的小子问题。

在我们的方案中,边缘服务器只需要从IoT设备收集本地训练的中间参数,并执行简单的聚合操作以获得目标lasso模型。边缘服务器和IoT设备以这种协作方式进行多次迭代,直到lasso模型收敛。我们基于两个数据集进行了广泛的实验,采用不同的系统配置。实验结果显示,我们的方案在几十次迭代内迅速收敛到接近最优性能。与其他基准解决方案相比,在效率和可扩展性方面表现良好,同时获得了具有适度准确性的lasso模型。

本文的其余部分组织如下。第2节简要回顾了现有工作。第3节描述了系统模型并推导了问题的表述。在第4节中,我们详细阐述和讨论了提出的基于ADMM的算法。第5节展示和讨论了模拟结果。最后,在第6节中我们总结了本文。

📚2 运行结果

其他结果图去掉Matlab图框:

部分代码:

    %% 迭代次数写文件
    iterFileName = [saveFile, 'iter.txt'];              %目标函数文件
    fiter = fopen(iterFileName,'a');                % 迭代次数文件
    fprintf(fiter,'%-5d %-5d\r\n',Block, myIter_now);
    fclose(fiter);
    %% 误差写入文件
    evaluateFile = [saveFile,'MSE.txt'];       %记录MSE R2 R2_Adjusted
    fevaluate1 = fopen(evaluateFile,'a');          % 均方误差等错误率文件
    fprintf(fevaluate1,'%-5d %-5f %-5f %-5f %-5f %-5f %-5f %-5f %-5f %-5f %-5f %-5f %-5f %-5f\r\n',Block, MSE_low, R2_low, R2Adjusted_low, testMSE_low ,testMSE_high,testR2_low,testR2_high,testR2Adjusted_low,testR2Adjusted_high,my_testR2_low,my_testR2_high,my_testR2Adjusted_low,my_testR2Adjusted_high ); %错误率文件:写入 MSE + R2 + R2_Adjusted
    fclose(fevaluate1);%%从左到右依次为在MSE最大最小时训练集上的MSE,R2,R2Adjusted;测试集上MSE,R2,R2Adjusted最大最小值;不依赖MSE时的R2,R2Adjusted值

    %% 特征向量值
    paramFile = [saveFile,'featureVector.txt'];
    fVector = fopen(paramFile,'a');                % 将数据保存到文件中
    fprintf(fVector,'%-5d ',Block);       %特征向量文件:写入特征向量
    fprintf(fVector,'%-5f ',his.wResult(index0,:));       %特征向量文件:写入特征向量
    fprintf(fVector,'\r\n');
    fclose(fVector);

    %% 根据wResult画出收敛曲线
    hold on 
    xAxis = 1:runtime;
    for i = 1:n
        plot(xAxis, wResult1(:,i));
    end
    %% 保存图像文件
%     saveObjImg = [saveFile,'\coefficient.png'];
%     saveas(gcf,saveObjImg);

    %%目标函数图
    h = figure;
    plot(xAxis, lossResult1);
    %% 保存图像文件
    saveObjImg = [saveFile,'\Objective.png'];
    saveas(gcf,saveObjImg);
    
    %%MSE 图
    h = figure;
    plot(xAxis, history.MSEN);
    %% 保存图像文件
%     saveObjImg = [saveFile,'\MSE.png'];
%     saveas(gcf,saveObjImg);
end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、数据、文章

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值