邏輯迴歸損失函數3D圖

在學習邏輯迴歸的過程中,通過3D圖像可以直接觀察損失函數的收斂速度,對自行確定學習速率提供參考

損失函數公式:

wKiom1lQtAOTtycBAAB_8kQGVQI669.png

 

Octave程序如下:

tx = linspace(100,-30,1000); %θ和X看做一個共同參數
ty = round(unifrnd(0,1,1,1000));% y的值僅僅爲0或1,隨機生成1000個
m=length(tx);
[xx, yy] = meshgrid (tx, ty);
tz = -1 *( yy* log( sigmoid(xx) ) + (1 - yy ) * log( (1 - sigmoid(xx)) ) )/m; %h()就是sigmoid(),tz就是J(θ)
mesh (tx, ty, tz);
xlabel ("θX");
ylabel ("y");
zlabel ("J");

wKioL1lQt8HTuuKJAAEpIadOItk410.png-wh_50

從圖中可以看到,J的收斂速度在開始比較大,後面越來越慢。對於學習速率的選擇開始要小,後面可以適度變大

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章