• 大小: 7KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 语言: Matlab
  • 标签: 优化  

资源简介

介绍了共轭梯度法,包含程序以及与其他学习方法的比较。

资源截图

代码片段和文件信息

x = load(‘ex3x.dat‘);      
y = load(‘ex3y.dat‘);      
      
trustRegionBound = 1000;      
x = [ones(size(x1)1) x];      
meanx = mean(x);%求均值      
sigmax = std(x);%求标准偏差      
x(:2) = (x(:2)-meanx(2))./sigmax(2);      
x(:3) = (x(:3)-meanx(3))./sigmax(3);      
itera_num = 1000; %尝试的迭代次数      
sample_num = size(x1); %训练样本的次数      
jj=0.00001;  
figure      
alpha = [0.03 0.1 1];%因为差不多是选取每个3倍的学习率来测试,所以直接枚举出来      
plotstyle = {‘b‘ ‘r‘ ‘g‘};       
theta_grad_descent = zeros(size(x(1:)));
plotstyle1 = {‘y-‘ ‘k-‘ ‘c-‘‘g--‘‘r-‘}; 

%% CG方法
for ii=1:5
theta = zeros(size(x2)1); %theta的初始值赋值为0      
Jtheta = zeros(itera_num 1);  
Jtheta(1) = (1/(2*sample_num)).*(x*theta-y)‘*(x*theta-y);  
grad1=(1/sample_num).*x‘*(x*theta-y);  
Q=x‘*x;
d1=-grad1;

评论

共有 条评论