• 极限学习机和自适应稀疏表示算法 (EA-SRC)(Matlab代码实现)


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

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

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

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现

    💥1 概述

    文献来源:

    最近的研究表明,极限学习机(ELM)的速度优势和稀疏表示分类(SRC)在图像分类领域的精度优势。然而,这两种方法都有各自的缺点,例如,一般来说,已知ELM对噪声的鲁棒性较差,而SRC已知非常耗时。因此,ELM和SRC在计算复杂性和分类准确性方面相辅相成。为了统一这种互补性,从而进一步提升分类性能,本文提出了一种高效的混合分类器,以利用ELM和SRC的优势。更准确地说,所提出的分类器包括两个阶段:首先,通过监督学习训练ELM网络。其次,采用关于所得ELM输出可靠性的判别性判别准则来判断查询图像是否可以正确分类;如果输出可靠,则分类将由ELM执行;否则,查询图像将被馈送到 SRC。同时,在SRC阶段,通过ELM输出提取自适应于查询图像而不是整个字典的子字典。因此可以减轻SRC的计算负担。在手写数字分类、地标识别和人脸识别方面的大量实验表明,所提出的混合分类器在分类精度方面优于ELM和SRC,具有出色的计算效率。 

    📚2 运行结果

     部分代码:

    clear;clc;
    addpath(genpath('./.'));
    rng('default');

    %%%%%%%%%-----load data--------------------------------------------------

    [traindata,trainlabel,testdata,testlabel] = sinc_Huang;
    %%%%%%%-----------setting------------------------------------------------

    nn.hiddensize     = 100;
    nn.inputsize      = size(traindata,1);
    nn.activefunction = 's';
    method            = {'ELM','RELM'};
    nn.type           =  'regression';
    %%%%%%%-----------initializzation-----------------------------------------
    nn                = elm_initialization(nn);

    fprintf('      method      |    Optimal C    |  Training Acc.  |    Testing Acc.   |   Training Time \n');
    fprintf('--------------------------------------------------------------------------------------------\n');

    %--------ELM-----------------
    nn.method         = method{1};
    [nn, acc_train]   = elm_train(traindata, trainlabel, nn);
    [nn1, acc_test]   = elm_test(testdata, testlabel, nn);

    fprintf('      %6s      |     %.5f     |      %.3f      |      %.5f      |      %.5f      \n',nn.method,nn.C_opt,acc_train,acc_test,nn.time_train);


    %--------RELM-LOO-----------
    nn.method         = method{2};
    nn.C              = exp(-8:0.2:6);
    [nn, acc_train]   = elm_train(traindata, trainlabel, nn);
    [nn2, acc_test]   = elm_test(testdata, testlabel, nn);

    fprintf('      %6s      |     %.5f     |      %.3f      |      %.5f      |      %.5f      \n',nn.method,nn.C_opt,acc_train,acc_test,nn.time_train);

    🎉3 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    J. Cao, K. Zhang, M. Luo, C. Yin and X. Lai, Extreme learning machine and adaptive sparse representation for image classification, Neural networks (2016), http://dx.doi.org/10.1016/j.neunet.2016.06.001

    🌈4 Matlab代码实现

  • 相关阅读:
    异步电机直接转矩控制学习
    SpringMVC初级
    SpringCloud 学习笔记总结 (八)
    五年Java编程生涯,大专学历最终逆袭阿里,面试+学习+经历分享
    QT学习:使用JSON/XML等非ts文件实现多语言国际化
    kafka学习问题
    LabVIEW高温摩擦磨损测试系统
    一文讲清楚Java面向对象的继承关系
    c - ar 中的 “rcs“选项有什么作用?
    ArrayList特点分析及源码阅读
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127831474