當你編寫新的網路時,或者做的只是回歸,一定要盡量避免for迴圈,能不用就不用。如果可以使用乙個內建函式或者找出其它辦法去計算迴圈,通常會比直接用for迴圈更快,來看另乙個例子。
如果想計算乙個向量u,作為乙個矩陣a和另乙個向量v的乘積。矩陣乘法的定義就是ui=
∑jai
j∗vj
u_i=\sum_ja_*v_j
ui=∑j
aij
∗vj
,令u=n
p.ze
ros(
n,1)
u=np.zeros(n,1)
u=np.z
eros
(n,1
),然後對i迴圈,對j迴圈,計算出u的值,這是乙個非向量化的過程。
向量化的實現就是說u=n
p.do
t(a,
v)u=np.dot(a,v)
u=np.d
ot(a
,v),類似的例子還有很多。我們看看怎麼將向量化表示應用到邏輯回歸中。
上圖是邏輯回歸導數的程式,有兩個for迴圈,通過向量化的表示,可以去掉其中的第二個for迴圈。具體如下圖所示。
吳恩達深度學習 2 12向量化logistic回歸
1.不使用任何for迴圈用梯度下降實現整個訓練集的一步迭代。1 logistic回歸正向傳播的步驟 如果有m個訓練樣本,對乙個樣本進行 需要通過下面的方式計算出z值和啟用函式a值,然後用同樣的方法計算第二個和第三個樣本.以此類推,如果有m個樣本的話,這樣可能需要做上m次。可以看出,為了執行正向傳播的...
吳恩達深度學習 2 11 向量化
向量化通常是消除 中顯式for迴圈語句的藝術,在深度學習安全領域 深度學習 練習中,經常發現在訓練大資料集時,深度學習演算法表現才更加優越,所以 執行得非常快非常重要。否則如果執行在乙個大資料集上,可能花費很長時間去執行,這將要等待非常長的時間去得到結果。所以在深度學習領域,向量化是乙個關鍵的技巧。...
深度學習 吳恩達
第三週神經網路 啟用函式 第一門課 感謝黃博的參考筆記 一次梯度下降 正向傳播與反向傳播 一次反向傳播梯度下降 注意與機器學習課程不同的一點是,第一層不算樣本輸入 a t an z a tan z a tan z 的值域是位於 1和 1之間。a t anh z e z e zez e za tanh...