1. 程式人生 > >Andrew Ng——神經網路和深度學習——第二週筆記

Andrew Ng——神經網路和深度學習——第二週筆記

Week2

2-1二分分類

計算機如何儲存一張圖片?

計算機要儲存一張圖片,實質上是要儲存三個矩陣,這三個矩陣分別對應RGB(red,green,blue)三個顏色的通道。例如輸入的圖片是64×64畫素的,那麼每一個矩陣的的大小就是64×64的,所以計算機就儲存了3個64×64的矩陣,把這3個矩陣弄到一個向量X裡,那麼這個向量的維度就是64×64×3=12288=nx.

1.在二分類問題中,目標是訓練出一個分類器。舉個二分類的栗子,輸入一張貓的圖片,輸出的就只有0,1,0表示這張圖片不是貓,1表示這張圖片是貓。這個分類器的輸入就是上文的圖片,也就是特徵向量X,而輸出是y,這個y的取值只有0或1。

一些符號規定

(x,y)表示一個單獨的樣本
x是xn維的特徵向量
標籤y值為0或1
訓練集由m個訓練樣本構成,m個訓練樣本就是m張圖片的意思
(x^(1), y^(1))表示樣本1的輸入和輸出,
{x^(1), y(1),.....x(n), y^(n).}整個訓練集

2.2logistic regression

如何使用邏輯迴歸解決二分類問題?

邏輯迴歸中,我們希望預測值y的取值在0~1之間,這是與二分類模型不一樣的地方。我們使用線性模型,引入引數w,b,得到

但是這樣的值不是0~1的,所以我們再引入sigmoid函式

對這個函式進行分析:

如果z特別大,那麼函式值就趨近0;如果z特別小,那麼函式值就趨近於1.

2.3logistic迴歸的成本函式

Loss function定義為:

cost function定義為:

其中,loss function是對單個訓練樣本而言的,而cost function是對整個訓練樣本的loss function的平均值。也就是說成本函式cost function,它衡量的是在全體訓練樣本上的表現。

2.4梯度下降

我們採用梯度下降法來訓練或學習訓練集上的引數w和b。我們要找到一個最合適的w,b使得成本函式最小。

可以看出,成本函式是一個凸函式,存在著一個全域性最優解。

梯度下降法所做的就是,從初始點開始,朝最抖的下坡方向走一步,在梯度下降一步後,也許就會停在“碗”的最低端,因為它試著沿著最快下降的方向往下走,這是梯度下降的一次迭代。兩次迭代可能就到了最低點,或者需要更多次,我們希望收斂到這個全域性最優解,或接近全域性最優解。

α是學習率,表示梯度下降的步長,即向下走一步的長度。

2.5、2.6均是高等數學中求導數的方法

2.7、2.8計算圖及其導數計算

整個神經網路的訓練過程分為兩步:前向傳播和反向傳播。前向傳播是從輸入到輸出,由神經網路計算,預測得到輸出的過程。反向傳播是從輸出到輸入,在計算梯度或導數。

前向傳播

反向傳播

2.9logistic迴歸的梯度下降法

因此我們在logistc迴歸中,需要做的就是變換引數w和b的值來最小化損失函式

2-11

向量化---消除程式碼中的for迴圈

c=np.dot(a,b)————兩個矩陣相乘

2-12

u=np.zeros((n,1)) 意思是建立一個n維陣列,且一行只有一個元素

如果已知一個向量u=np.zeros((10,1)),則他長這樣子:

a = np.random.randn(5,1)  #定義一個5行1列,,,就是列向量
print a
array([[ 0.96628706],
       [-1.48066186],
       [-0.55044832],
       [-0.16443292],
       [ 0.58546807]])
 a = np.random.randn(1,5)  #定義一個1行5列,,,就是行向量
 print a
 array([[ 1.01328334, -0.26443482,  1.1383514 , -1.09464648,  0.37793568]])