BP人工神經網路案例

2021-08-23 12:06:19 字數 1407 閱讀 4858

#bp人工神經網路實現

#1.讀取資料

#2.匯入keras.models sequential /keras.layers.core dense,activation

#3.squential 建立模型

#4.dense 建立層

#5.activation啟用函式

#6.compile模型編譯

#7.fit訓練(學習)

#8.驗證(測試,分類**)

import numpy as np

import pandas as pd

from keras.models import sequential

from keras.layers.core import dense,activation

dataframe=pd.read_csv("路徑檔案",encoding="gbk")

#print(dataframe)

x=dataframe.ix[:,1:5].as_matrix()

y=dataframe.ix[:,5].as_matrix()

for i in range(0,len(x)):

for j in range(0,len(x[i])):

if (x[i][j]=="是" or x[i][j]=="多"):

x[i][j]=1

else:

x[i][j]=0

for i in range(0,len(y)):

if (y[i]=="高"):

y[i]=1

else:

y[i]=0

#建立模型

model=sequential()

#輸入層

model.add(dense(10,input_dim=len(x[0])))

model.add(activation("relu"))#啟用函式為relu

#輸出層

model.add(dense(1,input_dim=1))

model.add(activation("sigmoid"))#啟用函式為sigmoid

#模型編譯

model.compile(optimizer="adam",loss="binary_crossentropy")#損失函式設為binary_crossentropy

#模型訓練

model.fit(x,y,epochs=1000,batch_size=100)#訓練1000次

#**final=model.predict_classes(x)

#算正確率

t=0for i in range(0,len(final)):

if(final[i]==y[i]):

t+=1

print(t/len(x))

BP神經網路

基本bp神經網路演算法包括 訊號的前向傳播 誤差的反向傳播 也即計算實際輸出時按照輸入到輸出的方向進行,權值閾值調整則相反。bp是一種多層前饋神經網路,由輸入層 隱含層和輸出層組成。層與層之間有兩種訊號在流動 一種是從輸入流向輸出的工作訊號,是輸入和權值的函式 另一種是輸入流向輸出的訊號,即誤差。隱...

BP神經網路

x 為輸入向量,y為隱藏層的神經元,z 為輸出層,d為目標真實值,本文預設 z 不經過sigmod處理。x y的權重為 w,y z的權重為 v yj ix iwij 1 oyi f y j 2 其中激勵函式f x 1 1 e x f x f x 1 f x 3 z k j f yj vjk 此時系統...

BP神經網路

bp是back propagation bp神經網路主要的演算法在於誤差反向傳播error backpropagation 有三層 輸入層 input 隱含層 hidden 輸出層 output 輸入層 n個神經元 隱含層 p個神經元 輸出層 q個神經元 輸入向量 x x1,x2,x n 隱含層輸入...