1. 程式人生 > >[吳恩達 DL]Class1 Week2 神經網路基礎 + 邏輯迴歸程式碼實現

[吳恩達 DL]Class1 Week2 神經網路基礎 + 邏輯迴歸程式碼實現

本週的內容主要圍繞邏輯迴歸二分類問題展開,針對邏輯迴歸的定義,損失函式,梯度下降優化,向量化等知識點進行講解。分課程筆記及程式碼實現兩部分進行講解。

一 課程筆記

1.結構


logistic regression

即給定x,求

y^=Py=1|x(1)
y^=σ(z)=σ(wTx+b)(2)

其中,

σ(z)=11+ez
這裡寫圖片描述

可以看出
- 當z為很大的正值時,σ(z)趨近於1
- 當z為很大的負值時,σ(z)趨近於0

2. 損失函式

2.1 Loss function

對於一個樣本來說,其loss function為:

L(y^,y(i))=y(i)log(y^)(1y(
i)
)log(1y^)
(3)

其中,y^為預測值,y 為實際值(0或1)。
上面的公式可以這樣理解:

  • If y=1, L(y^,y(i))=log(y^), 這時希望y^儘可能大(趨近1)
  • If y=0, L(y^,y(i))=log(1y^),這時希望y^儘可能小(趨近0)

2.2 Cost function

Cost function實際為所有樣本Loss function之和:

J=1mi=1mL(a(i),y(i))(4)

在實際訓練過程中,我們希望Cost function儘可能小。

3. 邏輯迴歸中的梯度下降

邏輯迴歸的梯度下降可以這樣理解:

  1. 首先初始化邏輯迴歸模型中的引數(w,b)
  2. 利用y^=σ(z)=σ(wTx+b)求出預測值,利用cost function計算損失,求出梯度dw,db
  3. 更新引數:w=w-αdw;b=b-αdb
  4. 重複2,3步直至尋找到合適的w,b

二 程式碼實現這裡寫圖片描述

整個過程計算過程如下:

  1. 匯入train_set和test_set,瞭解資料格式(如train_set_x(m,num_px,num_px,3))
  2. 對資料進行預處理:
    (1) 將圖片資料展開(num_px,num_px,3) ———> (num_px*num_px*3,1)
    (2) 標準化資料集
    train_set_x = train_set_x_flatten/255.
    test_set_x = test_set_x_flatten/255.
  3. 初始化引數(w,b)
  4. 前向傳播,計算cost,反向傳播
    (1)前向傳播:A=σ(wTX+b)=(a(0),a(1),...,a(m1),a(m))
    (2)計算Cost:J=1mmi=1y(i)log(a(i))+(1y(i))log(1a(i))
    (3)反向傳播梯度計算:
    dw=Jw=1mX(AY)T
    db=Jb=1mi=1m(a(i)

    相關推薦

    [ DL]Class1 Week2 神經網路基礎 + 邏輯迴歸程式碼實現

    本週的內容主要圍繞邏輯迴歸二分類問題展開,針對邏輯迴歸的定義,損失函式,梯度下降優化,向量化等知識點進行講解。分課程筆記及程式碼實現兩部分進行講解。 一 課程筆記 1.結構 即給定x,求y^=P(y=1|x)(1) y^=σ(z)=σ(

    機器學習筆記-神經網路的代價函式和反向傳播演算法

    代價函式 在神經網路中,我們需要定義一些新的引數來表示代價函式。 L = total number of layers in the network $s_l$ = number of units (not counting bias unit) in layer

    -機器學習(4)-神經網路

    文章目錄 Neural NetWorking Non-linear Hypotheses Examples and Intuitions Mutlli-class Classification

    機器學習筆記(六)-視訊課程(神經網路學習 二)

    1.代價函式    神經網路層數L,表示L層(最後一層)神經元個數,表示每層的輸出神經元數   二類分類:=1 輸出層有一個神經元,輸出的y是一個實數 y = 0 or 1 表示類別   多類別分類:一共有K類,則=K,輸出層有K個神經元,&nbs

    Coursera《卷積神經網路》課程筆記(1)-- 卷積神經網路基礎

    《Convolutional Neural Networks》是Andrw Ng深度學習專項課程中的第四門課。這門課主要介紹卷積神經網路(CNN)的基本概念、模型和具體應用。該門課共有4周課時,所以我將分成4次筆記來總結,這是第一節筆記。 1. Compu

    《卷積神經網路》課程總結

    Note This is my personal summary after studying the course, convolutional neural networks, which belongs to Deep Learning Specialization.

    Coursera《優化深度神經網路》課程筆記(1)-- 深度學習的實用層面

    Andrew Ng的深度學習專項課程的第一門課《Neural Networks and Deep Learning》的5份筆記我已經整理完畢。迷路的小夥伴請見如下連結: 在接下來的幾次筆記中,我們將對第二門課《Improving Dee

    Coursera《卷積神經網路》課程筆記(1)卷積神經網路

    計算機視覺 計算機視覺問題 圖片分類 目標檢測 畫風遷移 在大圖片上的深度學習 如果採用傳統的全連線層,可能會導致引數巨大,導致無法進行計算。卷積神經網路由此產生

    DeepLearning.ai(神經網路和深度學習) 第二週程式設計作業

    轉載於:http://blog.csdn.net/Koala_Tree/article/details/78057033吳恩達Coursera課程 DeepLearning.ai 程式設計作業系列,本文為《神經網路與深度學習》部分的第二週“神經網路基礎”的課程作業(做了無用部分的刪減)。Part 1:Pyth

    Coursera《優化深度神經網路》課程筆記(3)-- 超引數除錯、Batch正則化和程式設計框架

    上節課我們主要介紹了深度神經網路的優化演算法。包括對原始資料集進行分割,使用mini-batch gradient descent。然後介紹了指數加權平均(Exponentially weighted averages)的概念以及偏移校正(bias corr

    【學習筆記1】_卷積神經網路_第一週卷積神經網路(1)

    一、卷積神經網路 1.邊緣檢測 不同的語言中表示卷積的函式不同,在Python中為在tensorflow裡為 濾波器:垂直、水平邊緣檢測。 Sobel filter:其優點在於增加了中間一行元素的權重,即影象中間的畫素點提高,會使結果的魯棒(robust)性提高。

    《深度學習-神經網路和深度學習》4--深層神經網路

    1. 深層神經網路長什麼樣?所謂深層神經網路其實就是含有更多的隱藏層或隱藏層單元的神經網路。2. 前向傳播深層神經網路前向傳播的向量化實現:這裡需要逐層計算每層的z和a,一般只能用for迴圈(從第1層到第L層,輸入層被稱為第0層)3. 如何確定矩陣的維數n[0]是輸入層的特徵

    deepLearning.ai迴圈神經網路RNN學習筆記_看圖就懂了!!!(理論篇)

      前言 目錄:     RNN提出的背景         - 一個問題         - 為什

    deepLearning.ai迴圈神經網路RNN學習筆記_沒有複雜數學公式,看圖就懂了!!!(理論篇)

      本篇文章被Google中國社群組織人轉發,評價: 條理清晰,寫的很詳細!  被阿里演算法工程師點在看!  所以很值得一看!   前言 目錄:     RNN提出的背景    &nbs

    深度學習筆記(7)--邏輯迴歸的代價函式(Cost Function)

    邏輯迴歸的代價函式(Logistic Regression Cost Function) 在上一篇文章中,我們講了邏輯迴歸模型,這裡,我們講邏輯迴歸的代價函式(也翻譯作成本函式)。 吳恩達讓我轉達大家:這一篇有很多公式,做好準備,睜大眼睛!代價函式很重要! 為什麼需要代價函式: 為

    【深度學習基礎1】神經網路基礎--邏輯迴歸

      本博文根據 coursera 吳恩達 深度學習整理。作為理解神經網路的基礎。 一、知識點        深度學習本質上是對資料的一種擬合。使用非線性的函式集合作為模型,對樣本對進行損失最小的模擬。首先理解單個神經元的作用和原理,可以從

    深度學習筆記(28)-網路訓練驗證測試資料集的組成介紹

    從今天開始我們進入新的一個大方向了,改善深層神經網路:超引數除錯、正則化以及優化,首先進入深度學習的一個新層面,先認識下在深度學習中的資料集的分類。 之前可能大家已經瞭解了神經網路的組成的幾個部分,那麼我們將繼續學習如何有效運作神經網路,內容涉及超引數調優,如何構建資料,以及如何確保優化

    [ DL] CLass2 Week1 Part1 Regularization(正則化) 小結+程式碼實現

    一 Regularization小結 為什麼要使用regularization: 主要是因為Deep neural network結構十分靈活,容易造成對資料集的過擬合(尤其在資料集較小時) 常用的正則化方法: (1) L1/L2 Regularizai

    [ DL] CLass2 Week3 TensorFlow Tutorial

    下面是吳恩達DeepLearning課程第二課第三週的作業,其實主要是介紹如何利用框架TensorFLow建立神經網路模型並進行訓練預測。 TensorFlow Tutorial Welcome to this week’s programming ass

    [ DL] CLass4 Week1 Part2 Convolution model

    以下內容為吳恩達 Deep Learning 系列課程中第四課第一週作業的第部二分: 利用Tensorflow構建卷積神經網路並及用於分類應用。 Convolutional Neural Networks: Application Welcome to Co