色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【連載】深度學習筆記4:深度神經網絡的正則化

人工智能實訓營 ? 2018-08-14 11:58 ? 次閱讀

今天要寫的是關于機器學習深度學習中的一項關鍵技術:正則化。相信在機器學習領域摸爬滾打多年的你一定知道正則化是防止模型過擬合的核心技術之一,關于欠擬合和過擬合的問題

總的來說,監督機器學習的核心原理莫過于如下公式:

640?wx_fmt=png

該公式可謂是機器學習中最核心最關鍵最能概述監督學習的核心思想的公式了:所有的有監督機器學習,無非就是正則化參數的同時最小化經驗誤差函數。最小化經驗誤差是為了極大程度的擬合訓練數據,正則化參數是為了防止過分的擬合訓練數據。你看,多么簡約數學哲學。正如之前所說,監督機器學習是為了讓我們建立的模型能夠發現數據中普遍的一般的規律,這個普遍的一般的規律無論對于訓練集還是未知的測試集,都具有較好的擬合性能。通俗點舉例就是,考試能力很強,應用能力很差,或者是模擬考很強,高考卻一般。

先不扯遠了,繼續回到公式。第一項經驗誤差函數在機器學習中無疑地位重要,但它不是筆者今天要講的,今天要講的是公式的第二項:正則化項。第二項中 λ 為正則化系數,通常是大于 0 的,是一種調整經驗誤差項和正則化項之間關系的系數。λ = 0 時相當于該公式沒有正則化項,模型全力討好第一項,將經驗誤差進行最小化,往往這也是最容易發生過擬合的時候。隨著 λ 逐漸增大,正則化項在模型選擇中的話語權越來越高,對模型的復雜性的懲罰也越來越厲害。所以,在實際的訓練過程中,λ 作為一種超參數很大程度上決定了模型生死。

L1 和 L2 范數

系數 λ 說完了,然后就是正則化項,正則化項形式有很多,但常見的也就是 L1 和 L2 正則化。下面筆者就帶大家好好拾掇拾掇這些個 L1 L2。

在說常見的 L1 和 L2 之前,先來看一下 L0 正則化。L0 正則化也就是 L0 范數,即矩陣中所有非 0 元素的個數。如何我們在正則化過程中選擇了 L0 范數,那該如何理解這個 L0 呢?其實非常簡單,L0 范數就是希望要正則化的參數矩陣 W 大多數元素都為 0。如此簡單粗暴,讓參數矩陣 W 大多數元素為 0 就是實現稀疏而已。說到這里,權且打住,想必同樣在機器學習領域摸爬滾打的你一定想問,據我所知稀疏性不通常都是用 L1 來實現的嗎?這里個中緣由筆者不去細講了,簡單說結論:在機器學習領域,L0 和 L1 都可以實現矩陣的稀疏性,但在實踐中,L1 要比 L0 具備更好的泛化求解特性而廣受青睞。先說了 L1,但還沒解釋 L1 范數是什么,L1 范數就是矩陣中各元素絕對值之和,正如前述所言,L1 范數通常用于實現參數矩陣的稀疏性。至于為啥要稀疏,稀疏有什么用,通常是為了特征選擇和易于解釋方面的考慮。

640?wx_fmt=png

再來看 L2 范數。相較于 L0 和 L1,其實 L2 才是正則化中的天選之子。在各種防止過擬合和正則化處理過程中,L2 正則化可謂風頭無二。L2 范數是指矩陣中各元素的平方和后的求根結果。采用 L2 范數進行正則化的原理在于最小化參數矩陣的每個元素,使其無限接近于 0 但又不像 L1 那樣等于 0,也許你又會問了,為什么參數矩陣中每個元素變得很小就能防止過擬合?這里我們就拿深度神經網絡來舉例說明吧。在 L2 正則化中,如何正則化系數變得比較大,參數矩陣 W 中的每個元素都在變小,線性計算的和 Z 也會變小,激活函數在此時相對呈線性狀態,這樣就大大簡化了深度神經網絡的復雜性,因而可以防止過擬合。

640?wx_fmt=png

至于 L1 和 L2,江湖上還有一些混名,L1 就是江湖上著名的 lasso,L2 呢則是嶺回歸。二者都是對回歸損失函數加一個約束形式,lasso 加的是 L1 范數,嶺回歸加的是 L2 范數。可以從幾何直觀上看看二者的區別。

640?wx_fmt=png
L1 和 L2 的下降速度

640?wx_fmt=jpeg

L1 和 L2 的模型空間

神經網絡的正則化

