[发明专利]一种基于MPI的分布式ADMM垃圾邮件分类方法在审
申请号: | 202111477718.6 | 申请日: | 2021-12-06 |
公开(公告)号: | CN114154581A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 肖明霏;刘龙恩;王慧慧;周沧琦 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N20/00;H04L51/212;H04L51/42 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mpi 分布式 admm 垃圾邮件 分类 方法 | ||
1.一种基于MPI的分布式ADMM垃圾邮件分类方法,其特征在于,包括如下步骤:
步骤1、将文本数据向量化为数字格式的数据集;
步骤2、将数据集分割为训练集和测试集,对训练集进行过采样处理,再分割为若干份分别保存在若干个从节点上;
步骤3、MPI并行执行所有节点上的代码,从节点并行更新局部模型;
步骤4、主节点通过MPI规约功能汇总从节点的局部模型;
步骤5、主节点更新全局模型,并利用MPI广播功能将全局模型分发到各个从节点;
步骤6、循环交替更新从节点和主节点的模型,直到满足终止条件;
步骤7、保存主节点的全局模型作为分类器模型;
步骤8、利用训练得到的分类器模型对测试集进行分类,输出分类结果。
2.根据权利要求1所述的一种基于MPI的分布式ADMM垃圾邮件分类方法,其特征在于,步骤1利用NLP技术,将文本数据向量化为数字格式的数据集;处理后的数据集表示为其中n为样本数量,xi为第i个d维的样本数据向量,yi为第i个样本标签,Rd表示d维的实数集,i取值1~n;使用L2正则化的L2损失支持向量机SVM作为线性分类模型,目标函数表示为:
其中C0是一个超参数,用来控制正则项和损失项比重关系,w是分类模型变量,且w∈Rd;
使用SMOTE算法对训练集过采样处理使得训练集中正样本和负样本数量相当,接着再分割为若干份分别保存在若干个从节点上。
3.根据权利要求2所述的一种基于MPI的分布式ADMM垃圾邮件分类方法,其特征在于,步骤2将数据集按照4:1的比例分割为训练集和测试集,并分割为若干份分别保存在若干台从节点上,同时复制代码文件到若干个从节点,假设数据被存在了m个节点(D1,D2,…,Dm)上,式(1)改写为:
s.t.wj-z=0,j=1,…,m
其中ρ是一个超参数,wj是第j个从节点的局部模型变量,z是在主节点上更新的全局模型变量,且z∈Rd;
将式(2)改写成增广拉格朗日形式得到式(3),即:
其中θj是第j个从节点的模型对偶变量。
4.根据权利要求3所述的一种基于MPI的分布式ADMM垃圾邮件分类方法,其特征在于,步骤3中MPI并行执行所有节点上的代码,通过mpiexec命令完成;
主节点上随机初始化全局模型变量z,各从节点上随机初始化局部模型变量wj及其对偶变量θj,初始化为全零;从节点并行更新局部模型变量,由ADMM算法更新规则得到,w,z,θ按如下公式迭代更新:
其中k是迭代次数,拉格朗日函数L(w,z,θ)对于wj可分解;在各个从节点上并行地解决公式(4)来更新局部模型变量wj:
5.根据权利要求4所述的一种基于MPI的分布式ADMM垃圾邮件分类方法,其特征在于,步骤4中主节点通过MPI规约功能汇总从节点的局部模型,通过如下代码创建MPI的通信子comm:
comm=MPI.COMM_WORLD,
其中COMM_WORLD是MPI的内置对象,接着利用通信子实现规约功能,表示如下:
comm.Reduce(sendbuf,recvbuf,Op,root)
其中Reduce是规约函数,sendbuf表示从节点发送的内容,传入局部模型变量及其对偶变量recvbuf表示主节点用于接收的变量,Op表示具体规约的操作函数,使用MPI.SUM函数,表示将从节点的值相加后传给主节点,root表示根节点序号,传入主节点序号0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111477718.6/1.html,转载请声明来源钻瓜专利网。