【機器學習筆記20】神經網路(鏈式求導和反向傳播)
【參考文獻】 【1】《面向機器智慧的TensorFlow實踐》4.7
假設存在網路結果如下
各個層輸出定義
L1=sigmoid(w1⋅x) L2=sigmoid(w2⋅L1) L3=sigmoid(w3⋅L2)
定義整個網路最終的損失函式為 loss=Loss(L3,yexpect)
對損失函式求w3偏導數,得到
∂w3∂loss=Loss′(L3,yexpect)sigmoid′(w3,L2)L2
同理我們得到對w2和w1的偏導數 ∂w2∂loss=Loss′(L3,yexpect)sigmoid′(w3,L2)sigmoid′(w2,L1)L1
∂w1∂loss=Loss′(L3,yexpect)sigmoid′(w3,L2)sigmoid′(w2,L1)sigmoid′(w1,x)x
綜上所述,我們將整個求導公式簡寫 ∂w3∂loss=Loss′L3′L2 ∂w2∂loss=Loss′L3′L2′L1 ∂w1∂loss=Loss′L3′L2′L1x
可以看到規律在反向求導中,每一次計算都可以重用前一層的計算結果,這也就是所謂的反向傳播演算法。
相關推薦
【機器學習筆記20】神經網路(鏈式求導和反向傳播)
【參考文獻】 【1】《面向機器智慧的TensorFlow實踐》4.7 假設存在網路結果如下 各個層輸出定義 L1=sigmoid(w1⋅x)L_1 = sigmoid(w_1 \cdot x)L1=sigmoid(w1⋅x) L2=sigmoid(w2⋅L
【機器學習筆記21】神經網路(多層感知機)
【參考資料】 【1】《深度學習》 花書 6.1 亦或問題 由於單層感知機相當於在一個空間增加了一個超平面進行分類,那麼對於像亦或問題這樣的情況則無法完成。 因此在多層感知機中增加了一個隱藏層,即一個啟用函式。現代神經網路最常用的啟用函式是整流線性單元,ReL
【機器學習筆記19】神經網路(單層感知機)
【參考資料】 【1】《人工神經網路教程》 【2】《matlab 2015b 神經網路技術》 基本概念 單層感知器可以看成一個線性累加器和一個二值化閾值元器件,通常會在累加一個偏移量。由公式表達為:oj=sgn(∑i=1nwijxi+b)o_j= sgn(\s
【機器學習筆記23】神經網路(RNN)
基礎迴圈神經網路 迴圈神經網路(RNN)是一個由神經元和權值構成的有向圖,它的當前狀態與前一時刻的狀態和當前輸入決定,因此當前狀態也被稱為工作記憶。迴圈神經網路在時間序列上展開後如上圖所示,用於解決序列化的問題,諸如語音識別、語音合成、文字生成。 例子:利
【機器學習筆記22】神經網路(卷積神經網路)
【參考資料】 【1】《面向機器智慧的tensorflow實踐》 【2】Keras/example – mnist_cnn.py 【3】Keras中文文件 常用層 卷積層 卷積理解就是之前影象處理裡用作檢測邊緣、檢測角點的運算元,例如: 輸入: [1234] \
【機器學習筆記24】神經網路(LSTM)
梯度消失原因 TBD 模型定義 LSTM 長短期記憶網路是一種特殊的RNN,為解決梯度爆炸和梯度消失的問題,LSTM將RNN中普通的神經元替換成了擁有少量記憶的LSTM單元。 第一步: 決定丟棄資訊 第二步: 確定更新資訊 第三步: 更新狀態 第四
【機器學習筆記08】分類器(softmax迴歸)
基本定義 首先給出softmax的數學定義,如下: hθ(x(i))=[p(y(i)=1∣x(i);θ)p(y(i)=2∣x(i);θ)⋮p(y(i)=k∣x(i);θ)]=1∑j=1keθjTx(i)[eθ1Tx(i)eθ2Tx(i)⋮eθkTx(i)]
【機器學習筆記12】聚類(k-means)
K-means 演算法 演算法流程如下: (1)在樣本中選擇兩個點(也可以是若干個)作為種子點; (2)計算其餘各個樣本離該種子點的距離,並將其分為兩類; (3)將種子點移到(2)所分為的兩類的中間; (4)重複(2)(3)直到種子不再移動; K-means
【機器學習筆記13】聚類(高斯混合聚類)
【參考資料】 【1】《統計學習方法》 【2】《概率論與數理統計》 【3】小象學院 EM演算法 高斯分佈 定義: 如果隨機變數X的概率密度為f(x)=12πσe−(x−u)22σ2f(x)= \dfrac{1}{\sqrt{2\pi}\sigma}e^{-\df
【深度學習基礎-09】神經網路-機器學習深度學習中~Sigmoid函式詳解
目錄 Sigmoid函式常常被用作神經網路中啟用函式 雙曲函式tanh(x) Logistic函式 拓展對比 Sigmoid函式常常被用作神經網路中啟用函式 函式的基本性質: 定義域:(−∞,+∞
Andrew Ng 機器學習筆記 09 :神經網路
非線性假設 神經網路邏輯單元 激勵函式 輸入層,輸出層,隱藏層 前向傳播(forward propagation)的向量化實現 AND、OR、NOT、XNOR的實
【機器學習筆記35】蟻群演算法
【參考資料】 【1】《蟻群演算法原理及其應用》 【2】測試資料: https://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/tsp/att48.tsp.gz 演算法原理(以TSP問題為例) (1)引數初始化。令時間t=0和迴圈次數
【深度學習基礎1】神經網路基礎--邏輯迴歸
本博文根據 coursera 吳恩達 深度學習整理。作為理解神經網路的基礎。 一、知識點 深度學習本質上是對資料的一種擬合。使用非線性的函式集合作為模型,對樣本對進行損失最小的模擬。首先理解單個神經元的作用和原理,可以從
【機器學習筆記02】最小二乘法(多元線性迴歸模型)
數學基礎 1.轉置矩陣 定義: 將矩陣A同序數的行換成列成為轉置矩陣ATA^TAT,舉例: A=(1203−11)A=\begin{pmatrix} 1 & 2 & 0 \\ 3 & -1 &
【機器學習筆記01】最小二乘法(一元線性迴歸模型)
【參考資料】 【1】《概率論與數理統計》 【2】 http://scikit-learn.org /stable/auto_examples/ linear_model/ plot_ols.html # sphx-glr-auto-examples-
【機器學習筆記04】隨機梯度下降
梯度下降 梯度下降是一個尋找函式機值的方式,屬於最優化裡的基礎演算法,在低維度的情況下非常容易理解。 例如存在函式y=x2y=x^2y=x2存在導數dy=2x,若當前點在x=1點,設dx的步長為0.1。此時我們通過負梯度計算下一個x點xt+1=xt−2∗0.
【機器學習筆記05】Jacobian矩陣&Hessian矩陣
Jacobian矩陣 Jacobian矩陣是函式對向量求導,其結果是一階偏導陣列成的矩陣。假設:F:Rn→RmF:R_n \to R_mF:Rn→Rm也就是一個n維歐式空間向m維歐式空間的一個對映。 舉例: 由球座標系轉換到直角座標系,存在對映形式化表
【機器學習筆記18】隱馬爾可夫模型
【參考資料】 【1】《統計學習方法》 隱馬爾可夫模型(HMM)定義 隱馬爾可夫模型: 隱馬爾可夫模型是關於時序的模型,描述一個由隱藏的馬爾可夫鏈生成的不可觀測的狀態序列,再由各個狀態生成的觀測值所構成的一個觀測序列。 形式化定義HMM為λ=(A,B,π)\la
【機器學習筆記14】奇異值分解(SVD)
奇異值分解 定義: 假設A是一個m×nm \times nm×n的矩陣,則存在如下一種分解: Am×n=Um×m∑m×nVn×nTA_{m \times n}=U_{m \times m} \sum_{m \times n} V_{n \times n}^T
【機器學習筆記17】支援向量機
【參考資料】 【1】《統計學習方法》 基本概念 當訓練資料線性可分時,通過硬間隔最大化,學習一個線性的分類器,即線性可分支援向量機,又稱硬間隔支援向量機; 當訓練資料近似線性可分時,通過軟間隔(增加一個鬆弛因子)後學習一個線性的分類器,即軟間隔支援向量機;