天天看點

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

目錄

​​一、理論基礎​​

​​二、案例背景​​

​​1.問題描述​​

​​2.思路流程​​

​​三、部分MATLAB程式​​

​​四、仿真結論分析​​

​​五、參考文獻​​

一、理論基礎

    MLP多層感覺器神經網絡(Multi-layer perceptron neural networks),其結構由輸入層、一個或多個隐藏層、輸出層構成,其結構框圖如下圖所示:

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

       GRNN廣義回歸神經網絡的網絡結構如圖6所示,整個網絡包括四層神經元:第一層為GRNN神經網絡的輸入層、第二層為GRNN神經網絡的模式層、第三層為GRNN神經網絡的求和層,第四層為GRNN神經網絡的輸出層。

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

        SVM支援向量機方法Vapnik等人根據統計相關理論提出的一種新的機器學習方法,其基本思想是線上性可分的情況下,在原空間尋找兩類樣本的最優分類超平面。線上性不可分的情況下,加入了松弛變量進行分析,通過使用非線性映射将低維輸入空間的樣本映射到高維屬性空間使其變為線性情況,進而使得在高維屬性空間采用線性算法對樣本的非線性進行分析成為可能,并在該特征空間中尋找最優分類超平面。SVM通過使用結構風險最小化原理在屬性空間建構最優分類超平面,使得分類器得到全局最優,并在整個樣本空間的期望風險以某個機率滿足一定上界。

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

        目前,幾乎所有的神經網絡技術都是基于一種淺層結構的網絡構架,基于淺層結構的學習模型其主要特點是其結構簡單,且中間的學習過程不可觀察。單這種技術,其最大的缺陷在于在處理涉及自然信号如人類語言對話,圖像和視覺等複雜的現實應用時,無法獲得較好的學習效果。而人類對于這種複雜資訊的處理,則通過深度構架來提取其内部結構,并通過豐富的感官輸入建立内部的表現形式。是以,研究一種深層結構的神經網絡構架将有助于複雜信号的學習訓練和測試。而深度學習神經網絡就是基于這種背景下研究出來的,深度神經網絡,主要包括基于受限玻爾茲曼機的網絡結構和基于卷積運算的網絡結構,Deep Learning神經網絡的整體結構如下圖所示: 

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

二、案例背景

1.問題描述

     特征選擇是機器學習領域的一個難題,本質上是一個組合優化問題,求解組合優化問題最直接的方法就是搜尋,理論上可以通過窮舉法來搜尋所有可能的特征組合,選擇使得評價标準最優的特征子集作為最後的輸出,但是通過窮舉法的運算量将随着特征數量的增加而呈指數級增加。是以,需要通過特定的特征集合搜尋政策進行特征選擇,其基本步驟如下框圖所示:

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

2.思路流程

       機器學習是計算機智能算法領域的一個重要組成部分。機器學習的研究是根據生理學、認知科學等對人類學習機理的了解,建立人類學習過程的計算模型或認識模型,發展各種學習理論和學習方法,研究通用的學習算法并進行理論上的分析,建立面向任務的具有特定應用的學習系統。對四種常用的機器學習算法,分為是MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡進行識别性能的對比,而使用的特征資料為一組健康人群和非健康人群的身理特征資料,針對這些特征資料,本文同時提出了一種特征選擇方法,從大量的特征資料中獲得最為有效的特征資料作為健康人群和非健康人群的特征識别資料。最後通過MATLAB對四種算法進行測試,仿真結果表明,通過特征選擇之後,基于深度神經網絡的識别算法可以達到96%以上的識别率。

三、部分MATLAB程式

MLP

