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