回归是一种解题方法,或者说”学习”方法,也是机器学习中比较重要的内容.
回归的英文是regression,单词原型regress的意思是”回退”.其实regression–回归分析的意思是借用里面”倒退,倒推”的含义.简单说就是”由果索因”的过程,是一种归纳的思想–当我们看到大量事实所呈现的样态,我推断出原因或客观蕴含的关系是如何的;当我看到大量的观测而来的向量是某种样态,我设计一种假说来描述他们之间蕴含的关系是如何的.
在机器学习的领域,最常用的回归有两类–一类是线性回归,一类的非线性回归
所谓线性回归,就是在观察和归纳样本的过程中认为向量和最终函数值呈现线性关系,而后设计这种关系为:
y=f(x)=wx+b
这里的w和x分别是1xn和nx1的矩阵,wb则指的是这两个矩阵的内积.具象一点说,例如,如果你在一个实验中观察到一名病患的几个指标呈线性关系(注意这个是大前提,如果你观察到的不是线性关系而用线性模型来建模的话,会得到欠拟合的结果),拿到的x是一个5维的向量,分别代表一名患者的年龄,身高,体重,血压,血脂这几个指标值,y标签是描述他们血糖程度的指标值,x和y都是观测到的值.在拿到大量样本(x和y)后,我们猜测向量和与其有关系的血糖程度y有这样的关系
那么把每一名患者的具体向量代入,这样一来,在所有患者数据输入后,会出现一系列六元一次方程,未知数是w1~w5和b–也就是w矩阵的内容和偏置b的内容.
而下面要做的事情就是要对w矩阵的内容和偏置b的内容求出一个最”合适”的解来.这个”合适”的概念就是要得到一个全局范围内由f(x)映射得到y和真实观测到的y的差距加和
怎么理解这个LOSS的含义呢?右面的表示加和,相当于做一个循环,i是循环变量,从1做到n,覆盖训练集当中的每一个样本向量.加和的内容是wxi+b和yi的差值,每一个训练向量xi在通过我们刚刚假设的关系f(x)=wx+b映射后与实际观测值yi的差距值.取绝对值的含义就是指这个差距无论比观测值大还是比观测值小,都是一样的差距.将全距范围内的n个差距都加起来,得到所谓的总差距值,就是这个LOSS的含义,那么显而易见,如果映射关系中w和b给的理想的话,这个差距值应该是0,因为每个x经过映射都和观测值一致–这种状况太理想了,在实际中是不可能的.不过,LOSS越小就说明这个映射关系描述越精确,这个还是很直观的,那么想办法把LOSS描述成:
LOSS=f(w,b)
再使用相应的方法找出保证LOSS尽可能小的w和b取值,就算是大功告成了.我们后面会讲怎么求这一类的解,一旦得到一个误差足够小的w和b,并能够在验证用的数据集上满足当前需求的精度表现后就可以了.
在传统的机器学习中的回归,分类这些算法里都有一个要把获取到的数据集分成训练集和验证集的过程.用训练集来训练,归纳关系;用验证集来做验证,避免过拟合的现象
由于这种假设中输入的x向量与标签值y是一种线性关系y=f(x)=wx+b,所以才叫做线性回归,最常见的形式是y=f(x)=ax+b这种形式,也就是x是一个一维向量,w也是一个一维向量的情况.如果呈现其他关系(指数关系,对数关系),那么这种时候你用线性回归去做拟合会发现他的损失函数非常大,在验证集上表现的误差也非常大,这是一种欠拟合现象.
非线性回归中,在机器学习领域应用最多的当属逻辑回归.他和线性回归都叫回归,但是逻辑回归看上去更像分类.我们现在回归这一节提一下这种回归的工作方式.与前面所说的线性回归不同,在这种模型中观察者假设的前提是y只有两个值,1和0,或者说”是”或”否”这种判断.
这里面的wx+b和前面线性回归中所说的wx+b是一个概念,都是指一个w矩阵和x做了内积,再和偏置b做了加和,如果设z=wx+b,那么这个回归的分类模型表达式就可以改写为:
函数图像为:
横轴是z,纵轴是y,一个多维的x经过这样两次映射,最后投射在y上是一个取值只有1,0的二项分布.也就是我们前面所得产生了一个”是”或”否”的分类.
训练的过程跟普通线性回归也是一样的,只不过损失函数形式不同.但是,他的损失函数的含义仍旧是表示这种拟合残差与待定系数的关系,并通过相应的手段进行迭代式的优化,最后通过逐步调整待定系数减小残差.逻辑回归的表达式的定义本源来自于伯努利分布