for i = 1:k
    [ Traindata,Trainaim,Testdata,Testaim] = func_crossvalidation(data_random, indices,i,row,col);
    Testdata  = [Testdata;Testdata(30:end,:)];
    Testaim   = [Testaim;Testaim(30:end,:)];
    Traindata = Traindata(1:30,:);
    Trainaim  = Trainaim(1:30,:);
    %%
    %特征不選擇
    [Ftrain,Ftest]                        = func_feature_selection0(Traindata,Testdata);
    %%
    %MLP識别
    [Preaim,Preaim2,Rate]                 = func_machine_Learing_method(Ftrain,Trainaim,Ftest,Testaim);
    %ROC&PR
%     draw_prc(2*Testaim'-1, 2*Preaim2'-1,2);
end      

GRNN

for i = 1:k
    [ Traindata,Trainaim,Testdata,Testaim] = func_crossvalidation(data_random, indices,i,row,col);
    Testdata  = [Testdata;Testdata(30:end,:)];
    Testaim   = [Testaim;Testaim(30:end,:)];
    Traindata = Traindata(1:30,:);
    Trainaim  = Trainaim(1:30,:);
    %%
    %特征不選擇
    [Ftrain,Ftest]                        = func_feature_selection0(Traindata,Testdata);
    %%
    %MLP識别
    [Preaim,Preaim2,Rate]                 = func_machine_Learing_method(Ftrain,Trainaim,Ftest,Testaim);
    %ROC&PR
%     draw_prc(2*Testaim'-1, 2*Preaim2'-1,2);
end      

SVM

for i = 1:k
    [ Traindata,Trainaim,Testdata,Testaim] = func_crossvalidation(data_random, indices,i,row,col);
    Testdata  = [Testdata;Testdata(30:end,:)];
    Testaim   = [Testaim;Testaim(30:end,:)];
    Traindata = Traindata(1:30,:);
    Trainaim  = Trainaim(1:30,:);
    %%
    %特征不選擇
    [Ftrain,Ftest]                        = func_feature_selection0(Traindata,Testdata);
    %%
    %MLP識别
    [Preaim,Preaim2,Rate]                 = func_machine_Learing_method(Ftrain,Trainaim,Ftest,Testaim);
    %ROC&PR
%     draw_prc(2*Testaim'-1, 2*Preaim2'-1,2);
end      

Deep learning

for i = 1:k
    [ Traindata,Trainaim,Testdata,Testaim] = func_crossvalidation(data_random, indices,i,row,col);
    Testdata  = [Testdata;Testdata(30:end,:)];
    Testaim   = [Testaim;Testaim(30:end,:)];
    Traindata = Traindata(1:30,:);
    Trainaim  = Trainaim(1:30,:);
    %%
    %特征不選擇
    [Ftrain,Ftest]                        = func_feature_selection0(Traindata,Testdata);
    
 
    %%
    %MLP識别
    [Preaim,Preaim2,Rate]                 = func_machine_Learing_method(Ftrain,Trainaim,Ftest,Testaim);
    %ROC&PR
%     draw_prc(2*Testaim'-1, 2*Preaim2'-1,2);
end      

四、仿真結論分析

MLP

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

     對比圖ROC圖和PR圖可知,通過特征篩選處理之後,其具有更優的識别正确率。最後對比對比本文所介紹的Forward和Backward特征選擇仿真,其特征識别率分别為93.6709%和69.6203%

GRNN

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

      對比ROC圖和PR圖可知,通過特征篩選處理之後,其具有更優的識别正确率。最後對比對比本文所介紹的Forward和Backward特征選擇仿真,其特征識别率分别為89.8734%和74.6835%

SVM

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

       對比ROC圖和PR圖可知,通過特征篩選處理之後,其具有更優的識别正确率。最後對比對比本文所介紹的Forward和Backward特征選擇仿真,其特征識别率分别為88.6076%和71.3241%

深度學習:

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

       ROC圖和PR圖可知,通過特征篩選處理之後,其具有更優的識别正确率。

       通過上述四種算法的最終結果對比可知,其最終的識别率分别為:

MLP神經網絡,GRNN神經網絡,SVM神經網絡以及深度學習神經網絡對比識别人體健康非健康資料

五、參考文獻

繼續閱讀