說了半天的范數,下面我們就來看看在神經網絡中如何進行正則化操作防止過擬合。為了跟前面筆記保持一致,我們在神經網絡訓練過程中繼續采用交叉熵損失函數:

640?wx_fmt=png
加了正則化項之后,損失函數形式如上所示,損失函數變了,反向傳播的梯度計算也就變了,相應的反向傳播也需要重新定義函數。

帶正則化項的損失函數的定義:

def compute_cost_with_regularization(A3, Y, parameters, lambd):  """
  Implement the cost function with L2 regularization. See formula (2) above.

  Arguments:
  A3 -- post-activation, output of forward propagation, of shape (output size, number of examples)
  Y -- "true" labels vector, of shape (output size, number of examples)
  parameters -- python dictionary containing parameters of the model

  Returns:
  cost - value of the regularized loss function (formula (2))
  """
  m = Y.shape[1]
  W1 = parameters["W1"]
  W2 = parameters["W2"]
  W3 = parameters["W3"]

  cross_entropy_cost = compute_cost(A3, Y) # This gives you the cross-entropy part of the cost


  L2_regularization_cost = 1/m * lambd/2 * (np.sum(np.square(W1))+np.sum(np.square(W2))+np.sum(np.square(W3)))

  cost = cross_entropy_cost + L2_regularization_cost  
  return cost

反向傳播的函數定義:

def backward_propagation_with_regularization(X, Y, cache, lambd):  """
  Implements the backward propagation of our baseline model to which we added an L2 regularization.

  Arguments:
  X -- input dataset, of shape (input size, number of examples)
  Y -- "true" labels vector, of shape (output size, number of examples)
  cache -- cache output from forward_propagation()
  lambd -- regularization hyperparameter, scalar

  Returns:
  gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables
  """

  m = X.shape[1]
  (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cache

  dZ3 = A3 - Y

  dW3 = 1./m * np.dot(dZ3, A2.T) + lambd/m * W3
  db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)

  dA2 = np.dot(W3.T, dZ3)
  dZ2 = np.multiply(dA2, np.int64(A2 > 0))

  dW2 = 1./m * np.dot(dZ2, A1.T) + lambd/m * W2
  db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)

  dA1 = np.dot(W2.T, dZ2)
  dZ1 = np.multiply(dA1, np.int64(A1 > 0))

  dW1 = 1./m * np.dot(dZ1, X.T) + lambd/m * W1
  db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)

  gradients = {"dZ3": dZ3, "dW3": dW3, "db3": db3,"dA2": dA2,         "dZ2": dZ2, "dW2": dW2, "db2": db2, "dA1": dA1, 
         "dZ1": dZ1, "dW1": dW1, "db1": db1}  
  return gradients

在實例中,加了正則化項和沒加正則化項的模型分類結果可如圖所見:

未經正則化處理的分類模型結果

加上正則化后的模型分類結果

效果顯而易見,加了正則化之后,神經網絡的過擬合情況得到極大的緩解。

本文來自《自興動腦人工智能》項目部:凱文。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    47208

    瀏覽量

    238303
  • 機器學習
    +關注

    關注

    66

    文章

    8408

    瀏覽量

    132580
  • 深度學習
    +關注

    關注

    73

    文章

    5500

    瀏覽量

    121118
