数据分析算法--线性回归算法讲解(2)
1. 基本形式
2. 损失函数
2.1 损失函数
2.1.1 最⼩⼆乘法
2.1.2 极⼤似然估计
2.2 正规⽅程法
2.2.1 ⼀般形式
2.2.2 矩阵形式
2.3 梯度下降法
2.3.1 梯度下降法的代数⽅式描述
2.3.2 梯度下降法的矩阵⽅式描述
2.3.3 梯度下降的算法调优
2.3.4 梯度下降法的类型
3. ⽋/过拟合
3.1 ⽋拟合
3.1.1 何为⽋拟合?
3.1.2 解决⽅法
3.2 过拟合
3.2.1 何为过拟合?
3.2.2 解决⽅法
4. 正则化正则化最小二乘问题
4.1 L0范数
4.2 L1范数与Lasso
4.3 L2范数与Ridge
4.4 Elastic Net
4.5 L1为稀疏约束的原因
前⾔
线性回归模型是⽤⼀条曲线去拟合⼀个或多个⾃变量 x 与因变量 y 之间关系的模型,若曲线是⼀条直线或超平⾯(成直线时是⼀元线性回归,成超平⾯时是多元线性回归)时是线性回归,否则是⾮线性回归,常见的⾮线性回归有多项式回归和逻辑回归。线性回归是有监督学习,有标签(可以理解为样本有y值)。通过学习样本
学习映射
得到预测的结果是连续值变量。这是简单的⼀元线性回归模型,多元线性回归模型后⾯会详细讲(可以参考博⽂)线性回归是基础算法,同时是⾼级算法的根基,所以有必要掌握它的思想并学会融会贯通。接下来我们将详细学习该算法。
1. 基本形式
预测函数⼀般表⽰式
令可以写成
向量表达式
2. 损失函数
2.1
线性回归模型是⽤⼀条曲线去拟合x与y之间的关系,那拟合的效果的好坏如何去判定呢?这就是我们要提到的损失函数,每个算法的损失函数或许不⼀样,但我们的⽬的都是使得损失函数最⼩化,所以需要到对应的权重θ使得损失函数最⼩。下⾯左图是⼀个权重下的损失函数图像,右图是两个权重下的损失函数,损失函数是凸函数,都有唯⼀的最⼩值点。
⼀般将线性回归的损失函数定义为:
下⾯的损失函数与该形式虽然形式不完全⼀样,但是含义⼀样。这⾥的是为了求导计算的便利,⽽是将损失平均化,消除样本量m带来的影响。
是预测值,但因为预测值与实际值之间还是存在⼀定的差距,如何去确定预测的效果的好坏,需要判定预测值与实际值
之间的差距,这差距⽤误差来表⽰,即
⾄于损失函数
为什么需要使⽤平⽅和?下⾯从最⼩⼆乘法和极⼤似然估计两个⽅⾯去分析。
2.1.1 最⼩⼆乘法
误差有正有负,如果直接对求和,则会出现正负抵消的情况,反映不出整体误差情况。如果使⽤平⽅和,整体的误差分布不变,所以⼀般使⽤平⽅和做损失函数。
线性模型⽤⼀条直线(平⾯)拟合数据点,出⼀条最好的直线(平⾯)即要求每个真实点直线(平⾯)的距离最近。即使得残差平⽅和
(RSS)最⼩
但由于每个样本的数据量存在较⼤的差异,为了消除样本量差异的影响,使⽤最⼩化均⽅误差(MSE)拟合
所以得到损失函数
式⼦中的是为了求导计算便利添加的。
2.1.2 极⼤似然估计
误差中,误差是独⽴同分布的,并且服从均值为0⽅差为
的⾼斯分布(也称为正态分布)。补充:正态分布的均值和⽅差取不同值,得到不同的分布图,但均值为0,⽅差为1的分布称为标准正态分布。
其中,⾼斯分布表达式为:
由于误差服从均值为0⽅差为的⾼斯分布,所以满⾜:
于是得到:
该式⼦表⽰和结合后的值与接近的概率,即误差最⼩的概率,即概率越⼤,说明预测值与真实值越接近。
由于线性回归模型是⼀条直线(或超平⾯)拟合多个点,所以需要满⾜所有误差取得最⼩值,即所有概率的乘积最⼤化,符合似然函数:
上式中需要到能使得概率连乘最⼤化,也就是预测值与真实值⽆限接近。
由于连乘难解,所以需要转化成加法,取对数得:
上⾯的式⼦中,第⼀项是确定值,⽽第⼆项是变动值,所以要使得最⼤,即要使得
最⼩化,于是得到损失函数
同理,消除样本量m带来的影响,将损失平均化,乘以⼀个。
2.2 正规⽅程法
正规⽅程法有⼀般形式和矩阵形式。
2.2.1 ⼀般形式
简单线性回归模型为:
那么,损失函数如下:
损失函数是关于θ和b的凸函数,当它关于θ和b的导数均为零时,得到θ和b的最优解。
(关于凸函数:对区间[a,b]上定义的函数f,若它对区间中任意两点均有
则称 f 为区间[a,b]上的凸函数。U形曲线的函数如
通常是凸函数。对实数集上的函数,可通过求⼆阶导数来判别:若⼆阶导数在区间上⾮负,则称为凸函数;若⼆阶导数在区间上恒⼤于0,则称为严格凸函数。)
求解和b使损失函数最⼩化,对求偏导
令
则得到:
(注意:由于下⾯的计算过程会有双重前m项求和,避免混淆,最好将所有项,特别含b的项)
对b求偏导
令
则
解得:
将(2)式带⼊(1)式,解得(具体过程可以参考)
于是,由求得的和b就可以得到接近真实值的预测值以及拟合直线
以上是最⼩⼆乘法的⼀般形式解决简单的线性回归问题,如果对于复杂的多元线性回归,则使⽤最⼩⼆乘法的矩阵形式.
2.2.2 矩阵形式
为了⽅便讨论,我们将w和b⽤向量形式表⽰
同样的,数据集D表⽰为⼀个m x (d+1)矩阵X ,即
将标记y也改为向量形式
表⽰样本到超平⾯的欧式距离之和为(与下⾯式⼦类似)
可参考:
对求导,其中为满秩矩阵
令
解得
令
则多元线性回归模型为
这个模型是在当为满秩矩阵的时候得到的,但现实任务中往往不是满秩矩阵。⽐如变量过多,出现变量多于记录数,即列数多于⾏数,则不是满秩矩阵,那么就会得到多个解θ(这就像解⽅程组,未知数x的个数⼤于⽅程数,则得不到唯⼀解)使均⽅误差最⼩,但是每个θ的重要性不⼀样,这就需要引⼊正则化项,下⽂会详细讲解。
2.3 梯度下降法
前⾯使⽤最⼩⼆乘法求出使得loss function最⼩化的参数,⽽实际问题中常使⽤梯度下降。⾸先,最⼩
⼆乘法是通过平⽅损失函数建⽴模型优化⽬标函数的⼀种思路,求解最优模型过程便具体化为最优化⽬标函数的过程;⽽梯度下降法是最优化⽬标函数的⼀种优化算法,具体求
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论