99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀深度學習入門課程筆記 神經網(wǎng)絡
深度學習入門課程筆記 神經網(wǎng)絡
2018-04-02
收藏

深度學習入門課程筆記 神經網(wǎng)絡

神經網(wǎng)絡

首先咱們先來回顧一下之前課程所講前向傳播和反向傳播知識點,前往傳播就是從輸入X到最終得到LOSS值的過程,反向傳播是從最終的LOSS值經過梯度的傳播最終計算出權重矩陣W中所有參數(shù)對于最終的LOSS值影響大小,更新參數(shù)就是通過不同權重參數(shù)對終LOSS值的影響來調節(jié)參數(shù),使得咱們的參數(shù)矩陣W能夠更擬合咱們的數(shù)據(jù),也就是使得最終的LOSS值能夠降低。這一系列的過程就是相當于完成了一次迭代

神經網(wǎng)絡本質

下面咱們就來看看神經網(wǎng)絡跟傳統(tǒng)的線性分類到底有什么區(qū)別,從公式中我們可以看出,一個最明顯的區(qū)別就是神經網(wǎng)絡函數(shù)多了一個MAX()計算也就是說我們咱們現(xiàn)在的函數(shù)公式變成了一個非線性的操作,也正是這種非線性的函數(shù)使得神經網(wǎng)絡相比于傳統(tǒng)的線性分類更強大,因為非線性可以使得咱們的函數(shù)去擬合更復雜的數(shù)據(jù)。

神經網(wǎng)絡結構

接下來咱們就來看一下神經網(wǎng)絡的結構,從途中可以看出,神經網(wǎng)絡是一個層次的結構

輸入層也就是代表著數(shù)據(jù)源

隱層這個大家理解起來可能有些費勁,咱們可以把隱層當成是中間層也就是在這里對輸入數(shù)據(jù)進行了非線性的變換

激活函數(shù)它是跟隱層在一起的,比如這個MAX()函數(shù)就是一個激活函數(shù),正是因為激活函數(shù)的存在才使得整個神經網(wǎng)絡呈現(xiàn)出一種非線性的模式。

輸出層這個就是最終得到的結果了,比如一個分類任務,最終的輸出就是每個類別的概率值了

我們可以看到對應于多層的網(wǎng)絡也就是有多個隱層,相當于咱們又加了一層非線性函數(shù)MAX(),這個理解起來很簡單了吧,對于深層網(wǎng)絡來說,它具有更好的非線性也就是說網(wǎng)絡的層數(shù)越深就更能夠去擬合更復雜的數(shù)據(jù)。

生物學上的結構

看過很多講解都提高了把神經網(wǎng)絡和人類的腦結構相對比,我覺得這有些增加了游戲難度,因為很多同學本身對生物學結構就不是很清楚,又搞了這多名詞出來,理解起來好像更費勁了,這里咱們就不說生物學結構了,直接看右半部分,和之前的線性分類最大的區(qū)別就是我們多了一個activation function也就是咱們剛才所說的激活函數(shù),可以說正是激活函數(shù)的存在使得整個神經網(wǎng)絡變得強大起來。

神經元

那么神經網(wǎng)絡能表達多復雜的數(shù)據(jù)信息是由什么決定的呢?這個例子給了咱們很好的解釋,神經網(wǎng)絡是表達能力是由神經元的個數(shù),也就是每一個隱層所函數(shù)神經元的個數(shù)來決定的,神經元越多,層數(shù)越深表達的能力也就越強,理論上我們認為神經元越多越好!

防止過擬合

咱們剛才說了神經網(wǎng)絡具有很強的表達能力,但是也很危險的,就是說神經網(wǎng)絡很容易發(fā)成過擬合現(xiàn)象,因為咱們有大量的神經元也就是導致了我們需要的參數(shù)是極其多的,那么該怎么辦呢?最直接的方法就是加上正則化項,它可以使得咱們的神經網(wǎng)絡不至于過擬合很嚴重也是咱們訓練神經網(wǎng)絡必做的一項,圖中顯示了正則化的作用!

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師考試動態(tài)
數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }