-
常用的激勵函數(shù)
sigmoid
tanh
ReLU
查看全部 -
單個細(xì)胞結(jié)構(gòu)
查看全部 -
主要功能--分類查看全部
-
神經(jīng)網(wǎng)絡(luò)的感覺
從這門課幫助我理解了神經(jīng)網(wǎng)絡(luò)
查看全部 -
對bp神經(jīng)網(wǎng)絡(luò)的多輪單個樣本更新權(quán)重和閾值的迭代代碼實現(xiàn),參考吳恩達機器學(xué)習(xí) ??def?loss(self,x,y,lamba=0.01):???????? ??????n_train,n_features=x.shape??????? ???????#前向傳播???????? ??????mulIToH=sigmoid(np.dot(x,self.weightIToH_)+self.b1)#隱藏層輸出結(jié)果n_train*self.wHN_??????? ??????mulHToO=sigmoid(np.dot(mulIToH,self.weightHToO_)+self.b2)#輸出層輸出結(jié)果n_train*self.oN_??????? ??????loss=-np.sum(y*np.log(mulHToO)+(1-y)*np.log(1-mulHToO))/n_train????? ??????loss+=0.5*lamba*(np.sum(self.weightIToH_*self.weightIToH_)+np.sum(self.weightHToO_*self.weightHToO_))/n_train?????? ??????#backward后向傳播過程?????? ??????errorOut=mulHToO-y#n_train*self.oN_????? ??????dWeightHToO=np.dot(mulIToH.T,errorOut)+lamba*self.weightHToO_???????? ??????db2=np.sum(errorOut,axis=0)???????? ??????for?temp?in?range(mulIToH.shape[1]):???????????? ??????????mulIToH.T[temp]=derivativeOfSigmoid(mulIToH.T[temp])???????? ??????errorHidden=np.dot(errorOut,self.weightHToO_.T)*mulIToH.T???????? ??????dWeightIToH=np.dot(x.T,errorHidden)+lamba*self.weightIToH_???????? ??????db1=np.sum(errorHidden,axis=0)??????? ??????dWeightHToO/=n_train??????? ??????dWeightIToH/=n_train????? ??????db2/=n_train?????? ??????db1/=n_train??? ?????return?loss,dWeightIToH,dWeightHToO,db1,db2
查看全部 -
講解這個訓(xùn)練過程,以及網(wǎng)絡(luò)向量化(正向傳播)、網(wǎng)絡(luò)梯度下降(網(wǎng)絡(luò)反向傳播),是為了我們在使用框架時(使用現(xiàn)成的神經(jīng)網(wǎng)絡(luò)算法時),明白神經(jīng)網(wǎng)絡(luò)的執(zhí)行機制。
因此,老師沒有講解例子,自己來編寫這些代碼。
可能后續(xù)會有課程,使用這些框架。
比如:老師的另一門免費課:
使用python實現(xiàn)線性回歸?
查看全部 -
實際上,我在寫程序的時候,沒有使用損失函數(shù),LOST的計算,直接使用
y' - y (y'是網(wǎng)絡(luò)模擬出輸出,y為原始數(shù)據(jù))來判斷網(wǎng)絡(luò)誤差。
查看全部 -
為了反向調(diào)整w、b的值,修改正向傳播的計算公式:
查看全部 -
z = wT*x+b
輸入幾個x,w的第一緯就是幾;比如這里有3個x,則w就是3行;
該層有幾個細(xì)胞,w的第二維就是幾;比如這里隱含層有4個細(xì)胞,則w就是4列。
然后,w轉(zhuǎn)置后,與x相乘;
該層有幾個細(xì)胞,b的第一維就是幾;這里b是4行1列。
輸出層,也是,一個細(xì)胞,四個輸入;則w是4行1列,b是1行1列。
查看全部 -
邏輯回歸梯度下降法
為了找到局部最小或者全局最小值,對損失函數(shù)進行求導(dǎo)。
求損失函數(shù)導(dǎo)數(shù)
w、b同步更新
最終找到最小值
查看全部 -
單次訓(xùn)練損失
查看全部 -
三種激勵函數(shù):
1,Sigmoid函數(shù),當(dāng)x趨向于負(fù)無窮時,函數(shù)趨向于0;當(dāng)x趨向于正無窮時,函數(shù)趨向于1.優(yōu)點是:在整個區(qū)間上是可導(dǎo)的。
缺點是:不是以原點對稱的,對稱點是(0,0.5)。使用其做完函數(shù)計算后,
經(jīng)常需要再做一步數(shù)據(jù)中心化。
2,tanh函數(shù)
將Sigmoid函數(shù)平移后,產(chǎn)生以(0,0)點中心對稱的函數(shù)tanh函數(shù)。
兩個函數(shù)的缺點:
當(dāng)數(shù)據(jù)極大、或者極小時,函數(shù)變化比較平緩。從圖中也能看出來。
函數(shù)變化比較小,神經(jīng)網(wǎng)絡(luò)的效能受到影響。如果網(wǎng)絡(luò)比較大,
則訓(xùn)練周期就會比較長。
3,ReLU函數(shù),近幾年出現(xiàn)的線性函數(shù)。效率比較高。很多機器學(xué)習(xí)的框架,默認(rèn)使用該函數(shù)。
查看全部 -
課程的安排
查看全部 -
神經(jīng)網(wǎng)絡(luò)主要功能是分類識別。分類識別主要分為①圖像(最終可能實現(xiàn)自動駕駛);②語音(最終就是導(dǎo)致語音助手);③文本(最終可能就是導(dǎo)致新聞推送服務(wù))。
查看全部 -
神經(jīng)網(wǎng)絡(luò)興起的原因:①環(huán)境:2進制創(chuàng)新;②能力:軟硬件;③需求:人的性價比。
查看全部
舉報