Skip to content

Latest commit

 

History

History
117 lines (86 loc) · 4.14 KB

File metadata and controls

117 lines (86 loc) · 4.14 KB

Week 2. Neural Networks Basics

2.1 Binary Classification

2.1.1 什麼是Binary Classification

2.2 Logistic Regression

2.2.1 什麼是Logistic Regression

2.3 Logistic Regression Cost Function

2.3.1 什麼是Logistic Regression Cost Function

2.4 Gradient Descent

2.4.1 什麼是Gradient Descent

2.5 Derivatives

2.5.1 什麼是Derivatives

2.6 More Derivative Examples

2.7 Computation graph

2.7.1 什麼是Computation graph

2.8 Derivatives with a Computation Graph

2.8.1 什麼是Derivatives with a Computation Graph

2.9 Logistic Regression Gradient Descent

2.9.1 什麼是ogistic Regression Gradient Descent

2.10 Gradient Descent on m Examples

2.10.1 什麼是Gradient Descent on m Examples


Answers:

2.1.1 什麼是Binary Classification

59

  • input: 圖片(64x64x3)。
  • ouput: 1(是貓),0(不是貓)

2.2.1 什麼是Logistic Regression

60

  • 用logsitc regression來解釋Binary Classification,表示當給予x,y=1的機率是多少
  • Input: x (數據)
  • Parameter: w, b
  • Output: 是將w,b,x經過線性組合後通過一個sigmoid函數,得到一個0~1的輸出值

2.3.1 什麼是Logistic Regression Cost Function

61

  • 數學式
  • 線性組合:(1)
  • sigmoid function:(2)
  • loss function:(4)
  • cost function:(5)
  • Logistic Regression Cost Function: 是求Logistic Regression function的輸出值跟實際值的差值得總和。
  • 直觀的loss function應該要像(3),但是3並不利於之後的Gradient Descent的計算,因為loss function的圖像(6)。
  • (4)雖然不直觀,但的確有滿足y=0,y=1時,我們對輸出值的要求,也利於之後的Gradient Descent的計算。

2.4.1 什麼是Gradient Descent

62

  • 找出一組最佳的W,使得J(W,b)為最小,也就是讓Cost Function的值為最小。
  • w更新的方向跟大小是由(1),(2)乘積決定,(1)決定每次變化的步伐大小。

2.5.1 什麼是Derivatives

  • 導數(斜率)其實就是函數在某個微小的區間內的輸出值的變化。

2.7.1 什麼是Computation graph

63

  • 拆分每一個計算步驟,方便正向跟反向的計算。
  • 正向計算: 拆分3(a+bc)的計算步驟,一步一步的求出J(loss or cost function)。
  • 反向計算: 將誤差值反推更新a,b,c,實現不斷更新cost,讓cost最小化的目的。

2.8.1 什麼是Derivatives with a Computation Graph

64

  • 反向計算的拆分過程,利用chain rule來連接。
  • 先求(1),再來要求(2),我們必須透過chain rule的方式(3),因為我們可以算出(1),(4),所以可以得到(2)。

2.9.1 什麼是logistic Regression Gradient Descent

65

  • 反向計算的拆分過程,利用chain rule來連接。
  • 先求(1),再來要求(2),我們必須透過chain rule的方式(3),有了(2),再利用一次chain rule可以得到(4),(5),(6)。

2.10.1 什麼是Gradient Descent on m Examples

66

  • 需要2個for loop, 第一個loop是針對每個樣本,第二個loop是針對每個樣本中的每個feature的誤差進行累積。
  • 將總誤差平均分攤給m個樣本
  • 更新權重
  • for loop計算效率差,要透過vectorization來代替for loop。