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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

简单易学的机器学习算法——神经网络之BP神经网络

發布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单易学的机器学习算法——神经网络之BP神经网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、BP神經網絡的概念

? ? BP神經網絡是一種多層的前饋神經網絡,其主要的特點是:信號是前向傳播的,而誤差是反向傳播的。具體來說,對于如下的只含一個隱層的神經網絡模型:
(三層BP神經網絡模型) BP神經網絡的過程主要分為兩個階段,第一階段是信號的前向傳播,從輸入層經過隱含層,最后到達輸出層;第二階段是誤差的反向傳播,從輸出層到隱含層,最后到輸入層,依次調節隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置。

二、BP神經網絡的流程

? ? 在知道了BP神經網絡的特點后,我們需要依據信號的前向傳播和誤差的反向傳播來構建整個網絡。

1、網絡的初始化

? ? 假設輸入層的節點個數為,隱含層的節點個數為,輸出層的節點個數為。輸入層到隱含層的權重,隱含層到輸出層的權重為,輸入層到隱含層的偏置為,隱含層到輸出層的偏置為。學習速率為,激勵函數為。其中激勵函數為取Sigmoid函數。形式為:

2、隱含層的輸出

? ? 如上面的三層BP網絡所示,隱含層的輸出為

3、輸出層的輸出


4、誤差的計算

? ? 我們取誤差公式為:
其中為期望輸出。我們記,則可以表示為
以上公式中,,,。

5、權值的更新

? ? 權值的更新公式為:
這里需要解釋一下公式的由來: 這是誤差反向傳播的過程,我們的目標是使得誤差函數達到最小值,即,我們使用梯度下降法:
  • 隱含層到輸出層的權重更新
則權重的更新公式為:
  • 輸入層到隱含層的權重更新
其中


則權重的更新公式為:

6、偏置的更新

? ? 偏置的更新公式為:
  • 隱含層到輸出層的偏置更新
則偏置的更新公式為:
  • 輸入層到隱含層的偏置更新
其中


則偏置的更新公式為:

7、判斷算法迭代是否結束

? ? 有很多的方法可以判斷算法是否已經收斂,常見的有指定迭代的代數,判斷相鄰的兩次誤差之間的差別是否小于指定的值等等。

三、實驗的仿真

? ? 在本試驗中,我們利用BP神經網絡處理一個四分類問題,最終的分類結果為:

MATLAB代碼

