吳恩達深度學習第一課(神經網絡與深度學習基礎)--第二週神經網絡基礎

第二週神經網絡基礎

xy^y^y過程:輸入x,計算機通過一系列計算,得出\hat y,我們希望計算而來的\hat y與期望中的y無限接近。
y^y^舉個例子,給計算機輸入一張貓貓的圖片,計算機得出一個結果\hat y,我們希望\hat y無限接近期望中的結果‘貓貓’。
y^01所以我們用損失函數將\hat y轉化爲0-1的概率值,但損失函數針對單個樣本,而成本函數針對所有樣本的損失函數和。

logistic迴歸

646464643=12288nx=[....]x,yxRnxy0,1mtrain=(x(1),y(1)),(x(2),y(2)),,(x(m),y(m)),mtest輸入一個64*64的圖片,計算機將此圖片存儲爲大小爲64*64*3=12288大小的特徵向量n_x=\begin{bmatrix} . \\ . \\.\\. \end{bmatrix} 。(x,y), x \in R^{n_x} , y\in{0,1} ,m_{train}={(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),{\dots},(x^{(m)},y^{(m)})},m_{test}。
x=[x(1)x(2)x(m)]x=Rnxm,x.shape=(nx,m)若x=\begin{bmatrix} x^{(1)}&&x^{(2)} &&{\dots} && x^{(m)} \end{bmatrix} ,則x=R^{n_x*m},x.shape=(n_x,m)。
y=[y(1)y(2)y(m)],yR1m,y.shape=(1,m)y^yy^(0,1)xRnx,wRnx,bR,y^=δ(wTx+b),δ(z)=11+ez若y=\begin{bmatrix} y^{(1)}&&y^{(2)} &&{\dots} && y^{(m)} \end{bmatrix} ,則y\in R^{1*m},y.shape=(1,m)。我們希望\hat y無線接近y,則\hat y \in (0,1),x\in R^{n_x},w\in R^{n_x},b\in R,\hat y=\delta(w^Tx+b),\delta(z)=\frac{1}{1+e^{-z}}。
zδ11+01;若z\uparrow,則\delta \approx \frac{1}{1+0}\approx 1;
zδ1x+0若z\downarrow,則\delta \approx \frac{1}{x+\infty}\approx0。

損失函數loss function

lossfunction:L=(y^,y)=12(y^y)2使L=(ylog2y^+(1y)log2(1y^))loss function:L = (\hat y,y)=\frac {1}{2}(\hat y - y)^2,但通常使用L = -(y\log_2 \hat y+(1-y)log_2(1-\hat y))。
y=1L(y^,y)=ylog2y^,log2y^,y^若y=1,L(\hat y,y)=-ylog_2\hat y,希望log_2 \hat y \uparrow,則\hat y \uparrow。
y=0L(y^,y)=log2(1y^),log(1y^)y^若y=0,L(\hat y,y)=log_2 (1-\hat y),希望log(1-\hat y)\uparrow,則\hat y \downarrow

使y^y梳理: 爲何使用損失函數? 來衡量單個樣本預測輸出值\hat y和y的實際值有多接近。

成本函數cost function

costfunction:J(w,b)=1mi=1mL(y^(i),yi)=1mi=1m[y(i)log2y^(i)+(1y(i))log2(1y^(i))].cost function:J(w,b)=\frac{1}{m}\sum_{i=1}^{m}L(\hat y^{(i)},y^{i})=-\frac{1}{m} \sum_{i=1}^m[y^{(i)}log_2\hat y^{(i)}+(1-y^{(i)})log_2(1-\hat y^{(i)})].

使梳理: 爲何使用成本函數? 來衡量所有樣本的損失函數和。

梯度下降

J(w,b)w=wαJ(w,b)w;b=bαJ(w,b)bJ(w,b) w=w-\alpha \frac{\partial J(w,b)}{\partial w};b=b-\alpha \frac{\partial J(w,b)}{\partial b}
αlearningrate其中,\alpha是learning rate學習率,可以控制每一次迭代或梯度下降法的步長。
J(w,b)ww其中, \frac{\partial J(w,b)}{\partial w}是對w偏導。
上述公式,可以看出這是三維空間的立體圖形,通過不斷修正w和b,使得w和b最終歸到圖形中最凹點或最凸點處。
使w,b梳理: 爲何使用梯度下降? 爲了訓練或學習訓練集上的參數w,b

計算圖

舉例,J(a,b,c)=3(a+bc),令u=bc,v=a+u,J=3v。採用鏈式法則,從j倒退a,b,c的導數,這個過程,就是計算圖。

向量化

省略顯示for循環,用python中的numpy中的向量來替換,在數據量很大的時候,運算速度可以顯著提高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章