线性模型较为简单,易于求出参数,在之后的高级算法中有更多的应用。
线性回归的基本形式
给定一系列数据样本(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
待续。。。