2018年2月6日 星期二

Andrew Ng DeepLearning (Neural Networks and Deep Learning) Week2



  • Logistic Regression 
    • 由於你要計算是與否的問題,所以y hat的值只在0~1之間,故取Sigmoid Function比較好,圖案就是Sigmoid Function 樣子。




 
 其中Loss function 長這個樣子



L(\hat y, y)=-(y\log\hat y+(1-y)\log(1-\hat y))

那為什麼不用squared error  L(\hat y, y)=\dfrac{1}{2}(\hat y-y)^{2}就好呢?

因為可能不是Global Maximum 

f

把Lose Function 加起來,除以m就是 Cost Function,而我們要找到最小的Cost Function
所以要找到適合的w和b,怎麼找呢?用Gradient Descent法則。
 
 J(w,b)=\dfrac{1}{m}\sum_{i=1}^{m}L(\hat y^{(i)}, y^{(i)})=-\dfrac{1}{m}\sum_{i=1}^{m}\left[y^{(i)}\log\hat y^{(i)}+(1-y^{(i)})\log(1-\hat y^{(i)})\right]



 用這樣去找,這是一個慢慢移動的概念,其中Alpha是Learning Rate

w:=w-\alpha\dfrac{\partial J(w,b)}{\partial w}
b:=b-\alpha\dfrac{\partial J(w,b)}{\partial b}


在寫程式時,由於沒辦法寫成這樣\dfrac{\partial J(w,b)}{\partial w} ,外加曲很多值都會用到J,故我們簡化成dw

\dfrac{\partial J(w,b)}{\partial b} 也簡化成db。

之後老師教了一點簡單的微積分概念,但這太簡單了,我們就略過吧~


 這邊說的是Chain Rule的概念,紀肇,我們要找db和dw來求最小的Loss Function

正向傳播就是你用他給的東西去算出Loss function 的值,反向傳播就是你透過算出來的Loss function 去找dw和db是什麼,你看看~dw、db又和dz有關,dz和da有關。



就是要找這兩個~w1動一點點的話J怎麼變?以及b動一點點的話,J怎麼變?

這我們就會用到反向傳播的改念(Backpropagation),名字聽起來很酷,但其實就是從J去推測如下圖的

a,b,c動一點點的話J怎變?是Chain Rule的概念。 







dw_{1} = \dfrac{\partial L}{\partial w_{1}}=\dfrac{\partial L}{\partial z}\cdot\dfrac{\partial z}{\partial w_{1}}=x_{1}\cdot dz=x_{1}(a-y) 
db = \dfrac{\partial L}{\partial b }=\dfrac{\partial L}{\partial z}\cdot\dfrac{\partial z}{\partial b }=1\cdot dz=a-y

不用管他怎來,反正就微積分



dz = \dfrac{\partial L}{\partial z}=\dfrac{\partial L}{\partial a}\cdot\dfrac{\partial a}{\partial z}=(-\dfrac{y}{a}+\dfrac{1-y}{1-a})\cdot a(1-a)=a-y






J+=的意思是J = J+後面的東西,是python裡面常用的手法,而這邊的意思把J從i=1加到m
就變成Cost Funcetion了。

盡量不要用到For Loop因為會跑得比較慢,,這邊用右邊寫成Matrix的方式表示,就可以省略一個For Loop。



如果找一次的話,這是python代碼

Z = np.dot(w.T,X) + b
A = sigmoid(Z)
dZ = A-Y
dw = 1/m*np.dot(X,dZ.T)
db = 1/m*np.sum(dZ)

w = w - alpha*dw
b = b - alpha*db





這邊是把z寫成矩陣模式~變成

Z= np.dot(w.T,X) + b
A = sigmoid(Z)
 
這邊是把 


assert(a.shape == (5,1))

沒有留言:

張貼留言

如何做簡單的冥想

以前常常聽到一些人說冥想對自己身體多好多好 一律被我歸類為怪力亂神,畢竟這類活動常常跟宗教扯在一起 講些什麼能量阿、佛法阿、神祕學之類的,比什麼手勢怎擺會增強什麼呀 一看就覺得有病(現在還是不太喜歡類東西) ,直到後來不經意在幾個自己頗欣賞的blogger上都看到他們提到冥想,...