吳恩達 深度學習 神經網路和深度學習

2022-09-23 16:27:17 字數 1704 閱讀 2746

二分類問題是一種簡單分類問題,其輸出結果是兩個離散值。

假如給定一副貓的,那麼二分類問題就可描述為:判別這幅影象中是否有貓?分類結果也只有1(表示存在),0(表示不存在)兩種。

符號定義

x:表示乙個nx維資料,為輸入資料,維度為(nx,1);

y:表示輸出結果,取值為(0,1);

(x(i),y(i)):表示第i組資料,可能是訓練資料,也可能是測試資料,此處預設為訓練資料;

x=[x(1),x(2),...,x(m)]:表示所有的訓練資料集的輸入值,放在乙個nx?m的矩陣中,其中m表示樣本數目;

y=[y(1),y(2),...,y(m)]:對應表示所有訓練資料集的輸出值,維度為1?m。

線性回歸

二分模型:

a=y^=σ(z)=σ(wtx+b)

其中σ(z)=11+e?z。

損失函式:

l(y^(i),y(i))=?y(i)logy^(i)?(1?y(i))log(1?y^(i))

代價函式:

j(w,b)=1mσmil(y^(i),y(i))

計算方法

解決此類問題常見的方法是梯度下降法,w和b的修正量可以表達如下:

w=w?α?j(w,b)?w

b=b?α?j(w,b)?b

每次迭代時,只需按照梯度方向下降即可收斂得到結果。

為簡化推導過程,假設nx=2,則可以得到z=w1x1+w2x2+b。

可以得到一下公式(具體推導不展開了~~):

?a?z=a(1?a)

?l?a=?ya+1?y1?a

?l?z=?l?a?a?z=a?y

進一步可以得到:

?l?w1=?l?z?z?w1=x1(a?y)

?l?w2=?l?z?z?w2=x2(a?y)

?l?b=?l?z?z?b=(a?y)

因此對於損失函式可以寫成:

dw1=1mσmix(i)1(a(i)?y(i))

dw2=1mσmix(i)2(a(i)?y(i))

db=1mσmi(a(i)?y(i))

因此其流程**可以寫成:

j=0; dw1=0; dw2=0; db=0;

for i = 1 to m

z(i) = wx(i)+b;

a(i) = sigmoid(z(i));

j += -[y(i)log(a(i))+(1-y(i))log(1-a(i));

dz(i) = a(i)-y(i);

dw1 += x1(i)dz(i);

dw2 += x2(i)dz(i);

db += dz(i);

j /= m;

dw1 /= m;

dw2 /= m;

db /= m;

w=w-alpha*dw

b=b-alpha*db然而考慮到在深度學習中,訓練資料通常非常大,使用迴圈進行訓練是乙個非常不合理的方式。因此有必要對其進行向量化

w.reshape(2,1)

b.reshape(1,1)

x=[x1,x2,...,xn]

y=[y1,y2,...,yn]

z=np.dot(w.t,x)+b

a=sigmoid(z)

dz=a-y

dw=x*dz.trans()/m

db=np.sum(dz)/m

w=w-alpha*dw

b=b-alpha*db待定。。。

吳恩達神經網路和深度學習

課程名稱 神經網路和深度學習 andrew ng 神經網路和深度學習 1 什麼是神經網路 傳送門 神經網路和深度學習 2 啟用函式 傳送門 神經網路和深度學習 3 神經網路輸入的表示 傳送門 神經網路和深度學習 4 符號約定 傳送門 神經網路和深度學習 5 邏輯回歸 傳送門 神經網路和深度學習 6 ...

神經網路和深度學習 之吳恩達

課件資料 深度學習最近興起的原因 深度學習與傳統機器學習模型的優劣 促使深度學習發展的三要素 資料規模 計算能力 演算法改進 結構化資料與非結構化資料 邏輯回歸的代價函式 logistic回歸的概念,公式表示 logistic回歸可用於二分類 課程中用到的關於訓練集,測試集的一些符號表示 logis...

神經網路和深度學習 吳恩達 神經網路基礎

簡單的理解就是輸出的結果是兩個離散的值,就像課程中舉的例子 通過輸入一張的資訊,經過一些列的計算,輸出乙個離散的y值,中是否有貓,當y 1時表示中有貓,反之當y 0時,表示中沒有貓。我看很多人將這個翻譯成邏輯回歸,而在 機器學習 中,作者認為應該更為準確的叫對數機率回歸,這裡我就不對這兩個翻譯做過多...