您的位置:首页 > 编程语言 > MATLAB

GradeDescent algorithm (Matlab Code)

2015-12-16 20:57 471 查看
clc;

clear;

%set data

X=[3 6 4 7 2 8 5 1];

Y=[12 18 15 28 6 16 14 13];

esp=0.0003;

gamma=0.001; %rate

w_old=zeros(size(X',2),1);

k=1;

while 1

    minJ_w(k)=1/2*(norm(X'*w_old-Y'))^2;

    w_new=w_old-gamma*(X*X'*w_old-X*Y');

    fprintf('The %dth iteration,minJ_w(%d)=%f,\n',k,k,minJ_w(k));

    if norm(w_new-w_old)<esp

        w_best=w_new;

        break;

    end

    w_old=w_new;

    k=k+1;

end

y=w_old*X';

plot(X',Y','ro');

hold on;

plot(X',y);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab 算法 GradeDescent