首页 > 编程语言 >社交网络算法改进的深度极限学习机DELM的分类

社交网络算法改进的深度极限学习机DELM的分类

时间:2024-06-10 16:32:36浏览次数:23  
标签:AE ELM DELM 学习机 算法 社交

社交网络算法改进的深度极限学习机DELM的分类

文章目录

1.ELM原理

ELM基础原理请参考:https://blog.csdn.net/u011835903/article/details/111073635。

自动编码器 AE(Auto Encoder)经过训练可以将输入复制到输出。因为不需要标记数据,训练自动编码器是不受监督的。因此,将AE的思想应用到ELM中,使ELM的输入数据同样被用于输出,即输出Y=X。作为自编码器的极限学习机ELM-AE网络结构如图1所示。

请添加图片描述

图1.ELM-AE网络结构图

若图1中m>L ,ELM-AE实现维度压缩,将高维度数据映射成低维度特征表达;若 m=L,ELM-AE实现等维度的特征表达;若 m<L ,ELM-AE实现稀疏表达,即原始数据的高维特征表达。

综上,ELM-AE是一个通用的逼近器,特点就是使网络的输出与输入相同,而且隐藏层的输入参数 ( a i , b i ) (a_i,b_i) (ai​,bi​)??随机生成后正交。正交化后的优点有:

(1)根 据 J-L(Johnson-Lindensrauss) 定理,权重和偏置正交化可以将输入数据映射到不同或等维度的空间,从而实现不同功能的特征表达。

(2)权重和偏置的正交化设计可以去除特征以外的噪声,使特征之间均匀,且更加线性独立进而增强系统的泛化能力。

ELM-AE的输出可以用如下表达式表示:
x j = ∑ i = 1 L β i G ( a i , b i , x j ) , a i ∈ R m , β i ∈ R m , j = 1 , 2 , . . . , N , a T a = I , b T b = 1 (1) x_j=\sum_{i=1}^L \beta_iG(a_i,b_i,x_j),a_i\in R^m,\beta_i\in R^m,j=1,2,...,N,a^Ta=I,b^Tb=1 \tag{1} xj​=i=1∑L​βi​G(ai​,bi​,xj​),ai​∈Rm,βi​∈Rm,j=1,2,...,N,aTa=I,bTb=1(1)
其中 a a a是 a i a_i ai​组成的矩阵, b b b是 b i b_i bi​?组成的向量。隐藏层的输出权重为:
β = ( I C + H T H ) − 1 H T X (2) \beta = (\frac{I}{C}+H^TH)^{-1}HTX \tag{2} β=(CI​+HTH)−1HTX(2)
其中, X = [ x 1 , . . . , x N ] X=[x_1,...,x_N] X=[x1​,...,xN​]是输入数据。

2.深度极限学习机(DELM)原理

根据ELM-AE的特征表示能力,将它作为深度极限学习机 DELM的基本单元。与传统深度学习算法相同,DELM 也是用逐层贪婪的训练方法来训练网络,DELM每个隐藏层的输入权重都使用ELM-AE初始化,执行分层无监督训练,但是与传统深度学习算法不同的是DELM不需要反向微调过程。

请添加图片描述

图2.DELM模型训练过程

DELM的思想是通过最大限度地降低重构误差使输出可以无限接近原始输入,经过每一层的训练,可以学习到原始数据的高级特征。图2描述了DELM模型的训练过程,将输入数据样本X作为第1个ELM-AE的目标输出( X 1 = X X_1 =X X1​=X),进而求取输出权值 β 1 β_1 β1​ ;然后将DELM第1个隐藏层的输出矩阵 H 1 H_1 H1​当作下1个 E L M − A E ELM-AE ELM−AE的输入与目标输出( X 2 = X X_2=X X2​=X),依次类推逐层训练,最后1层用 E L M ELM ELM来训练,使用式(2)来求解DELM的最后1个隐藏层的输出权重 β i + 1 \beta_{i+1} βi+1​ 。图2中 H i + 1 H_{i+1} Hi+1​ 是最后1个隐藏层的输出矩阵,T是样本标签。 H i + 1 H_{i+1} Hi+1​每1层隐藏层的输入权重矩阵为 W i + 1 = β i + 1 T W_{i+1}=\beta_{i+1}^T Wi+1​=βi+1T​。

3.社交网络算法

社交网络算法原理请参考:https://blog.csdn.net/u011835903/article/details/122390020

4.社交网络算法改进DELM

由上述原理可知原始DELM中的,权重采用随机初始化的方式进行初始化,而初始权重对于整个模型的预测结果影响比较大,于是采用社交网络算法对DELM的初始权重进行优化。适应度函数设计如下:
f i t n e s s = 2 − A c c u r a c y ( t r a i n ) − A c c u r a c y ( t e s t ) fitness=2-Accuracy(train)-Accuracy(test) fitness=2−Accuracy(train)−Accuracy(test)
适应度函数为,训练集和测试集(验证集)的分类错误率,分类错误率越低,代表分类正确率越高。

5.实验结果

本文对乳腺肿瘤数据进行分类。采用随机法产生训练集和测试集,其中训练集包含 500 个样本,测试集包含 69 个样本 。

%% 导入数据
load data.mat
% 产生训练集/测试集
a = 1:569;
Train = data(a(1:500),:);
Test = data(a(501:end),:);
% 训练数据
P_train = Train(:,3:end);
T_train = Train(:,2);
% 测试数据
P_test = Test(:,3:end);
T_test = Test(:,2);

DELM的参数设置如下:

这里DELM采用1层结构,每层的节点数分别为32。采用sigmoid激活函数。

%% DELM参数设置
ELMAEhiddenLayer = [32];%ELM—AE的隐藏层数,[n1,n2,...,n],n1代表第1个隐藏层的节点数。
ActivF = 'sig';%ELM-AE的激活函数设置
C = inf; %正则化系数

社交网络算法的相关参数设置如下:

%% 优化算法参数设置:
%计算权值的维度
dim=0;
for i = 1:length(ELMAEhiddenLayer)
   dim = dim+ ELMAEhiddenLayer(i)*size(P_train,2);
end
popsize = 20;%种群数量
Max_iteration = 50;%最大迭代次数
lb = -1;%权值下边界
ub = 1;%权值上边界
fobj = @(X)fun(X,P_train,T_train,P_test,T_test,ELMAEhiddenLayer,ActivF,C);
[Best_pos,Best_score,SSA_cg_curve]=SSA(popsize,Max_iteration,lb,ub,dim,fobj);

最终预测结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从结果来看,无论训练集还是测试集优化后的结果,均更优。

6.参考文献

[1]颜学龙,马润平.基于深度极限学习机的模拟电路故障诊断[J].计算机工程与科学,2019,41(11):1911-1918.

7.Matlab代码

标签:AE,ELM,DELM,学习机,算法,社交
From: https://blog.csdn.net/u011835903/article/details/139578116

相关文章

  • 骑手优化算法改进的深度极限学习机DELM的分类
    骑手优化算法改进的深度极限学习机DELM的分类文章目录骑手优化算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.骑手优化算法4.骑手优化算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u01......
  • 野马算法改进的深度极限学习机DELM的分类
    野马算法改进的深度极限学习机DELM的分类文章目录野马算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.野马算法4.野马算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u011835903/article/......
  • 卷尾猴算法改进的深度极限学习机DELM的分类
    卷尾猴算法改进的深度极限学习机DELM的分类文章目录卷尾猴算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.卷尾猴算法4.卷尾猴算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u011835903/......
  • 基于SpringBoot+Mybatis+Redis的问答社交网站项目(免费提供全部源码)
    下载地址如下:基于SpringBoot+Mybatis+Redis的问答社交网站项目(免费提供全部源码)资源-CSDN文库项目介绍项目背景随着互联网的普及和社交媒体的快速发展,用户对于在线交流和信息分享的需求不断增加。问答社交网站作为一种新型的社交平台,为用户提供了一个交流知识、解决问题和......
  • 自媒体必用的50 个最佳 ChatGPT 社交媒体帖子提示prompt通用模板教程
    在这个信息爆炸的时代,社交媒体已经成为我们生活中不可或缺的一部分。无论是品牌宣传、个人展示,还是日常交流,我们都离不开它。然而,要在众多信息中脱颖而出,吸引大家的关注并不容易。这时候,ChatGPT这样的AI写作工具就显得特别有用了。ChatGPT不仅能帮你快速生成高质量的内容,还能给你......
  • 数字化“智慧导购”:新时代的社交“带货王”|商派
    导购作为品牌DTC的核心触点,让用户的整个购物流程有了更多的人情味,可以有效提升用户的满意度和品牌粘性。计三勇在一次行业论坛公开演讲中指出,无论是做品牌私域流量运营,还是帮助门店开展社交电商,零售企业都应该通过数字化工具的赋能,让每个导购掌握数字化经营客户的能力,掌握社......
  • 社交软件红包技术解密(十三):微信团队首次揭秘微信红包算法,为何你抢到的是0.01元
    本文由腾讯梁中原分享,原题“红包算法揭秘!哪段代码让你只抢了0.01元?”,下文进行了排版和内容优化等。1、引言在上一篇《来看看微信十年前的IM消息收发架构,你做到了吗》的文章中,有用户提到想了解自己每次微信红包只能抽中0.01元的反向手气最佳是怎么在技术上实现的,于是就有了本......
  • 广告电商新玩法:链动2+1模式下的社交电商新体验
    广告电商+链动2+1商业模式解析一、商业模式概述广告电商+链动2+1商业模式是一种创新的电商模式,它将广告电商与链动2+1模式相结合,形成了一种全新的商业模式。在这种模式下,电商平台通过引入广告商投放广告,并将部分广告收益以积分或优惠券的形式返还给消费者,以此吸引和留住用户......
  • 校友社交|基于SprinBoot+vue的校友社交系统(源码+数据库+文档)
    校友社交系统目录基于SprinBoot+vue的校友社交系统一、前言二、系统设计三、系统功能设计 1系统功能模块2后台功能模块5.2.1管理员功能模块5.2.2用户功能模块四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️......
  • GitHub:开发者的社交网络
    简介GitHub,一个为数以百万计的开发者所熟知的名字,它不仅仅是一个代码托管平台,更是一个全球性的开发者社区。GitHub提供了一个协作、分享和发现开源项目的空间,让编程变得更加有趣和高效。什么是GitHub?GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本......