機器學習課次BP神經網絡及綜合練習_第1頁
機器學習課次BP神經網絡及綜合練習_第2頁
機器學習課次BP神經網絡及綜合練習_第3頁
機器學習課次BP神經網絡及綜合練習_第4頁
機器學習課次BP神經網絡及綜合練習_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

彭輝94031097(QQ)機器學習MachineLearning神經網絡(BP神經網絡&綜合練習)任務目標素質目標團隊協(xié)作學會學習實踐創(chuàng)新BP神經網絡背景使用sklearn庫的神經網絡,根據以下數(shù)據完成模型的訓練和測試。BP神經網絡BP神經網絡基本概念BP神經網絡(BackPropagationNetwork)是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,是目前應用最廣泛的神經網絡。BP神經網絡的基本思想是梯度下降法,利用梯度搜索技術,以期使網絡的實際輸出值和期望輸出值的誤差均方差為最小。

算法包括信號的前向傳播和誤差的反向傳播,即計算誤差輸出時,按從輸入到輸出的方向進行;而調整權值和閾值時,按從輸出到輸入的方向進行。BP神經網絡BP神經網絡基本概念(續(xù))正向傳播時,輸入信號通過隱含層作用于輸出結點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差的反向傳播是將輸出誤差通過隱含層向輸入層逐層反傳,并將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據,所以稱該算法為誤差反向傳播算法。BP神經網絡BP神經網絡算法描述給定訓練集 ,即輸入示例由

個屬性描述,輸出

維實值向量. 為方便討論,給定一個擁有

個輸入神經元,個輸出神經元,個隱層神經元的多層前向前饋網絡結構.記號:

:輸出層第

個神經元閾值;

:隱含層第

個神經元閾值;

:輸入層與隱層神經元之間的連接權重;

:隱層與輸出層神經元之間的連接權重;BP神經網絡BP神經網絡算法描述(續(xù))

對于樣例,假設網絡的實際輸出為前向計算

根據隱層輸入計算隱層輸出(輸出層輸入):

根據隱層輸出(輸出層輸入)得到輸出層輸出:

樣本均方誤差:計算誤差激活函數(shù)BP神經網絡BP神經網絡算法描述(續(xù))詳細參數(shù)權重參數(shù):,

閾值參數(shù):, 參數(shù)總數(shù):輸入層到隱層權值數(shù):d*q隱層到輸出層權值數(shù):q*l隱層神經元閾值數(shù):q輸出層神經元閾值數(shù):l

BP是一個迭代學習算法,在迭代的每一輪中采用廣義的感知機學習規(guī)則對參數(shù)進行更新估計,任意的參數(shù)的更新估計式為詳細更新(優(yōu)化)BP神經網絡BP神經網絡參數(shù)調整網絡訓練目標:找出合適的權值和閾值,使得誤差

E最小參數(shù)調整策略:BP算法基于梯度下降策略,以目標的負梯度方向對參數(shù)進行調整.BP神經網絡BP神經網絡參數(shù)調整(續(xù))參數(shù)調整策略:BP算法基于梯度下降策略,以目標的負梯度方向對參數(shù)進行調整.由對誤差,給定學習率,進行參數(shù)的調整。“鏈式法則”(1)(2)(3)BP神經網絡BP神經網絡參數(shù)調整(續(xù))令(1)更新參數(shù)w(2)更新參數(shù)θ(3)更新參數(shù)v(4)更新參數(shù)γBP神經網絡BP神經網絡參數(shù)調整(續(xù))BP神經網絡BP神經網絡訓練過程輸入:訓練集數(shù)據、學習速率yita過程:在(0,1)范圍內隨機初始化網絡中所有連接權和閾值repeat根據網絡輸入和當前參數(shù)計算網絡輸出值y計算輸出層神經元梯度項gj計算隱層神經元梯度項eh更新連接權值和閾值until達到停止條件輸出:連接權值和閾值BP神經網絡Sklearn中的神經網絡開發(fā)庫分類器:sklearn.neural_network.MLPClassifier回歸器:sklearn.neural_network.MLPRegressorBP神經網絡

練習:使用sklearn庫的神經網絡,根據以下數(shù)據完成模型的訓練和測試。BP_network_sklearn_regressor.pyfromsklearn.neural_networkimportMLPRegressor

importpandasaspd

importnumpyasnp

data=pd.read_csv(r"E:\機器學習_教學\cankao\taidi_ml\Python機器學習實戰(zhàn)-數(shù)據&代碼\5神經網絡\BPdata_tr.txt")

data_te=pd.read_csv(r"E:\機器學習_教學\cankao\taidi_ml\Python機器學習實戰(zhàn)-數(shù)據&代碼\5神經網絡\BPdata_te.txt")

X=data.iloc[:,:2]

y=data.iloc[:,2]

test_X=data_te.iloc[:,:2]

test_y=data_te.iloc[:,2]

mlp=MLPRegressor()

mlp.fit(X,y)

pre=mlp.predict(test_X)

err=np.abs(pre-test_y).mean()#模型預測誤差

errBP神經網絡背景

使用python編程,通過梯度下降法來計算BP神經網絡求解參數(shù)的過程。BP_network_python_realize1取一個樣本訓練一次并更新參數(shù).pyBP神經網絡-Python實現(xiàn)訓練集數(shù)據:BPdata_tr.txt測試集數(shù)據:BPdata_te.txtBP神經網絡實現(xiàn)

x1x2y00.290.230.1410.500.620.6420.000.530.2830.210.530.3340.100.330.1250.060.150.0360.130.030.0270.240.230.1180.280.030.0890.380.49?100.290.47?2-4-1BP神經網絡-Python實現(xiàn)BP神經網絡實現(xiàn)隱層神經元的輸入權值隱層神經元的閾值(對-1的權值)輸出神經元的輸入權值輸出神經元的閾值輸入神經元輸出層的輸入網絡的輸出BP神經網絡-Python實現(xiàn)defsigmoid(x):#映射函數(shù)

return1/(1+np.exp(-x))映射函數(shù)BP神經網絡-Python實現(xiàn)中間層神經元輸入和輸出層神經元輸入Net_in=np.array([0,0,-1])

Out_in=np.array([0,0,0,0,-1])BP神經網絡-Python實現(xiàn)w_mid=np.zeros([3,4])

w_out=np.array([0.3,0.3,0.3,0.3,0.3])

delta_w_mid=np.zeros([3,4])

delta_w_out=np.array([0,0,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論