智能計算-單層感知器試驗_第1頁
智能計算-單層感知器試驗_第2頁
智能計算-單層感知器試驗_第3頁
智能計算-單層感知器試驗_第4頁
智能計算-單層感知器試驗_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2018 2019學(xué)年第二學(xué)期實驗課程智能計算實驗學(xué)生姓名***實驗項目單層感知器學(xué) 院計算機(jī)學(xué)院實驗性質(zhì)方向選修實驗課班級學(xué)號***實驗地點(diǎn)同組人數(shù)第組實驗日期第九周星期五第9.10節(jié)成 績環(huán)境參數(shù)Window?,python一、實驗?zāi)康募耙蠖?、實驗原理、實驗?nèi)容三、實驗儀器設(shè)備及材料四、操作方法與實驗步驟五、實驗數(shù)據(jù)記錄及處理六、實驗結(jié)果分析實驗一:單層感知器1、單層感知器結(jié)構(gòu)圖XI教務(wù)處制

輸入節(jié)點(diǎn):x1,x2,x3輸出節(jié)點(diǎn):y權(quán)向量:w1,w2,w3,w0=1偏執(zhí)因子:b(x0)定義激活函數(shù):f(x輸入節(jié)點(diǎn):x1,x2,x3輸出節(jié)點(diǎn):y權(quán)向量:w1,w2,w3,w0=1偏執(zhí)因子:b(x0)定義激活函數(shù):f(x)={;::002.主要代碼(1)單層感知器實現(xiàn)邏輯“或”importnumpyasnp輸入數(shù)據(jù)[d,x1,x2]d:偏置值x1:第一個輸入x2:第二個輸入X=np.array([[1,1,1],[1,1,0],[1,0,1],[1,0,0]])標(biāo)簽(期望值)Y=np.array([[1],教務(wù)處制[1],[1],[-1]])權(quán)值隨機(jī)初始化W=(np.random.random([2,1])-0.5)*2通過改變學(xué)習(xí)率觀察收斂速度(迭代次數(shù))W=np.array([[0],[0],[0]])激活函數(shù)defsgn(X_W):foriinrange(len(X_W)):if(X_W[i]<=0):X_W[i]=-1else:X_W[i]=1returnX_W學(xué)習(xí)率設(shè)置(手動改變觀察迭代次數(shù)變化)lr=0.1神經(jīng)網(wǎng)絡(luò)輸出O=0更新權(quán)重函數(shù)defupdate():globalX,Y,W,lrO=sgn(np.dot(X,W))#shape:(3,1)W_C=lr*(X.T.dot(Y-O))/int(X.shape[0])#這里除"int(X.shape[0])=4”是為了取誤差的平均值,當(dāng)輸入節(jié)點(diǎn)多的時候要用W=W+W_Ci=0while(True):O=sgn(np.dot(X,W))if(O==Y).all():print('Finished')print("最后權(quán)值:”,W.T)print(迭代次數(shù):',i)breakupdate()i=i+1畫圖importmatplotlib.pyplotasplt正樣本x1=[1,1,0]y1=[1,0,1]負(fù)樣本x2=[0]y2=[0]計算分界線的斜率以及截距教務(wù)處制k=-W[1]/W[2]d=-W[0]/W[2]print('斜率k=',k)print('截距d=',d)xdata=(-1,2)plt.figure()plt.plot(xdata,xdata*k+d,'r')plt.scatter(x1,y1,c='b')plt.scatter(x2,y2,c='y')plt.show()(2)線性神經(jīng)網(wǎng)絡(luò)引入非線性輸入實現(xiàn)邏輯“異或”importnumpyasnp輸入數(shù)據(jù)X1=np.array([[1,1,1],[1,0,0],[1,0,1]])X2=np.array([[1,1,1],[1,0,0],[1,1,0]])標(biāo)簽Y1=np.array([[-1],[-1],[1]])為了區(qū)分我寫成Y1,Y2其實他們相等Y2=np.array([[-1],[-1],[1]])權(quán)值隨機(jī)初始化W1=(np.random.random([3,1])-0.5)*2W2=(np.random.random([3,1])-0.5)*2學(xué)習(xí)率設(shè)置(手動改變觀察迭代次數(shù)變化)lr=0.1神經(jīng)網(wǎng)絡(luò)輸出O=0更新權(quán)重函數(shù)defupdate(X,Y,W):globallrO=np.dot(X,W)#shape:(3,1)W_C=lr*(X.T.dot(Y-O))/int(X.shape[0])W=W+W_CreturnWdefsolve(X,Y,W,s):foriinrange(100):教務(wù)處制W=update(X,Y,W)print('Finished')print(s+"的最后權(quán)值:W.T)# print(s+'的迭代次數(shù):',i)returnWW1=solve(X1,Y1,W1,'一號分類器')W2=solve(X2,Y2,W2,'二號分類器')#畫圖importmatplotlib.pyplotasplt#正樣本x1=[1,0]y1=[0,1]#負(fù)樣本x2=[0,1]y2=[0,1]#計算分界線的斜率以及截距k1=-W1[1]/W1[2]d1=-W1[0]/W1[2]k2=-W2[1]/W2[2]d2=-W2[0]/W2[2]xdata=(-1,2)plt.figure()plt.plot(xdata,xdata*k1+d1,'r')plt.plot(xdata,xdata*k2+d2,'r')plt.scatter(x1,y1,c='b')plt.scatter(x2,y2,c='y')plt.show()3.實驗步驟和實驗結(jié)果(1)實驗步驟流程如下圖:教務(wù)處制

(3)實驗結(jié)果:?單層感知器可以實現(xiàn)邏輯“或”;?單層感知器不能實現(xiàn)邏輯“異或”。4、分類線?單層感知器實現(xiàn)邏輯“或”結(jié)果:斜率k=[-1.]截距曲[0.5]■單層感知器實現(xiàn)邏輯“異或”,通過實驗發(fā)現(xiàn),發(fā)現(xiàn)邏輯“異或”不可以用單層感知器實現(xiàn),因為找不到一條直線可以將兩類點(diǎn)分開,如下圖:教務(wù)處制教務(wù)處制經(jīng)過多次測試和查閱資料,得到基本上收斂次數(shù)與學(xué)習(xí)率的關(guān)系如下圖:veryhighlearningratelowlearningratehighlearningrategoodlearningrate儀器設(shè)備損壞、非正常損耗材料(試劑)及處理情況:無教師對報告的最終評價及處理意見:教師簽字:年月日教務(wù)處制第經(jīng)過多次測試和查閱資料,得到基本上收斂次數(shù)與學(xué)習(xí)率的關(guān)

溫馨提示

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

最新文檔

評論

0/150

提交評論