线性回归模型

假定我们有数据

面积(m2) 销售价钱(万元)
123 250
150 320
87 160
102 220

在坐标轴上显示为
线性回归模型及其分析

这些数据称为训练数据,如果我们希望使用这样的数据,学习一个模型,可以对未知的数据进行预测,这样的模型有很多,最朴素的就是使用线性回归模型,简单来说,数据为二维的情况下,线性回归模型就是一条直线;数据为多维情况下为一个超平面。
对上述数据建立的线性模型,可能的直线为:

线性回归模型及其分析

用这条直线对训练数据进行拟合,并使用直线上坐标的点作为未知数据的预测。

更多的,在多维情况下,线性回归的直观描述如下图:

线性回归模型及其分析

考虑线性模型的数学含义。
我们定义以下符号:

X=(x1,x2,...,xm)TRm×n
表示数据矩阵,其中 xiRn 表示一个n维度长的数据样本;

输入实例x的特征向量为

x=(x(1),x(2),,x(n))T
x(i) 表示 x 的第 i 个特征,注意x(i)xi不同, xi 表示为对各输入变量中的第 i 个,即
xi=(x(1)i,x(2)i,,x(n)i)T

数据的label表示为:

y=(y1,y2,...,ym)TRm

则训练集可以表示为:
T={(x1,y1),(x2,y2),(xm,ym)}

假设有特征系数向量:

w=(w0,w1,w2,...,wn)T

则可得到线性回归模型的数学表示:
f(xi)=k=1nwkxik+w0=wxi

其中w0称为截距,上式中通过增加xi0=1w0也吸收到向量表达中了,简化了形式,因此实际上xin+1维度。

线性回归的目标是用预测结果尽可能地拟合目标label,得到一个尽可能优的直线或者超平面,使用损失函数loss function 建立出合适的模型。

损失函数是f(x)(预测值)和y(实际值)的非负实值函数,记作L(f(x),y),常见有如下几种:

0-1损失函数:

L(f(x),y)={1,0,if yf(x) if y=f(x) 

平方损失函数:
L(f(x),y)=(yf(x))2

绝对损失函数:
L(f(x),y)=|yf(x)|

线性回归使用如下损失函数:
J(w)=12mi=1m(yif(xi))2=12m||yXw||2

其中 f(x) 为需要学习到的函数,m 为训练集样本的个数。

为了得到预测值 f(xi)yi 之间的绝对值,对数据进行平方处理。为了平均每个样本的损失,在公式上对损失和进行除以 m 操作,再除以 2 是为了后续的求导计算。

使用上述损失函数J(w),衡量所得到特征系数向量 w 的优劣。为满足这样的衡量标准得到较优的 w,需对损失函数值进行最小化,即让损失函数在样本中的损失最小。

梯度下降法求解

使用梯度下降算法求损失函数最小化时w的取值:
梯度下降法通过求偏导的方式,使得函数值沿着某一方向不断趋近,直至到达某一位置收敛结束,当函数值收敛时,所得到的取值即为所求。
基于上述损失函数,得到如下w的迭代函数,其中α为每次趋近的步长。

wi:=wαwiJ(w)

如下图所示:
线性回归模型及其分析
由图像得知,其最低点值即为所求。当 wi 小于最低处的值的时,对其的偏导为负,在迭代过程中, wi 不断地增大以逼近最低处的值;当 wi 大于最低处的值时,对其的偏导为正, wi 会不断地做减法以逼近最低处的值。所以当步长 α 较小时, wi会收敛于最低处的值。通常,我们将 α 叫做学习率 (learning rate)。当学习率 α 很小时, w 收敛很慢,我们往往需要迭代更多次才可以收敛达到底部;当学习率a很大时,收敛跨度较大时,往往会在底部的两边跳跃,可能无法到达底部, w 会出现震荡,导致无法收敛。一般情况下, α 可设为0.01,0.005等。
对上述公式进行展开,具体的wi公式为:
w0:=w0α1mi=1m(yif(xi))x(0)i

w1:=w1α1mi=1m(yif(xi))x(1)i

w2:=w2α1mi=1m(yif(xi))x(2)i

...

其中,x(0)i 为第 i 个训练样本的第 0 个特征值,为保持 f(X) 的常数项,通常令 x(0)i 为1。 f(X) 为在迭代过程中通过 w 得到的预测函数,它的表达式会跟随着 w 的变化而不断地变化。

最小二乘法求解

令损失函数对于其变量的一阶偏导数为0,可确定线性回归模型变量的取值。
假定线性模型为

y=f(xi)=k=1nxikpk+q=xp+q

其损失函数可以写作:

loss=i=1m(yif(xi))2=i=1m(yixpq)2

分别对p、q进行求导,有
lossp=2(yxpq)(x)

lossq=2(yxpq)(1)

lossp=0 以及lossq=0
0=(xypx2qx)=(xy)px2qx

0=(ypxq)=ypxqm=y¯px¯q

将上式代入下式,消去q,有
0=(xy)px2y¯x+px¯x

得:

p=(xy)mx¯y¯x2mx¯2

q=y¯px¯

若用矩阵表示,假定线性模型

f(xi)=k=1nwkxik+w0=wxi


J(w)=12mi=1m(yif(xi))2=12m(yXw)T(yXw)

求解w=argminJ(w)
其一阶导数为0时,有
J(w)w=1mXT(yXw)=0

由此可得 XTy=XTXw
其中 XTX 是一个 n×n 的矩阵,当 XTX 可逆时,可通过公式得到

w=(XTX)1XTy

对样本的预测值为:

yˆ=f(x)=Xw=X(XTX)1XTy

其几何意义为:
yˆy在平面X(由列向量x1,x2张成,假设只有二维)上的投影。
线性回归模型及其分析

引用参考:

http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_descent.html

http://blog.csdn.net/xbinworld/article/details/43919445

http://blog.csdn.net/cxmscb/article/details/53345795

http://blog.csdn.net/acdreamers/article/details/44662633

相关文章: