梯度檢驗的意義:爲了驗證求導代碼是否正確算法
思路:利用導數的定義函數
能夠去任意theta值對等式左邊的導數用:blog
來近似。通常EPSILON用一個很小的常量(10-4數量級,不宜過小)class
所以若存在計算deltaJ(θ)的函數g(θ),則:方法
來檢驗函數是否正確,通常正常狀況左右兩端至少有四位有效數字是同樣的(EPSILON = 10-4下)im
對於實際操做下的向量狀況,進行合理的改造便可:d3
對於計算的函數
,咱們想要檢驗其結果,能夠定義
,其中img
是第i個基向量,維度同θ,只在第i行有個1其餘都是0。di
同理能夠定義,這樣檢驗式變成了:co
該方法主要運用於原算法中計算J(W,b)的導數環節