• 基于LS-SVM对偶问题的分类、回归、时间序列预测和无监督学习研究(Matlab代码实现)


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

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

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

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现

    💥1 概述

    支持向量机(SVM)是一种解决非线性分类、函数估计和密度估计问题的强大方法,这也导致了基于核的学习方法的许多其他最新发展。SVM是在统计学习理论和结构风险最小化的背景下引入的在这些方法中,人们解决凸优化问题,通常是二次规划。最小二乘支持向量机(LS-SVM)是对标准SVM的重新格式化,可用于求解线性KKT系统。LS-SVM与正则化网络和高斯过程[51]密切相关,但还强调并利用原始对偶解释

    经典模式识别算法(如核Fisher判别分析)的核版本与无监督学习、递归网络和控制的扩展[33]之间的链接可用。在需要时,可以将鲁棒性、稀疏性和权重强加给LS SVM,并开发了具有三个推理级别的贝叶斯框架[44]。LS-SVM相似的原对偶公式被给出给核PCA、核CCA和核PLS

    对于非常大规模的问题和在线学习,基于Nyström近似,提出了一种固定大小LS-SVM方法[8],该方法在原始空间中主动选择支持向量和估计。还为核谱聚类[2]、数据可视化[39]、降维和生存分析[40]开发了具有原始对偶表示的方法。当前的LS-SVMlab工具箱与分类、回归、时间序列预测和无监督学习相关的许多LS-SVM算法的Matlab实现。

    📚2 运行结果

     

    部分代码:

    % initiate values
    type = 'classification';
    gamma = 0.1;
    kernel = 'RBF_kernel';
    sigma2 = 1;
    sigma2ent = 0.1;
    crit_old=-inf;
    Nc=20;
    Xs=X(1:Nc,:);
    Ys=Y(1:Nc,:);

    %
    % Initiate grid for plot
    grain = 25;
    xmin1=min(X(:,1)); 
    xmax1=max(X(:,1)); 
    xmin2=min(X(:,2)); 
    xmax2=max(X(:,2)); 
    xrange1 = xmin1:(xmax1-xmin1)/grain:xmax1;
    xrange2 = xmin2:(xmax2-xmin2)/grain:xmax2;
    [XX,YY] = meshgrid(xrange1,xrange2);
    Xt = [reshape(XX,numel(XX),1) reshape(YY,numel(YY),1)];
    figure;


    %
    % iterate over data
    %
    for tel=1:5*length(X)
       
      
      %
      % new candidate set
      %
      Xsp=Xs; Ysp=Ys;
      S=ceil(length(X)*rand(1));
      Sc=ceil(Nc*rand(1));
      Xs(Sc,:) = X(S,:);
      Ys(Sc,:) = Y(S);
      Ncc=Nc;

      %
      % automaticly extract features and compute entropy
      %
      crit = kentropy(Xs,kernel, sigma2ent);
      
      if crit <= crit_old,
        crit = crit_old;
        Xs=Xsp;
        Ys=Ysp;
      else
        crit_old = crit;

        %
        % ridge regression    
        features   = AFEm(Xs,kernel, sigma2,X);
        features_t = AFEm(Xs,kernel, sigma2,Xt);
        [w,b,Yht] = ridgeregress(features,Y,gamma,features_t);
        Yht = sign(Yht);

        %
        % make-a-plot
        Ygt = reshape(Yht(:,1),size(XX,1),size(XX,2));
        colormap cool;
        [C,h]=contourf(XX,YY,Ygt); 
        hold on;
        n = find(Y<=0);
        np = plot(X(n,1),X(n,2),'k.'); 
        p = find(Y>0);
        pp = plot(X(p,1),X(p,2),'k+'); 
        sv = plot(Xs(:,1),Xs(:,2),'go','Linewidth',7);
        xlabel('X_1'); ylabel('X_2'); 
        title(['Approximation by fixed size LS-SVM based on maximal entropy: ' num2str(crit)]);
        legend([np pp sv],'Negative points','Positive points',...
               'Support Vectors');
        
        hold off;  drawnow
      
      end
        
    end
     

    🎉3 参考文献

    🌈4 Matlab代码实现

  • 相关阅读:
    【Redis项目实战】使用Springcloud整合Redis分布式锁+RabbitMQ技术实现高并发预约管理处理系统
    机器学习实战(11)——初识人工神经网络
    现网常见问题及解决思路
    【面试题】JS使用parseInt()、正则截取字符串中数字
    Mac Mini 安装Ubuntu20.04 KVM
    状态压缩dp
    自己编写平滑加权轮询算法,实现反向代理集群服务的平滑分配
    Redis实战篇(五)好友关注
    深度神经网络模型有哪些,深度神经网络预测模型
    含文档+PPT+源码等]精品spring boot+MySQL婚纱影楼管理系统vue[包运行成功]计算机毕设Java项目源码
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127797743