• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-05-12
  • 语言: Matlab
  • 标签: matlab  

资源简介

包括单特征的样本的最小二乘法计算, 单特征样本的梯度下降法--代数版本 多特征样本的梯度下降--矩阵运算表示。 在矩阵表示的梯度下降法中运用标准差归一化(可选择注释)。 有比较详细的注释

资源截图

代码片段和文件信息

clear;
clc;
X=[0123456];
Y=[01.12.22.74.14.95.6];
%最小二乘法
XY_ = mean(X.*Y);
X_Y_ = mean(X)*mean(Y);
X2_ = mean(X.*X);
X_2 = mean(X)*mean(X);
a=(XY_-X_Y_)/(X2_-X_2);
Y_ = mean(Y);
X_ = mean(X);
b=Y_-a*X_;
%显示,画图
% figure;
% scatter(XY);
% hold on;
% x=0:0.1:6;
% y=a*x+b;

%梯度下降法
a1 = 0;
b1 = 0;
s = 0.01;
delt = 0.01;
as = -XY_+a1*X2_+b*X_;
bs = -Y_+a1*X_+b1;
while abs(as)>delt || abs(bs)>delt
    a1 = a1-s*as;
    b1 = b1-s*bs;
    as = -XY_+a1*X2_+b*X_;
    bs = -Y_+a1*X_+b1;
end;
%显示,画图
% x1=0:0.1:6;
% y1=a1*x1+b1;
% plot(xy‘r‘x1y1‘y‘);

%多维特征样本的矩阵梯度下降法

%y代表样本结果,它是一个m行,1列的矩阵,m代表样本数目
y=[0;1.1;2.2;2.7;4.1;4.9;5.6];

%x_ 代表样本训练输入数据,它是一个m行,n列的矩阵,m代表样本数目,n代表特征数目
%此时为单特征矩阵
x_=[0;1;2;3;4;5;6];
[mn]=size(x_);

%在这一部分程序是对每个特征的数据进行标准差归一化,有助于设置步长,阈值等参数
%这样可以统一样本特征数据范围,使迭代次数加快
%那么对于使用最

评论

共有 条评论