主程序 [plain] view plaincopy
  • %%?BP的主函數??
  • ??
  • %?清空??
  • clear?all;??
  • clc;??
  • ??
  • %?導入數據??
  • load?data;??
  • ??
  • %從1到2000間隨機排序??
  • k=rand(1,2000);??
  • [m,n]=sort(k);??
  • ??
  • %輸入輸出數據??
  • input=data(:,2:25);??
  • output1?=data(:,1);??
  • ??
  • %把輸出從1維變成4維??
  • for?i=1:2000??
  • ????switch?output1(i)??
  • ????????case?1??
  • ????????????output(i,:)=[1?0?0?0];??
  • ????????case?2??
  • ????????????output(i,:)=[0?1?0?0];??
  • ????????case?3??
  • ????????????output(i,:)=[0?0?1?0];??
  • ????????case?4??
  • ????????????output(i,:)=[0?0?0?1];??
  • ????end??
  • end??
  • ??
  • %隨機提取1500個樣本為訓練樣本,500個樣本為預測樣本??
  • trainCharacter=input(n(1:1600),:);??
  • trainOutput=output(n(1:1600),:);??
  • testCharacter=input(n(1601:2000),:);??
  • testOutput=output(n(1601:2000),:);??
  • ??
  • %?對訓練的特征進行歸一化??
  • [trainInput,inputps]=mapminmax(trainCharacter');??
  • ??
  • %%?參數的初始化??
  • ??
  • %?參數的初始化??
  • inputNum?=?24;%輸入層的節點數??
  • hiddenNum?=?50;%隱含層的節點數??
  • outputNum?=?4;%輸出層的節點數??
  • ??
  • %?權重和偏置的初始化??
  • w1?=?rands(inputNum,hiddenNum);??
  • b1?=?rands(hiddenNum,1);??
  • w2?=?rands(hiddenNum,outputNum);??
  • b2?=?rands(outputNum,1);??
  • ??
  • %?學習率??
  • yita?=?0.1;??
  • ??
  • %%?網絡的訓練??
  • for?r?=?1:30??
  • ????E(r)?=?0;%?統計誤差??
  • ????for?m?=?1:1600??
  • ????????%?信息的正向流動??
  • ????????x?=?trainInput(:,m);??
  • ????????%?隱含層的輸出??
  • ????????for?j?=?1:hiddenNum??
  • ????????????hidden(j,:)?=?w1(:,j)'*x+b1(j,:);??
  • ????????????hiddenOutput(j,:)?=?g(hidden(j,:));??
  • ????????end??
  • ????????%?輸出層的輸出??
  • ????????outputOutput?=?w2'*hiddenOutput+b2;??
  • ??????????
  • ????????%?計算誤差??
  • ????????e?=?trainOutput(m,:)'-outputOutput;??
  • ????????E(r)?=?E(r)?+?sum(abs(e));??
  • ??????????
  • ????????%?修改權重和偏置??
  • ????????%?隱含層到輸出層的權重和偏置調整??
  • ????????dw2?=?hiddenOutput*e';??
  • ????????db2?=?e;??
  • ??????????
  • ????????%?輸入層到隱含層的權重和偏置調整??
  • ????????for?j?=?1:hiddenNum??
  • ????????????partOne(j)?=?hiddenOutput(j)*(1-hiddenOutput(j));??
  • ????????????partTwo(j)?=?w2(j,:)*e;??
  • ????????end??
  • ??????????
  • ????????for?i?=?1:inputNum??
  • ????????????for?j?=?1:hiddenNum??
  • ????????????????dw1(i,j)?=?partOne(j)*x(i,:)*partTwo(j);??
  • ????????????????db1(j,:)?=?partOne(j)*partTwo(j);??
  • ????????????end??
  • ????????end??
  • ??????????
  • ????????w1?=?w1?+?yita*dw1;??
  • ????????w2?=?w2?+?yita*dw2;??
  • ????????b1?=?b1?+?yita*db1;??
  • ????????b2?=?b2?+?yita*db2;????
  • ????end??
  • end??
  • ??
  • %%?語音特征信號分類??
  • testInput=mapminmax('apply',testCharacter',inputps);??
  • ??
  • for?m?=?1:400??
  • ????for?j?=?1:hiddenNum??
  • ????????hiddenTest(j,:)?=?w1(:,j)'*testInput(:,m)+b1(j,:);??
  • ????????hiddenTestOutput(j,:)?=?g(hiddenTest(j,:));??
  • ????end??
  • ????outputOfTest(:,m)?=?w2'*hiddenTestOutput+b2;??
  • end??
  • ??
  • %%?結果分析??
  • %根據網絡輸出找出數據屬于哪類??
  • for?m=1:400??
  • ????output_fore(m)=find(outputOfTest(:,m)==max(outputOfTest(:,m)));??
  • end??
  • ??
  • %BP網絡預測誤差??
  • error=output_fore-output1(n(1601:2000))';??
  • ??
  • k=zeros(1,4);????
  • %找出判斷錯誤的分類屬于哪一類??
  • for?i=1:400??
  • ????if?error(i)~=0??
  • ????????[b,c]=max(testOutput(i,:));??
  • ????????switch?c??
  • ????????????case?1???
  • ????????????????k(1)=k(1)+1;??
  • ????????????case?2???
  • ????????????????k(2)=k(2)+1;??
  • ????????????case?3???
  • ????????????????k(3)=k(3)+1;??
  • ????????????case?4???
  • ????????????????k(4)=k(4)+1;??
  • ????????end??
  • ????end??
  • end??
  • ??
  • %找出每類的個體和??
  • kk=zeros(1,4);??
  • for?i=1:400??
  • ????[b,c]=max(testOutput(i,:));??
  • ????switch?c??
  • ????????case?1??
  • ????????????kk(1)=kk(1)+1;??
  • ????????case?2??
  • ????????????kk(2)=kk(2)+1;??
  • ????????case?3??
  • ????????????kk(3)=kk(3)+1;??
  • ????????case?4??
  • ????????????kk(4)=kk(4)+1;??
  • ????end??
  • end??
  • ??
  • %正確率??
  • rightridio=(kk-k)./kk??

  • 激活函數 [plain] view plaincopy
  • %%?激活函數??
  • function?[?y?]?=?g(?x?)??
  • ????y?=?1./(1+exp(-x));??
  • end??

  • 總結

    以上是生活随笔為你收集整理的简单易学的机器学习算法——神经网络之BP神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 日韩中文无| 最新国产毛片 | 亚洲一级淫片 | 色多多av| 色噜噜综合网 | 荫蒂被男人添免费视频 | 性生活视频软件 | 国产一区二区激情 | 无码人妻一区二区三区一 | 美女三级黄色片 | 亚洲AV无码阿娇国产精品 | 色视频在线免费观看 | 网站av在线| 久久综合亚洲色hezyo国产 | 日韩1页| 欧美性www| 国产良妇出轨视频在线观看 | 欧美精品一区在线观看 | 亚洲性精品 | 老子影院午夜精品无码 | 国产草草草 | 国产精品一区二区三区在线免费观看 | 一级黄色片在线 | 大乳女喂男人吃奶 | 亚洲午夜精品久久久久久浪潮 | 日韩一区二区三区在线免费观看 | 天天看视频 | 精品久久综合 | jiizzyou性欧美老片 | 免费看片视频 | 国产福利视频在线 | 一区二区三区四区在线视频 | 久久色中文字幕 | 麻豆视频网址 | 久久久久亚洲精品系列色欲 | 国产主播福利在线 | 国产精品无码人妻一区二区在线 | 国产freexxxx性播放麻豆 | 日韩av自拍偷拍 | www.超碰在线观看 | 美女视频一区二区 | 麻豆最新 | 黄色一级视频免费看 | 亚洲国产麻豆 | 色屁屁一区二区三区 | 少妇免费看 | 亚洲国产成人精品91久久久 | 香蕉视频官方网站 | 国产高清av | 成人毛片在线观看 | 日韩在线观看免费 | 久久久久久高清 | 亚洲三级在线免费观看 | 91爱| 国产精品日日夜夜 | 久久一区视频 | 亚洲v在线| 黄色污小说 | 蜜臀久久99静品久久久久久 | 一本视频在线 | 欧美激情精品久久久久久免费 | 免费在线观看成人av | 视频在线观看一区二区 | 99免费视频| 人妻互换免费中文字幕 | 久久精品国产一区 | 欧美日韩国产免费观看 | 亚洲欧美日韩视频一区 | 天天操妹子 | 奇米影视狠狠干 | 欧美一级精品 | 国产一区二区在线免费观看视频 | 麻豆tv在线 | www.com色| 视频国产精品 | 中文字幕有码在线观看 | 色综合五月婷婷 | 男人天堂网址 | 成人午夜激情视频 | 亚洲一区观看 | 亚欧精品视频一区二区三区 | 欧美日韩不卡一区二区三区 | 插插插干干干 | 免费一区二区在线观看 | 黄色777| 四色网址 | 插女生下面 | 久久久久久不卡 | 成人免费看片在线观看 | 久久久久久免费精品 | 久久久精品人妻av一区二区三区 | 亚洲午夜av在线 | 黄色在线a | 亚洲高清免费视频 | 999精彩视频 | 污污视频免费观看 | 五月婷婷激情网 | 黄色片网站在线免费观看 | aaa成人 |