Neural Networks and Deep Learning Week 2

Jack Pan
ML² Notes
Published in
5 min readJan 7, 2018

Binary Classification

二元分類問題。例如:判斷某張圖片是不是貓的照片。
在處理圖片時,彩色圖片通常會將 RGB 拉成一維當作輸入特徵。例如: 64*64 大小的圖片,其 x 之維度將為 12288*1 。

Notation

m :資料數量(可能是 training set or testing set or all)。
nx:樣本特徵大小。
x :單一樣本的特徵,通常為 nx*1 維。
X :所有樣本的特徵,通常為 nx*m 維。
y :單一樣本的答案,在 Binary Classification 為 1*1 維。
Y :所有樣本的答案,在 Binary Classification 為 1*m 維。

Logistic Regression

一般的線性迴歸的式子為 w1x1+w2x2+…+wnxn+b ,求解 W 與 b 後,即可用此式回答迴歸問題。
而在 Logistic Regression 中為回答二元分類問題,其輸出結果會在 0 和 1 之間,表示正方機率。透過將線性迴歸的式子外圍多包上 Sigmoid 函數來達成此目的。

Sigmoid function — 經過轉換後,所有值皆會在 0 和 1 之間

Logistic Regression Cost Function

在求解 W 與 b 的過程中,必須有一個式子評判目前的 W 和 b 好不好,稱為 Cost Function ,當此 Cost Function 計算出來的值越小,代表 W 和 b 選的越好,即模型表現較好。

決定 Cost Function 前,會先決定 Loss Function 。兩者差別為, Loss Function 是判斷單一樣本的結果好壞, Cost Function 則是所有樣本。 Cost Function 通常即為所有 Loss Function 的平均。

由於 Gradient Descent 的特性,會希望 Cost Function 在 W 和 b 空間下為 Convex 。

同時也要符合 Maximum Likelihood Estimation 之假設,因此設定為:

Gradient Descent

模型的訓練目標為選出使 Cost Function 值越小的 W 和 b 的組合。其中一個方法為 Gradient Descent ,如圖中每次將 W 和 b 往梯度的反方向移動,就可以漸漸降低 Cost Function 的值。

Gradient Descent 將 Cost Function 分別對 W 和 b 做偏微分。該數字的意義為若將現在的 W 或 b 加上一個極小的數字後, Cost Function 會上升或下降多少。

為了使 Cost Function 數值下降,若偏微分為正,應將 W 或 b 往下調、偏微分為負,應將 W 或 b 往上調。因此可以設定成現在的 W 或 b 減掉偏微分的數值,為新的 W 或 b 。

p.s: ln(a) 微分為 1/a

上圖為單一樣本,即 Loss Function 的偏微分, Cost Function 的偏微分是取 Loss Function 偏微分的平均。

Vectorization

盡量不要使用 For Loop ,用向量化的方式計算並使用 numpy 內建的函數。如此程式會自動進行平行處理。

將每個樣本平行堆疊在一個矩陣內,即可用矩陣運算的方式一次計算出所有樣本的結果。

右邊為向量化過後的程式,最外層的迴圈還是需要的。大寫字母代表經過堆疊每個樣本後的矩陣。

Broadcasting in Python Numpy

在 Python Numpy 中,矩陣只要有一個維度對應正確、另一個維度是一,仍可以進行加減乘除。因為 Python Numpy 會自動重複資料,補齊另一個維度。

Note on Python Numpy

Python Numpy 有種特別的向量,其維度為 (n, ) ,稱其為 Rank 1 Array 。用這種向量常會發生非預期的行為,因此並不建議使用,應使用 .reshape(n, 1) 將其轉換成正常的向量。

Note on Implementation of HW

Normalizing rows: 使用 np.linalg.norm 。

keepdims=True ,會讓 Numpy 輸出維持一樣維度的向量,在這邊的目的是避免 Numpy 輸出 Rank 1 Array 。

使用 Logistic Regression 在此辨識貓的作業上,可以達到約 70% 的正確率。

--

--