Linear Regreesion
在现实生活中普遍存在着变量之间的关系,有确定的和非确定的。确定关系指的是变量之间可以使用函数关系式表示,还有一种是属于非确定的(相关),比如人的身高和体重,一样的身高体重是不一样的。
线性回归:
线性回归是一种监督学习,即给定n个特征,每个特征M个样本集,通过训练nM个数据,即将这些训练数据带入到拟合函数h中,使得其与监督数据满足最小二乘,得到n+1个权值。
0、实际实例
某市的房价受部分因素影响的表格如下(采用Andrew Ng cs229中的数据)
Living area(feet^2) | #bedrooms | Price (1000$s) |
2104 | 3 | 400 |
1600 | 3 | 330 |
2400 | 3 | 369 |
1416 | 2 | 232 |
3000 | 4 | 540 |
1、拟合模型
我们的目标是,对于以下拟合函数h,
或可写作
其中W为权值列向量,X为各特征输入数据的列向量,均为(n+1)×1维。
2、训练数据的带入
我们的目标是将训练数据带入我们的拟合函数h中,使其与监督数据最小二乘。
对于第i组数据,设数据集为。监督数据集为。
那么将数据集带入h中,共M组数据中,第j组数据的拟合结果为
那么我们的目标是使最小,下节将具体定义损失函数
3、损失函数的定义
定义,那么有
其中
那么根据最小二乘准则,定义损失函数J(W),如下
显然有
4、求解方法
J(W)是关于W的函数,即确定W使得minJ(W),分以下两种情况:
(a).X满秩时(X可逆),直接算求导等于0
J(W)可写作:
那么对求导J(W)=0得
即得到了最优解。
注意有:
(b).X不满秩(X不可逆),使用数值方法,梯度下降法
梯度下降算法是一种求局部最优解的方法,对于F(x),在a点的梯度是F(x)增长最快的方向,那么它的相反方向则是该点下降最快的方向,具体参考wikipedia。
原理:将函数比作一座山,我们站在某个山坡上,往四周看,从哪个方向向下走一小步,能够下降的最快;
注意:当变量之间大小相差很大时,应该先将他们做处理,使得他们的值在同一个范围,这样比较准确。
1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。
2)改变θ的值,使得J(θ)按梯度下降的方向进行减少。
描述一下梯度减少的过程,对于我们的函数J(θ)求偏导J:
Repeat until convergence:{
下面是更新的过程,也就是θi会向着梯度最小的方向进行减少。θi表示更新之前的值,-后面的部分表示按梯度方向减少的量,α表示步长,也就是每次按照梯度减少的方向变化多少。
}
对损失函数求偏导如下:
使用矩阵表示(方便计算)
从概率层面解释-回归模型的目标函数:
基本上每个模型都会有一个对应的目标函数,可以通过不同的最优化求解方法(梯度下降,牛顿法等等)对这些对应的目标函数进行求解。线性回归模型,我们知道实际上是通过多个自变量对自变量进行曲线拟合。我们希望找到一条可以较好拟合的曲线,
那我们如何判断一条曲线的拟合程度的好坏。上面讲到,我们采用的是最小二乘法(预测值和真实值得误差的平方和),那为什么要用这个作为目标函数呢?
可以从中心极限定理、高斯分布来分析:
1.中心极限定理:
设有n个随机变量,X1,X2,X3,Xn,他们之间相互独立,并且有相同的数学期望和均值。E(X)=u;D(x)=δ2.令Yn为这n个随机变量之和。
Zn为X这几个变量的规范和。
2.高斯分布
假的给定一个输入样本x,我们得到预测值和真实值间的存在的误差e,那么他们的关系如下:
而这里,我们就可以假设e服从标准的高斯分布。
为什么呢?回归模型的最终目标是建立自变量x和y之间的关系,我们希望通过x可以较为准确的表示结果y。而在实际应用场景中,很难甚至不可能把导致y结果的所有变量(特征)都找到,放到回归模型里面。
我们只存放那些认为比较重要的特征。根据中心极限定理,把那些对结果影响比较小的(假设独立分布)之和认为是符合正态分布是合理的。
那么x和y的条件概率:
那么知道一条样本的概率,我们就可以通过极大估计求似然函数,优化的目标函数如下:
通过取对数我们可以发现极大似然估计的目标函数和最小平方误差是一样。
在概率模型中,目标函数的极大和极小与极大似然估计是等价的。
假设随机变量为Y,和普通变量x存在相关关系,由于Y是随机变量,对于x的各个确定值,Y有它的分布(高斯)。
假设为:
使用极大似然估计可求解。
我们知道对于下面公式:
y为随机变量,在c=E(y)时达到最小,这表明以E(y)作为y的近似是最好的。