收藏 人收藏

    評論

    相關推薦

    詳解深度學習神經網絡與卷積神經網絡的應用

    在如今的網絡時代,錯綜復雜的大數據和網絡環境,讓傳統信息處理理論、人工智能與人工神經網絡都面臨巨大的挑戰。近些年,深度學習逐漸走進人們的視線
    的頭像 發表于 01-11 10:51 ?2027次閱讀
    詳解<b class='flag-5'>深度</b><b class='flag-5'>學習</b>、<b class='flag-5'>神經網絡</b>與卷積<b class='flag-5'>神經網絡</b>的應用

    卷積神經網絡深度卷積網絡:實例探究及學習總結

    深度學習工程師-吳恩達》03卷積神經網絡深度卷積網絡:實例探究 學習總結
    發表于 05-22 17:15

    解析深度學習:卷積神經網絡原理與視覺實踐

    解析深度學習:卷積神經網絡原理與視覺實踐
    發表于 06-14 22:21

    改善深層神經網絡--超參數優化、batch正則和程序框架 學習總結

    深度學習工程師-吳恩達》02改善深層神經網絡--超參數優化、batch正則和程序框架 學習
    發表于 06-16 14:52

    深度神經網絡是什么

    多層感知機 深度神經網絡in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong. 與許忠傳,林敏濤和華佳勇合作
    發表于 07-12 06:35

    神經網絡深度學習》講義

    神經網絡深度學習》講義
    發表于 07-20 08:58 ?0次下載

    深度神經網絡的壓縮和正則剖析

    利用深度壓縮和DSD訓練來提高預測精度。 深度神經網絡已經成為解決計算機視覺、語音識別和自然語言處理等機器學習任務的最先進的技術。盡管如此,深度
    發表于 11-16 13:11 ?1826次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>神經網絡</b>的壓縮和<b class='flag-5'>正則</b><b class='flag-5'>化</b>剖析

    三種典型的神經網絡以及深度學習中的正則方法應用于無人駕駛

    在前幾十年,神經網絡并沒有受到人們的重視,直到深度學習的出現,人們利用深度學習解決了不少實際問題(即一些落地性質的商業應用),
    的頭像 發表于 06-03 09:27 ?9639次閱讀

    連載深度學習筆記7:Tensorflow入門

    從前面的學習筆記中,和大家一起使用了 numpy 一步一步從感知機開始到兩層網絡以及最后實現了深度神經網絡的算法搭建。而后我們又討論了改善
    的頭像 發表于 08-20 12:47 ?3262次閱讀

    快速了解神經網絡深度學習的教程資料免費下載

    本文檔的詳細介紹的是快速了解神經網絡深度學習的教程資料免費下載主要內容包括了:機器學習概述,線性模型,前饋神經網絡,卷積
    發表于 02-11 08:00 ?33次下載
    快速了解<b class='flag-5'>神經網絡</b>與<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的教程資料免費下載

    3小時學習神經網絡深度學習課件下載

    3小時學習神經網絡深度學習課件下載
    發表于 04-19 09:36 ?0次下載
    3小時<b class='flag-5'>學習</b><b class='flag-5'>神經網絡</b>與<b class='flag-5'>深度</b><b class='flag-5'>學習</b>課件下載

    深度學習神經網絡和函數

    深度學習是機器學習的一個子集,它使用神經網絡來執行學習和預測。深度
    的頭像 發表于 04-07 10:17 ?1649次閱讀

    卷積神經網絡深度神經網絡的優缺點 卷積神經網絡深度神經網絡的區別

    深度神經網絡是一種基于神經網絡的機器學習算法,其主要特點是由多層神經元構成,可以根據數據自動調整神經
    發表于 08-21 17:07 ?4094次閱讀

    深度學習與卷積神經網絡的應用

    隨著人工智能技術的飛速發展,深度學習和卷積神經網絡(Convolutional Neural Network, CNN)作為其中的重要分支,已經在多個領域取得了顯著的應用成果。從圖像識別、語音識別
    的頭像 發表于 07-02 18:19 ?888次閱讀

    深度神經網絡的設計方法

    結構的構建,還包括激活函數的選擇、優化算法的應用、正則技術的引入等多個方面。本文將從網絡結構設計、關鍵組件選擇、優化與正則策略、以及未來
    的頭像 發表于 07-04 13:13 ?455次閱讀
    主站蜘蛛池模板: 人人干人人看| 你的欲梦裸身在线播放| 久久机热视频 这里只有精品首页| 果冻传媒在线观看资源七夕| 精品国产三级a| 麻豆国产精品AV色拍综合| 欧美高清18| 色欲AV人妻精品麻豆AV| 学校女性奴sm训练调教| 亚洲欧美日韩国产手机在线| 再深点灬舒服灬太大了在线视频| 99爱在线观看| 高h喷水荡肉爽文总攻| 果冻传媒在线播放 免费观看| 久久精品免视看国产| 嗯啊插的好深啊使劲抽视频| 青青热久久综合网伊人| 秀婷程仪公欲息肉婷在线观看| 亚洲午夜久久久无码精品网红A片| 中文字幕在线视频网站| 成人免费视频网站www| 含羞草最新版本| 男人免费网站| 午夜理伦片免费| 中文字幕亚洲无线码高清不卡| 超碰在线vip| 精品人妻伦一二三区久久AAA片| 99亚洲精品| 国产精品高潮呻吟AV久久96 | 亚洲最大在线视频| 99久久免费精品国产免费| 芳草地在线观看免费观看| 九九热只有精品| 日本高清免费观看| 一品道门在线观看免费视频| JIZZ学生13| 九九热视频在线观看| 让人爽到湿的小黄书| 一道本在线伊人蕉无码| 成人特级毛片| 久久亚洲精品中文字幕|