线性模型较为简单,易于求出参数,在之后的高级算法中有更多的应用。
线性回归的基本形式
给定一系列数据样本(xi, yi),其中x=(x1 ··· xn),线性模型试图学得一个通过属性的线性组合来进行预测的函数,即
f(x)=w1x1 + ··· + wnxn + b
用向量则可以表示成
f(x)=wTx + b
其中w=(w1; w2···; wn)。将w和d学习得到之后就可以确定此模型。
那么如何求解w和d呢?
输入属性数目只有一个时w和d的求解
此时输入数据x是一个实数,但是有m个数据。求解w和d的关键在于衡量f(x)和y的差别。均方误差是回归任务中最常用的性能度量,因此我们可以试图将均方误差缩小,即:
(w*, d*)
= arg min((f(x1) - y1)2 + ··· + (f(xm) - ym)2)
= arg min((y1 - wx1 - b)2 + ··· + (ym - wxm - b)2)
令E(w,b)等于上述函数,应用最小二乘法,分别对w和d求导,然后令偏导为0,则可得到w和d的解
更一般的情况
此时x有n个属性,也即x是一个n维向量。
类似的,利用最小二乘法来对w和b进行估计,可得w和b的解:
2XT(Xw - y) = 0
当X<sup>T</sup>X为满秩矩阵或者正定矩阵时
w = (XTX)-1XTy
其中,X是输入数据的m x n矩阵,y是输出矩阵
对数线性回归
线性回归虽简单,但是可以由很多的变化。线性回归的一般形式是:
y = wTx + b
如果模型预测值逼近于y的衍生物,比如指数尺度,那么就可以将输出标记的对数作为线性模型逼近的目标,即:
lny = wTx + b
这就是对数线性回归,它实际上是试图将ewTx + b趋近于y。
更一般的,考虑单调可微函数g(x)
g(y) = wTx + b
显然,对数线性回归是上面一般形式在g(x)=ln(x)时的特例。
“对数几率回归” - 分类问题的“线性回归”
上面讨论的是如何使用线性模型来进行回归模型,分类任务中也有”线性回归“模型。
定义
根据上面的广义线性回归模型,只要找到一个特殊的g(x)将真实标记y与线性回归模型预测值联系起来即可。
简单起见考察二分类问题,线性模型z = wTx + b输出为实数,而分类问题输出为0/1,那么只要找到将所有实数映射为0/1的g(x)即可。阶跃函数是最理想的。
但是我们可以想到,阶跃函数并非连续,无法真正应用。那么只需要找到近似与阶跃函数的替代函数即可。对数几率函数是一个较为常用的替代函数:
y = 1 / (1 + e-z)
代入可得:
ln(y / (1 - y)) = wTx + b
若将y视为样本x作为正例的可能性,则1 - y是其反例可能性,两者的比值称为“几率”。因此,其对应的模型称为对数几率回归。
如何确定w和b
待续。。。