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]])