1. 程式人生 > >第1課__神經網路和深度學習__第2周__神經網路基礎

第1課__神經網路和深度學習__第2周__神經網路基礎

第1課__神經網路和深度學習__第2周__神經網路基礎

=======================

目錄

2.1 二分分類

2.2 logistic迴歸

2.3 logistic迴歸代價函式

2.4 梯度下降法

2.5 導數

2.6 更多導數的例子

2.7 計算圖

2.8 計算圖的導數計算

2.9 logistic迴歸中的梯度下降

2.10 m個樣本的梯度下降

2.11 向量化

2.12 向量化的更多例子

2.13 向量化logistic迴歸

2.14 向量化logistic迴歸的梯度輸出

2.15 python中的廣播

2.16 關於Python/numpy向量的說明

2.17 

=======================

2.1 二分分類

logistic迴歸一般用來解決二分分類問題。二分分類問題的輸出y有兩個值是{0,1}。下面以影象識別貓為例來說明:


  • 輸入:x=圖片
  • 輸出:是否是貓,y=1是貓,y=0不是貓

簡單以見,假設輸入圖片寬高是64pixels * 64pixels。在計算機中,一張彩色圖片是怎樣儲存的呢?

一張彩色圖片包含RGB3個色彩通道。以上圖為例,該圖片尺寸為64 * 64 * 3。在神經網路中,通常是將輸入圖片轉換成一維特性向量來表示,轉換過程如下圖:


轉換後的特性向量維度是(12288,1),它是列向量,維度一般記為n

xnx=12288

如果訓練樣本有m張圖片,那麼將整個訓練樣本組成輸入矩陣,維度是(nx,m)。這裡m表示樣本數目,nx表示一個樣本中特性個數。輸出矩陣y的維度是(1,m)。


2.2 logistic迴歸

二分分類的輸出y取值{0,1},logistic迴歸的預測值= p(y=1|x),它表示y=1的概率(如在影象識別貓中表示是貓的可能性),它的取值範圍是[0, 1],這是與二分分類不同的地方。

引入引數:權重w,維度是nx,1); 偏置常量b

logistic迴歸的線性預測可以表示為:


上式的輸出範圍是整個實數集,而logistic迴歸的輸出是在區間[0, 1],可以用sigmoid函式把輸出“壓縮”在[0, 1]區間內。


綜上,logistic迴歸的預測輸出可以表示為:


其實,logistic迴歸就是線性迴歸的“邏輯化”。

Sigmoid函式有一個非常好的特性:它的一階導數可以用其自身表示:



2.3 logistic迴歸代價函式

在神經網路中,我們的目標是學習一個關於引數w和b的預測模型。怎樣確定引數w和b呢?我們需要定義一個cost function(它表示預測值與真實值的差距),當cost function取最小值時,就確定了引數w和b。

對於m個訓練樣本,(x(i),y(i))表示第i個樣本

先來看一下單個樣本的代價函式,一般損失函式(Lost function)。我們希望預測值與真實值非常接近,對於迴歸問題的損失函式,通過用平方差來表示:


對於邏輯迴歸,一般不用平方差做為損失函式,因為它是非凸的(non-convex),非凸函式存在多個極小值,所以在運用梯度下降時,易達到區域性最優,我們的目標是全域性最優。

邏輯迴歸的損失函式一般用下式表示: