



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)怎么使用人工神經(jīng)網(wǎng)絡(luò)
(ArtificialNeuralNetwork,ANN)是一種模仿生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能的數(shù)學(xué)模型,其目的是通過(guò)學(xué)習(xí)和訓(xùn)練,在處理未知的輸入數(shù)據(jù)時(shí)能夠進(jìn)行復(fù)雜的非線性映射關(guān)系,實(shí)現(xiàn)自適應(yīng)的智能決策??梢哉f(shuō),ANN是人工智能算法中最基礎(chǔ)、最核心的一種算法。
ANN模型的基本結(jié)構(gòu)包含輸入層、隱藏層和輸出層。輸入層接收輸入數(shù)據(jù),隱藏層負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行多層次、高維度的變換和處理,輸出層對(duì)處理后的數(shù)據(jù)進(jìn)行輸出。ANN的訓(xùn)練過(guò)程是通過(guò)多次迭代,不斷調(diào)整神經(jīng)網(wǎng)絡(luò)中各層的權(quán)重,從而使得神經(jīng)網(wǎng)絡(luò)能夠?qū)斎霐?shù)據(jù)進(jìn)行正確的預(yù)測(cè)和分類。
人工神經(jīng)網(wǎng)絡(luò)算法示例
接下來(lái)看看一個(gè)簡(jiǎn)單的人工神經(jīng)網(wǎng)絡(luò)算法示例:
importnumpyasnp
classNeuralNetwork():
def__init__(self,layers):
layers:數(shù)組,包含每個(gè)層的神經(jīng)元數(shù)量,例如[2,3,1]表示3層神經(jīng)網(wǎng)絡(luò),第一層2個(gè)神經(jīng)元,第二層3個(gè)神經(jīng)元,第三層1個(gè)神經(jīng)元。
weights:數(shù)組,包含每個(gè)連接的權(quán)重矩陣,默認(rèn)值隨機(jī)生成。
biases:數(shù)組,包含每個(gè)層的偏差值,默認(rèn)值為0。
self.layers=layers
self.weights=[np.random.randn(a,b)fora,binzip(layers[1:],layers[:-1])]
self.biases=[np.zeros((a,1))forainlayers[1:]]
defsigmoid(self,z):
Sigmoid激活函數(shù).
return1/(1+np.exp(-z))
defforward_propagation(self,a):
前向傳播.
forw,binzip(self.weights,self.biases):
z=np.dot(w,a)+b
a=self.sigmoid(z)
returna
defbackward_propagation(self,x,y):
反向傳播.
nabla_w=[np.zeros(w.shape)forwinself.weights]
nabla_b=[np.zeros(b.shape)forbinself.biases]
a=x
activations=[x]
zs=[]
forw,binzip(self.weights,self.biases):
z=np.dot(w,a)+b
zs.append(z)
a=self.sigmoid(z)
activations.append(a)
delta=self.cost_derivative(activations[-1],y)*self.sigmoid_prime(zs[-1])
nabla_b[-1]=delta
nabla_w[-1]=np.dot(delta,activations[-2].transpose())
forlinrange(2,len(self.layers)):
z=zs[-l]
sp=self.sigmoid_prime(z)
delta=np.dot(self.weights[-l+1].transpose(),delta)*sp
nabla_b[-l]=delta
nabla_w[-l]=np.dot(delta,activations[-l-1].transpose())
return(nabla_w,nabla_b)
deftrAIn(self,x_train,y_train,epochs,learning_rate):
訓(xùn)練網(wǎng)絡(luò).
forepochinrange(epochs):
nabla_w=[np.zeros(w.shape)forwinself.weights]
nabla_b=[np.zeros(b.shape)forbinself.biases]
forx,yinzip(x_train,y_train):
delta_nabla_w,delta_nabla_b=self.backward_propagation(np.array([x]).transpose(),np.array([y]).transpose())
nabla_w=[nw+dnwfornw,dnwinzip(nabla_w,delta_nabla_w)]
nabla_b=[nb+dnbfornb,dnbinzip(nabla_b,delta_nabla_b)]
self.weights=[w-(learning_rate/len(x_train))*nwforw,nwinzip(self.weights,nabla_w)]
self.biases=[b-(learning_rate/len(x_train))*nbforb,nbinzip(self.biases,nabla_b)]
defpredict(self,x_test):
預(yù)測(cè).
y_predictions=[]
forxinx_test:
y_predictions.append(self.forward_propagation(np.array([x]).transpose())[0][0])
returny_predictions
defcost_derivative(self,output_activations,y):
損失函數(shù)的導(dǎo)數(shù).
returnoutput_activations-y
defsigmoid_prime(self,z):
Sigmoid函數(shù)的導(dǎo)數(shù).
returnself.sigmoid(z)*(1-self.sigmoid(z))
使用以下代碼示例來(lái)實(shí)例化和使用這個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)類:
x_train=[[0,0],[1,0],[0,1],[1,1]]
y_train=[0,1,1,0]
#創(chuàng)建神經(jīng)網(wǎng)絡(luò)
nn=NeuralNetwork([2,3,1])
#訓(xùn)練神經(jīng)網(wǎng)絡(luò)
nn.train(x_train,y_train,10000,0.1)
#測(cè)試神經(jīng)網(wǎng)絡(luò)
x_test=[[0,0],[1,0],[0,1],[1,1]]
y_test=[0,1,1,0]
y_predictions=nn.predict(x_test)
print(Predictions:,y_predicti
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產(chǎn)指導(dǎo)標(biāo)準(zhǔn)試題及答案
- 無(wú)人機(jī)環(huán)境影響評(píng)估試題及答案
- 如何增強(qiáng)團(tuán)組織的教育引導(dǎo)功能試題及答案
- 新手入門:無(wú)人機(jī)駕駛員執(zhí)照試題及答案
- 2024年度審計(jì)師考試備考建議試題及答案
- 解析CAD工程師認(rèn)證考試常見(jiàn)問(wèn)題試題及答案
- 領(lǐng)域新認(rèn)識(shí)的Adobe設(shè)計(jì)師試題及答案
- 酒店顧客互動(dòng)與服務(wù)體驗(yàn)提升中的策略與實(shí)踐研究試題及答案
- 紡織機(jī)械工作現(xiàn)場(chǎng)的安全生產(chǎn)管理與風(fēng)險(xiǎn)防控策略試題及答案
- 紡織機(jī)械高速運(yùn)轉(zhuǎn)注意事項(xiàng)試題及答案
- 2025天津東疆綜合保稅區(qū)管理委員會(huì)招聘10人筆試參考題庫(kù)附帶答案詳解
- 玉盤二部合唱簡(jiǎn)譜
- 【MOOC】救護(hù)與救援-福建農(nóng)林大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 中科院《鋼鐵生產(chǎn)工藝流程和節(jié)能減排》
- 項(xiàng)目四:旅游電子商務(wù)支付與安全(教案)
- 四輥中厚板精軋機(jī)機(jī)架的強(qiáng)度與剛度計(jì)算
- 學(xué)生社區(qū)實(shí)習(xí)評(píng)語(yǔ)
- 學(xué)習(xí)效果評(píng)價(jià)表
- 施工現(xiàn)場(chǎng)派工單
- 大型飛機(jī)高級(jí)人才培養(yǎng)班
- 綠色植物光合作用與呼吸作用比較
評(píng)論
0/150
提交評(píng)論