在學習邏輯迴歸的過程當中,經過3D圖像能夠直接觀察損失函數的收斂速度,對自行肯定學習速率提供參考ide
損失函數公式:
函數
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");spa
從圖中能夠看到,J的收斂速度在開始比較大,後面愈來愈慢。對於學習速率的選擇開始要小,後面能夠適度變大orm