Oktaav: gradientne laskumine Lineaarse regressiooni programmeerimine

Octave Gradient Descent Linear Regression Programming



Salvestage esimese oktavi kood.

Edastatud parameetrid on argument x, sõltuv muutuja (tõeline väärtus) y, argument (Andke lihtsalt algväärtus, kuid pöörake tähelepanu vektori suurusele, et see sobiks x, y-ga)

Function J=function3(x, y, T) % cost function J=1/(2*size(T,1))*sum((x*T-y).^2) j=0 m=0 t1=0 while 1, if(t1>=1000000), break end for i=1:1:size(T,1), T(i)=T(i)-0.01*(1/size(T,1))*sum(x(:,i)'*(x*T-y)) %' end m=1/(2*size(T,1))*sum((x*T-y).^2) J=[Jj] % is used to record the cost function value after each drop if(abs(m-j)<=0.000000000000001), break end j=m t1=t1+1 end

Konvergentsiefekt (kulufunktsioon J) on näidatud joonisel: