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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

模糊神经网络学习1【基础案例】

發布時間:2024/3/12 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模糊神经网络学习1【基础案例】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. MATLAB模糊神經網絡GUI 打開方式:

anfisedit

2. anfis命令訓練:

% anfis調用5種格式fis=anfis(trainingData) fis=anfis(trainingData,options) [fis,trainError]=anfis(___) [fis,trainError,stepSize] = anfis(___) [fis,trainError,stepSize,chkFIS,chkError] = anfis(trainingData,options)

3. 基礎案例

%% demo1 *** 自動生成默認初始FIS load fuzex1trnData.dat %單輸入輸出數據集fis = anfis(fuzex1trnData); % 自動生成輸出FIS:默認grid partition方法,2個隸屬度x = fuzex1trnData(:,1); anfisOutput = evalfis(fis,x); %使用訓練好的結構進行推理 plot(x,fuzex1trnData(:,2),'*r',x,anfisOutput,'.b') legend('Training Data','ANFIS Output','Location','NorthWest')

?

?

%% demo2 *** anfisOptions指定:模糊隸屬函數個數為4;迭代次數為40 opt = anfisOptions('InitialFIS',4,'EpochNumber',40); opt.DisplayErrorValues = 0; opt.DisplayStepSize = 0;fis = anfis(fuzex1trnData,opt); %-----2 通過anfisOptions指定anfisOutput = evalfis(fis,x); figure plot(x,fuzex1trnData(:,2),'*r',x,anfisOutput,'.b') legend('Training Data','ANFIS Output','Location','NorthWest')

%% demo3 *** genfis創建初始FIS x = (0:0.1:10)'; y = sin(2*x)./exp(x/5);%定義初始ANFIS結構 genOpt = genfisOptions('GridPartition'); % GridPartition genOpt.NumMembershipFunctions = 5;%隸屬函數個數為5 genOpt.InputMembershipFunctionType = 'gaussmf';%使用高斯隸屬函數 inFIS = genfis(x,y,genOpt);%配置選項 opt = anfisOptions('InitialFIS',inFIS); opt.DisplayANFISInformation = 0;%是(1)否(0)顯示ANFIS訓練信息 opt.DisplayErrorValues = 0;%是(1)否(0)顯示ANFIS目標訓練誤差 opt.DisplayStepSize = 0;%是(1)否(0)顯示訓練步長 opt.DisplayFinalResults = 0;%是(1)否(0)顯示訓練結果 opt.ValidationData = chkData;%chkData 驗證數據集 %按照設置的選項訓練ANFIS outFIS = anfis([x y],opt);%圖形化顯示 plot(x,y,x,evalfis(outFIS,x)) legend('Training Data','ANFIS Output')

%% demo4 *** 進行數據驗證防止過度擬合 load fuzex1trnData.dat %導入訓練數據 load fuzex1chkData.dat %導入驗證數據% 設定訓練結構 4 membership functions;30 training epochs opt = anfisOptions('InitialFIS',4,'EpochNumber',30); opt.DisplayANFISInformation = 0; opt.DisplayErrorValues = 0; opt.DisplayStepSize = 0; opt.DisplayFinalResults = 0; % 設置驗證數據集 fuzex1chkData; opt.ValidationData = fuzex1chkData;[fis,trainError,stepSize,chkFIS,chkError] = anfis(fuzex1trnData,opt); %每個訓練迭代步記錄的 訓練誤差trainError, 驗證誤差 繪圖 x = [1:30]; % 迭代次序 plot(x,trainError,'.b',x,chkError,'*r')

?在迭代次數為17時,驗證誤差(紅)最小,chkFIS為17時的參數,17后為過度擬合,

參考:https://ww2.mathworks.cn/help/fuzzy/anfisoptions.html#namevaluepairs

總結

以上是生活随笔為你收集整理的模糊神经网络学习1【基础案例】的全部內容,希望文章能夠幫你解決所遇到的問題。

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