日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

Andrew Ng 深度学习笔记-01-week2-课程

發布時間:2025/3/21 pytorch 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Andrew Ng 深度学习笔记-01-week2-课程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、專業詞匯:

neural ?network programming ? ? 神經網絡編程

implement a neural network ? ? ? 構建神經網絡

forward pass/forward propagation step ??正向傳播

backward pass/backword propagation step 反向傳播

logistics regression ? ? logistic回歸

binary classification ? ? 二分分類

dimension ?維度

input ?feature ?vector ?輸入的特征向量

classifier ? ?分類器

training sets ?訓練集

training examples ?訓練樣本

transpose ? 轉置

matrix ? 矩陣 ? ?vector 向量?

supervised learning 監督學習

gradient descent algorithm 梯度下降法

the global optimum ?全局最優解

?calculus ?微積分

derivatives 導數

slope 斜率

vectorization 向量化

scaleable deep learning 可擴展深度學習

graphics processing unit ?GPU ?圖像處理單元 ?CPU和GPU均有并行化的指令 統稱SIMD,即 single ?instruction multiple data ?單指令流多數據流

?parallelization ? instructions ? ?并行化指令

二、編程技巧:

盡量不要直接使用for循環,可能存在數量巨大的數據集,建議使用向量化技術,即使用向量化技術擺脫for循環

X.shape ?輸出矩陣X的維度

由于都是計算的J對其他變量的導數,所以用dw表示dJ對w的導數

?Z=np.dot(W,x) ?通過向量化計算W*x

?類似的np. 即Python中的numpy能夠充分利用并行化:np.exp(v) ?np.log(v) ?np.maximum(v,0) .......

?u=np.zeros((n,1)) ?生成n個包含一個元素0的矩陣

?cal=A.sum(axis=0) ? 代表將A矩陣中的元素進行豎直相加 ? 如果是水平軸,則axis=1

?在編寫時,當不完全確定是什么矩陣、不確定矩陣的尺寸時,使用reshape,確保其是正確的列向量或行向量

廣播的應用:

一個列向量+一個數,python會自動把實數擴展為相應的列向量(進行相應的水平復制或者垂直復制):

例如:

?

?編程時容易出現的錯誤:

盡量不使用秩為1的數組a(既不是行向量,也不是列向量,a=a的轉置,a和a的轉置的內積是一個數)

應使用如下類似的矩陣:(將(n,1)看做列向量,(1,n)看做行向量)

編寫時可以加類似如下的聲明:

?

當發現了秩為1的數組時,可以使用reshape將其轉化為向量:

a=a.reshape((5,1))

三、思維:

logistic回歸:用于二分分類的算法

例子:用y表示一個預測的圖片中是不是包含貓,y表示結果,1表示是,0表示不是

? ? ? ? ? 例如用一個X表示一個圖片亮度的像素值,假如是64*64,則X的維度為:64*64*3 ?

二分分類問題中,目標是訓練一個分類器,這個分類器 以圖片的特征向量x作為輸入,輸出結果y(0或1)

訓練樣本(i)對應的預測值是y^(i)

?其中的w、x都是n維列向量:

?

loss函數作用于單個樣本

cost函數J(w,b)作用于整個訓練集

需要找到更合適的w,b 使得cost函數盡可能小

需要使用初始值初始化w和b ,對于logistic 回歸而言,幾乎任意的初始化方法都有效,雖然一般會進行初始化為0的操作,但在此不進行這樣的初始化

梯度下降法的做法:從初始點開始,朝著最陡的下坡方向走,經過多次迭代,最終收斂到全局的最優解

?先忽略b,做w的圖像:

?

學習率控制每一次的迭代

在w函數的右側,導數是正的,w不斷減少,在左邊,導數是負的,w不斷增加

?函數的導數即為函數的斜率,一次函數中為高/寬,其他函數在每個不同的點,斜率不一樣,參考微積分對應的公式進行求導/求斜率

使用流程圖,求更加復雜的函數的導數:

?正向傳播計算正常的J:(從左到右計算成本函數)

假設樣本有兩個特征,x1和x2

在logistic回歸中,我們要做的是:通過變換參數w和b的值,使loss函數最小化

?

反向傳播計算導數:

?

?

m個樣本的logistic回歸(對logistic回歸應用梯度下降法,實現梯度下降法的迭代):

一次梯度下降:

?

在此包含兩個for循環,一個用來遍歷m個訓練樣本,一個用來遍歷所有的特征

向量化:

for循環和向量化的對比:

?

?向量化的例子:

矩陣和向量相乘,for循環與np.dot()比較

?

做指數運算,應該用numpy里面的內置函數代替for循環:

只剩一次for循環的多次梯度下降迭代:

向量化logistic回歸:(正向傳播一步迭代的向量化實現,同時處理所有m個訓練樣本)

X矩陣由x進行豎排堆疊得到

Z矩陣由z進行橫排堆疊得到

A矩陣由a進行橫排堆疊得到

實現不需要for循環就可以從m個訓練樣本一次性計算出z和a

?

其中的Z=np.dot(w.T,X)+b ,在此b為一個實數,向量+實數,通過python的廣播,可以將其擴展為1*m的行向量

?去掉反向傳播中的所有for循環:

過程:

?

目前實現了對所有訓練樣本進行預測和求導:(沒有使用for循環)

?

最外層循環有時候是無法去掉的(比如要求上千次導數進行梯度下降的情況)

? ? ? ? ? ? ? ? ? ? ?

?

轉載于:https://www.cnblogs.com/bask/p/9278752.html

總結

以上是生活随笔為你收集整理的Andrew Ng 深度学习笔记-01-week2-课程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。