日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现

發布時間:2024/9/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

極限學習機(Extreme Learning Machine, ELM)

極限學習機網絡結構和BP網絡結構類似。 和BP神經網絡不同點:
  • 極限學習機輸入層到隱含層的權重W是可以隨意指定的。BP神經網絡W層需要在學習時進行調整,而極限學習機不需要調整。由于不需要調整,大大加快了速度。
  • 極限學習機的隱含層到輸出層的權重B也不需要迭代調整,而是通過解方程組的方法求出權重。
  • 原理
    前向傳播圖見下
    T為目標輸出,g為激活函數

    把上圖簡潔化,寫成矩陣,H為輸入層與隱含層相乘的結果

    該算法創造者認為如果隱含層神經元個數等于輸入樣本個數相等,則
    HB -T 矩陣范數為0,0誤差。

    如果隱含層的神經元個數小于待學習的樣本個數,模型可以以一定精度學習,即模型的誤差小于一定的值

    權重學習流程

  • 第一步:隨機產生輸入層到隱含層之間的權重值W和閾值(偏置)b
  • 第二步:計算隱含層的輸出矩陣H
  • 第三步:求解隱含層和輸出層之間權重B,因為HB-T的矩陣范數為0,則求解公式如下
  • 因為可能存在H的逆矩陣不存在的情況,導致最后B沒有解,當時作者提出這個算法的時候給出的解決方法是求偽逆矩陣。
    現在的解決方法,如圖

    在H后面加上一個小塊矩陣,使
    可逆。
    則權重解為

    極限學習機相比于BP神經網絡,SVM有什么特征

    • 易用性。除了預定義的網絡架構外,不需要手動調優任何參數
    • 更快的學習速度。大多數訓練可以在毫秒、秒和分鐘內完成
    • 更高的泛化性能。在大多數情況下,該算法比BP算法具有更好的泛化性能與SVM相似或優于SVM的泛化性能。
    • 適用于幾乎所有的非線性激活函數。幾乎所有分段連續(包括不連續)微分、非微分函數)可作為激活函數使用。BP神經網絡要求激活函數可導可微分。
    • 適合于完全復雜的激活函數。完全復雜函數也可以作為激活函數使用ELM。

    極限學習機( ELM)仿真

    重點函數

    • nargin:n arg in:自動計算出方法輸入了幾個參數
    • error:給出錯誤信息
    • pinv:求偽逆矩陣
    • sin / hardlim:涉及到激活函數
    • elmtrain 自己寫的函數,用于ELM訓練,記住:每一列代表一個樣本

    elmtrain.m

    function [IW,B,LW,TF,TYPE] = elmtrain(P,T,N,TF,TYPE) % ELMTRAIN Create and Train a Extreme Learning Machine % Syntax % [IW,B,LW,TF,TYPE] = elmtrain(P,T,N,TF,TYPE) % Description % Input % P - Input Matrix of Training Set (R*Q) % T - Output Matrix of Training Set (S*Q) % N - Number of Hidden Neurons (default = Q) % TF - Transfer Function: % 'sig' for Sigmoidal function (default) % 'sin' for Sine function % 'hardlim' for Hardlim function % TYPE - Regression (0,default) or Classification (1) % Output % IW - Input Weight Matrix (N*R) % B - Bias Matrix (N*1) % LW - Layer Weight Matrix (N*S) % Example % Regression: % [IW,B,LW,TF,TYPE] = elmtrain(P,T,20,'sig',0) % Y = elmtrain(P,IW,B,LW,TF,TYPE) % Classification % [IW,B,LW,TF,TYPE] = elmtrain(P,T,20,'sig',1) % Y = elmtrain(P,IW,B,LW,TF,TYPE) % See also ELMPREDICT % Yu Lei,11-7-2010 % Copyright www.matlabsky.com % $Revision:1.0 $ if nargin < 2error('ELM:Arguments','Not enough input arguments.'); end if nargin < 3N = size(P,2); end if nargin < 4TF = 'sig'; end if nargin < 5TYPE = 0; end if size(P,2) ~= size(T,2)error('ELM:Arguments','The columns of P and T must be same.'); end [R,Q] = size(P); if TYPE == 1T = ind2vec(T); end [S,Q] = size(T); % Randomly Generate the Input Weight Matrix IW = rand(N,R) * 2 - 1; % Randomly Generate the Bias Matrix B = rand(N,1); BiasMatrix = repmat(B,1,Q); % Calculate the Layer Output Matrix H tempH = IW * P + BiasMatrix; switch TFcase 'sig'H = 1 ./ (1 + exp(-tempH));case 'sin'H = sin(tempH);case 'hardlim'H = hardlim(tempH); end % Calculate the Output Weight Matrix LW = pinv(H') * T';

    elmpredict.m

    function Y = elmpredict(P,IW,B,LW,TF,TYPE) % ELMPREDICT Simulate a Extreme Learning Machine % Syntax % Y = elmtrain(P,IW,B,LW,TF,TYPE) % Description % Input % P - Input Matrix of Training Set (R*Q) % IW - Input Weight Matrix (N*R) % B - Bias Matrix (N*1) % LW - Layer Weight Matrix (N*S) % TF - Transfer Function: % 'sig' for Sigmoidal function (default) % 'sin' for Sine function % 'hardlim' for Hardlim function % TYPE - Regression (0,default) or Classification (1) % Output % Y - Simulate Output Matrix (S*Q) % Example % Regression: % [IW,B,LW,TF,TYPE] = elmtrain(P,T,20,'sig',0) % Y = elmtrain(P,IW,B,LW,TF,TYPE) % Classification % [IW,B,LW,TF,TYPE] = elmtrain(P,T,20,'sig',1) % Y = elmtrain(P,IW,B,LW,TF,TYPE) % See also ELMTRAIN % Yu Lei,11-7-2010 % Copyright www.matlabsky.com % $Revision:1.0 $ if nargin < 6error('ELM:Arguments','Not enough input arguments.'); end % Calculate the Layer Output Matrix H Q = size(P,2); BiasMatrix = repmat(B,1,Q); tempH = IW * P + BiasMatrix; switch TFcase 'sig'H = 1 ./ (1 + exp(-tempH));case 'sin'H = sin(tempH);case 'hardlim'H = hardlim(tempH); end % Calculate the Simulate Output Y = (H' * LW)'; if TYPE == 1temp_Y = zeros(size(Y));for i = 1:size(Y,2)[~,index] = max(Y(:,i));temp_Y(index,i) = 1;endY = vec2ind(temp_Y); end

    分類
    鳶尾花侯種類識別
    這個數據集網上很多,就不放啦

    main_iris.m

    %% I. 清空環境變量 clear all clc%% II. 訓練集/測試集產生 %% % 1. 導入數據 load iris_data.mat%% % 2. 隨機產生訓練集和測試集 P_train = []; T_train = []; P_test = []; T_test = []; for i = 1:3temp_input = features((i-1)*50+1:i*50,:);temp_output = classes((i-1)*50+1:i*50,:);n = randperm(50);% 訓練集——120個樣本P_train = [P_train temp_input(n(1:40),:)'];T_train = [T_train temp_output(n(1:40),:)'];% 測試集——30個樣本P_test = [P_test temp_input(n(41:50),:)'];T_test = [T_test temp_output(n(41:50),:)']; end%% III. ELM創建/訓練 [IW,B,LW,TF,TYPE] = elmtrain(P_train,T_train,20,'sig',1);%% IV. ELM仿真測試 T_sim_1 = elmpredict(P_train,IW,B,LW,TF,TYPE); T_sim_2 = elmpredict(P_test,IW,B,LW,TF,TYPE);%% V. 結果對比 result_1 = [T_train' T_sim_1']; result_2 = [T_test' T_sim_2']; %% % 1. 訓練集正確率 k1 = length(find(T_train == T_sim_1)); n1 = length(T_train); Accuracy_1 = k1 / n1 * 100; disp(['訓練集正確率Accuracy = ' num2str(Accuracy_1) '%(' num2str(k1) '/' num2str(n1) ')'])%% % 2. 測試集正確率 k2 = length(find(T_test == T_sim_2)); n2 = length(T_test); Accuracy_2 = k2 / n2 * 100; disp(['測試集正確率Accuracy = ' num2str(Accuracy_2) '%(' num2str(k2) '/' num2str(n2) ')'])%% VI. 繪圖 figure(2) plot(1:30,T_test,'bo',1:30,T_sim_2,'r-*') grid on xlabel('測試集樣本編號') ylabel('測試集樣本類別') string = {'測試集預測結果對比(ELM)';['(正確率Accuracy = ' num2str(Accuracy_2) '%)' ]}; title(string) legend('真實值','ELM預測值')

    回歸
    汽油辛烷值預測

    %% I. 清空環境變量 clear all clc%% II. 訓練集/測試集產生 %% % 1. 導入數據 load spectra_data.mat%% % 2. 隨機產生訓練集和測試集 temp = randperm(size(NIR,1));% 訓練集——50個樣本 P_train = NIR(temp(1:50),:)'; T_train = octane(temp(1:50),:)';% 測試集——10個樣本 P_test = NIR(temp(51:end),:)'; T_test = octane(temp(51:end),:)'; N = size(P_test,2);%% III. 數據歸一化 %% % 1. 訓練集 [Pn_train,inputps] = mapminmax(P_train); Pn_test = mapminmax('apply',P_test,inputps); %% % 2. 測試集 [Tn_train,outputps] = mapminmax(T_train); Tn_test = mapminmax('apply',T_test,outputps);%% IV. ELM創建/訓練 [IW,B,LW,TF,TYPE] = elmtrain(Pn_train,Tn_train,30,'sig',0);%% V. ELM仿真測試 tn_sim = elmpredict(Pn_test,IW,B,LW,TF,TYPE); %% % 1. 反歸一化 T_sim = mapminmax('reverse',tn_sim,outputps);%% VI. 結果對比 result = [T_test' T_sim']; %% % 1. 均方誤差 E = mse(T_sim - T_test);%% % 2. 決定系數 N = length(T_test); R2=(N*sum(T_sim.*T_test)-sum(T_sim)*sum(T_test))^2/((N*sum((T_sim).^2)-(sum(T_sim))^2)*(N*sum((T_test).^2)-(sum(T_test))^2)); %% VII. 繪圖 figure(1) plot(1:N,T_test,'r-*',1:N,T_sim,'b:o') grid on legend('真實值','預測值') xlabel('樣本編號') ylabel('辛烷值') string = {'測試集辛烷值含量預測結果對比(ELM)';['(mse = ' num2str(E) ' R^2 = ' num2str(R2) ')']}; title(string)

    代碼和數據百度云

    鏈接:https://pan.baidu.com/s/1o08kfLvUN3n5pYyE9ycfWg 提取碼:q9vz 復制這段內容后打開百度網盤手機App,操作更方便哦


    作者:電氣工程的計算機萌新-余登武

    總結

    以上是生活随笔為你收集整理的MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 又黄又爽又色的视频 | 欧美日本另类 | www,xxx日本 | 一区二区在线观看视频 | 在线视频福利 | 亚洲欧美日韩一区 | 国产一级片中文字幕 | 毛片亚洲av无码精品国产午夜 | 国产精品久久久91 | 91精品国产自产在线观看 | 中国一级特黄毛片 | 亚洲艹| 日韩一区中文字幕 | 一区二区在线观看免费 | 日韩精品一区二区三区色欲av | 手机看片在线观看 | 久草热在线视频 | 欧美在线性爱视频 | 精品久久五月天 | 日韩有码一区二区三区 | 国产婷婷在线观看 | 18视频在线观看网站 | 五月亚洲 | 波多野结衣 一区 | 国产精品网站入口 | 人人妻人人爽人人澡人人精品 | 爱爱视频在线免费观看 | 99久久精品国产色欲 | 精品女同一区 | 香蕉大人久久国产成人av | 超碰2025| 欧美交受高潮1 | 国产精品九九 | 久久久综合久久久 | 在线免费黄色网 | 高清免费av| 天堂一区二区三区 | 奇米中文字幕 | 色综合一区二区三区 | 玖玖爱在线精品视频 | 亚洲人免费 | cekc老妇女cea0 | 中文字幕日韩精品在线观看 | 国产黄色三级网站 | 西西人体www大胆高清 | 精品无码一级毛片免费 | 欧美国产视频一区 | 国产亚洲成av人片在线观看桃 | 免费观看黄色一级视频 | 亚洲男女视频在线观看 | 超碰在线进入 | 免费人成年激情视频在线观看 | 中文亚洲字幕 | 欧美激情网 | 天天艹日日干 | 国产精品欧美一区二区三区 | 白丝校花扒腿让我c | 无码人妻精品中文字幕 | 小柔的裸露日记h | 佐佐木明希av在线 | 99热导航| 中文字幕无码精品亚洲 | 91夜色 | www.亚洲 | 就爱av| 久久久久性色av无码一区二区 | 182av| 污片免费看 | 欧美精品xxxxx | av大片免费看 | 亚洲双插| 韩国三级在线看 | 69精品一区二区 | 男女在线免费观看 | 伊人网色 | 亚洲精品一区二区三区中文字幕 | 蜜桃视频一区二区三区 | 欧美日韩性视频 | 动漫女被黄漫免费视频 | 猛男被粗大男男1069 | 亚洲在线免费 | 久久综合久久久 | 亚洲欧美国产另类 | 欧美 日韩 成人 | 免费无码不卡视频在线观看 | 麻豆国产免费 | 欧美一区二区三区电影 | 69xxxx国产| 免费在线观看视频a | 西西4444www大胆无视频 | 偷拍一区二区 | av在线黄色 | www.成人在线视频 | 日韩av首页 | 国产精品久久久999 www日本高清视频 | 色综合久久久久久 | 亚洲热热 | 少妇网站在线观看 | a毛片在线免费观看 |