MATLAB之线性回归,逻辑回归,最小二乘法,梯度下降,贝叶斯,最大似然估计

线性回归(定义域(-∞,+∞),值域(-∞,+∞),即输入输出连续)

线性回归/最小平方误差理论

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
最小二乘法:拟合曲线和数据的误差平方和最小。

实验数据: yi=f(xi) (i=0,1…m)
线性无关函数族: ψ = span{ψ0(x),ψ1(x),…ψn(x)}
一般可取线性无关函数族:= span{1,x,…xn}
拟合曲线:S(x) = a0ψ0(x)+a0ψ0(x)+…anψn(x) (n<m)
加权公式:
在这里插入图片描述
式中:k=0,1,…n. 如若没给权,默认权=1
在线性回归模型中,输出一般是连续的,例如: y=f(x)=ax+b
实质是利用最小二乘法求系数。

MATLAB之线性回归/最小平方误差

% 功能:采用最小二乘法实现最小平方误差(least squares error)/线性回归

% 编辑者:Heart_sea
% 日期:2019,4,28
clear;
clc;
close all;
% ================= import data ==========================================
 x = [1,2,3,4,5]';%x坐标
 y = [4,4.5,6,8,8.5]';%y坐标
 w = [1 1 1 1 1]';% 权,可以理解为在对应的点上重复观测的次数
% ================= 调用 matlab 函数求系数(不加权) =======================
%  coef=polyfit(x,y,m); x, y为已知数据点向量, 分别表示横,纵坐标,
%  m表示拟合多项式的次数,结果返回m次拟合多项式系数,从高次到低次存放
 n = 1; %n次拟合
 coef = polyfit(x,y,n); 
 ybest = polyval(coef,x); %调用MATLAB函数
%  a0=coef(1); a1=coef(2);
%  ybest=a0*x+a1; % 由线性回归产生的一阶方程式
% ======================== 源方法求系数(加权后) ============================
%  一般可取线性无关函数族:= span{
   1,x,…xn}
%  这里是线性回归,可取线性函数作拟合曲线,S = a0+a1*x
%  取fai0 = 1, fai1 = x

X0=zeros(n+1,n+1);
Y0=zeros(n+1,1);
%构造矩阵X0
for k0=1:n+1    % 换列
    for n0=1:n+1   % 换行
        X0(n0,k0)=sum(w.*x.^(k0+n0-2));
    end
end
%构造列矩阵y0
for n0 = 1:n+1
    Y0(n0,1) = sum(w.*y.*x.^(n0-1));
end
% 矩阵相除求系数
a = X0\Y0;
ybest_w = a(1);
%根据求得的系数初始化并构造多项式方程    ybest_w = a(1)+a(2).*x
for ind = 1:n
    ybest_w = ybest_w+a(ind+1)*x.^(ind);
end
 % =========== figure =====================================================
 plot(x,ybest_w,x,ybest,x,y,'o')
 legend('加权后','加权前','原数据')
 title('Linear regression estimate')
 grid;

损失函数/代价函数求导法求线性回归

% 功能:利用损失函数求导,实现Linear_regression_algorithm 功能

% 编辑者:Heart_sea
% 日期:2019,5,6

clear;     % 清除工作区
clc;       % 清除命令区
close all; % 清除figure

% ======================= preferences set =================================
X = [1,2,3,4,5]';%x坐标
y = [4,4.5,6,8,8.5]';%y坐标
onesx =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值