第三章 线性模型

来源:互联网 发布:mysql 两张表合并 编辑:程序博客网 时间:2024/05/22 08:45

  • 1 基本形式
  • 2 线性回归
    • 最小二乘参数估计
      • MATLAB多元线性回归模型
  • 3 对数几率回归
    • 单位阶跃函数
  • 4 线性判别分析
  • 5 多分类任务

3.1 基本形式

给定由d个属性描述的示例x=(x1;x2;…xd),其中xi是x在第i个属性上的取值,线性模型试图学得一个通过属性的线性,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即

f(x)=w1x1+w2x2+…+wdxd+b,
一般用向量形式写成

这里写图片描述

3.2 线性回归

对于离散属性,若属性值间存在“序”关系,可通过连续化将其转化为连续值,比如,二值属性“体重”的取值有“胖“ ”瘦”可转化为{1.0,0.0},三值属性“高度”的取值“高”“中”“低”可转化为
{1.0,0.5,0.0};若属性值间不存在序关系,假定有k个属性值,则通常转化为k维向量,例如属性“瓜类”的取值“西瓜”“南瓜”“黄瓜”可转化为(0,0,1),(0,1,0),(1,0,0)。
线性回归试图学得一个一元函数,因此确定两个系数w和b尤为重要。均方误差是回归任务中最常用的性能度量,因此使试图让均方误差最小化,即

这里写图片描述

最小二乘“参数估计”

求解w和b使E 这里写图片描述 最小化的过程,称为线性回归模型的最小二乘“参数估计”。然后对这个的两个变量分别求导得到最优解

MATLAB多元线性回归模型

(1)b=regress( Y, X ) 确定回归系数的点估计值
其中,Y为n*1的矩阵;X为(ones(n,1),x1,…,xm)的矩阵;
(2)[b, bint,r,rint,stats]=regress(Y,X,alpha) 求回归系数的点估计和区间估计,并检验回归模型
b 回归系数
bint 回归系数的区间估计
r 残差
rint 残差置信区间
stats 用于检验回归模型的统计量,有四个数值:相关系数R2、F值、与F对应的概率p,误差方差。相关系数R2越接近1,说明回归方程越显著;F > F1-α(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p 时拒绝H0,回归模型成立。p值在0.01-0.05之间,越小越好。

regress函数例子

有一个目标函数:y=Ax1^2+Bx1^2+Cx1+Dx2+Ex1*x2+F (这是一个二次函数,两个变量,大写的字母是常数)

代码实例

%导入数据y=[7613.51  7850.91  8381.86  9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 ... 10163.61 9737.56 8561.06 7781.82 7110.97]';x1=[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]';x2=[16.22 16.85 17.93 17.28 17.23 17 19 18.22 16.3 13.37 11.62 10.36 9.83 9.25]';X=[ones(size(y)) x1.^2 x2.^2 x1 x2 x1.*x2];%开始分析[b,bint,r,rint,stats] = regress(y,X);scatter3(x1,x2,y,'filled') %scatter可用于画散点图%拟合,三维视图显示hold on  %在刚刚那副散点图上接着画x1fit = min(x1):100:max(x1);   %设置x1的数据间隔x2fit = min(x2):1:max(x2);     %设置x2的数据间隔[X1FIT,X2FIT] = meshgrid(x1fit,x2fit);    %生成一个二维网格平面,也可以说生成X1FIT,X2FIT的坐标YFIT=b(1)+b(2)*X1FIT.^2+b(3)*X2FIT.^2+b(4)*X1FIT     ... +b(5)*X2FIT+b(6)*X1FIT.*X2FIT;    %代入已经求得的参数,拟合函数式mesh(X1FIT,X2FIT,YFIT)    %X1FIT,X2FIT是网格坐标矩阵,YFIT是网格点上的高度矩阵view(10,10)  %改变角度观看已存在的三维图,第一个10表示方位角,第二个表示俯视角。             %方位角相当于球坐标中的经度,俯视角相当于球坐标中的纬度xlabel('x1') %设置X轴的名称ylabel('x2') %设置y轴的名称zlabel('y')  %设置z轴的名称

最终的三维图如下:

这里写图片描述

3.3 对数几率回归

这种回归主要用于分类任务,而在广义线性模型中,只需找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。

单位阶跃函数

这里写图片描述

即z的值大于0就判为正例,小于零则判为反例,预测值为临界值零则可任意判别。

这里写图片描述

3.4 线性判别分析

线性判别分析的英文简称为LDA,给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。

如图:

这里写图片描述

3.5 多分类任务

多分类学习的基本思路是“拆解法”,即将多分类任务拆为若干个二分类任务求解。这里的关键是如何对多分类任务进行拆分,以及如何对多个分类器进行集成。

最经典的拆分策略有三种:

“一对一”(OVO)
“一对其余”(OvR)
“多对多”(MvM)

这里写图片描述

很明显看出,OvR只需训练N个分类器,而OvO需训练N(N-1)/2个分类器,因此,OvO的存储开销和测试时间开销通常比OvR大。但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,因此,在类别很多时,OvO的训练时间开销通常比OvR小。
MvM是每次将若干类作为正类,若干个其他类作为反类。显然,OvO和OvR是MvM的特例。

原创粉丝点击