[英]Stochastic Gradient Descent for Logistic Regression always returns a cost of Inf and weight vector never gets any closer
我正在嘗試在MATLAB中實現邏輯回歸求解器,並且通過隨機梯度下降法來尋找權重。 我遇到了一個問題,我的數據似乎產生了無限的成本,而且無論發生什么情況,它都永遠不會下降……這兩點看起來都很好,我無法想象為什么我的成本函數總是會返回無限的。
這是我的訓練數據 ,第一列是課程(1或0),接下來的七列是我要回歸的要素。
您的漸變符號有誤:
漸變= learningRate。*(trueClass(m)-ForecastClass)。*轉置([1.0 features(m,:)])
它應該是:
漸變= learningRate。*(predictedClass-trueClass(m))。*轉置([1.0 features(m,:)])
有關詳細信息,請參見Ng的注釋 。 相對於第j個參數的梯度如下獲得:(其中h(x)
是對數函數; y
是真實標簽; x
是特征向量。)
否則,當您采用漸變的負數時,您將進行漸變。 我相信這就是為什么您最終會得到無窮的成本的原因,因為它是死循環,而且您永遠也不會擺脫它。
更新規則仍應為:
weightVector = weightVector-漸變
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.