线性模型:根据给定的(x,y)点对,求出一条与这些点拟合效果最好的直线y=ax+b,从而对于一个新的x,可以预测它所对应的y值

在机器学习的术语中,当预测值为连续值时称为“回归问题”,离散值时为“分类问题”
线性回归问题就是试图学到一个线性模型尽可能准确地预测新样本的输出值,例如:通过历年的人口数据预测2017年人口数量。在这类问题中,往往我们会先得到一系列的有标记数据,例如:2000-->13亿...2016-->15亿,这时输入的属性只有一个,即年份;也有输入多属性的情形,假设预测一个人的收入,例如:(学历,年龄,性别,颜值,身高,体重)-->15k
有时输入的属性值并不能直接被学习模型所用,需要进行相应的处理,对于连续值的属性,一般都可以被学习器所用,有时会根据具体的情形作相应的预处理,例如:归一化等;对于离散值的属性,可作下面的处理
若属性值之间存在“序关系”,则可以将其转化为连续值,例如:身高属性分为“高”“中等”“矮”,可转化为数值:{1, 0.5, 0}
若属性值之间不存在“序关系”,则通常将其转化为向量的形式,例如:性别属性分为“男”“女”,可转化为二维向量:{(1,0),(0,1)}
(1)当输入属性只有一个的时候,首先计算出每个样本预测值与真实值之间的误差并求和,通过最小化均方误差MSE,使用求偏导等于零的方法计算出拟合直线y=wx+b的两个参数w和b

(2)当输入属性有多个的时候,对于一个样本有d个属性{(x1,x2...xd),y},则需要写成

对于多元问题,常常使用矩阵的形式来表示数据。将具有m个样本的数据集表示成矩阵X,将系数w与b合并成一个列向量,这样每个样本的预测值以及所有样本的均方误差最小化就可以写成下面的形式



同样地,我们使用最小二乘法对w和b进行估计,令均方误差的求导等于0。当一个矩阵的行列式不等于0时,我们才可能对其求逆,因此对于下式,我们需要考虑矩阵(X的转置*X)的行列式是否为0,若不为0则可以求出其解,若为0则需要使用其它的方法进行计算

有时像上面这种原始的线性回归可能并不能满足需求,例如:y值并不是线性变化,而是在指数尺度上变化。我们可以采用线性模型来逼近y的衍生物,例如lny,衍生的线性模型如下所示,实际上就是相当于将指数曲线投影在一条直线上
