当前位置:首页 > 运营 > 正文

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)

点击上方蓝色字体,关注AI小白入门哟

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第1张

另外,线性回归也可以从最小二乘法的角度来看,下面先将样本表示向量化,

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第2张

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第3张

值得注意的上式中存在计算矩阵的逆,一般来讲当样本数大于数据维度时,矩阵可逆,可以采用最小二乘法求得目标函数的闭式解。当数据维度大于样本数时,矩阵线性相关,不可逆。此时最小化目标函数解不唯一,且非常多,出于这样一种情况,我们可以考虑奥卡姆剃刀准则来简化模型复杂度,使其不必要的特征对应的w为0。所以引入正则项使得模型中w非0个数最少。当然,岭回归,lasso回归的最根本的目的不是解决不可逆问题,而是防止过拟合。

B、概率解释

损失函数与最小二乘法采用最小化平方和的概率解释。假设模型预测值与真实值的误差为

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第4张

之间有如下关系:

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第5张

根据中心极限定理,当一个事件与很多独立随机变量有关,该事件服从正态分布 。一般来说,连续值我们都倾向于假设服从正态分布。假设每个样本的误差

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第6张

,方差为

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第7张

的高斯分布。

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第8张

其迭代优化函数如下:

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第9张

另外从最小二乘的角度来看,通过引入二范正则项,使其主对角线元素来强制矩阵可逆。

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第10张

值得注意的是线性模型的表示能力有限,但是并不一定表示线性模型只能处理线性分布的数据。这里有两种常用的线性模型非线性化。对于上面的线性函数的构造,我们可以看出模型在以

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第11张

一般选择下面的权重函数,权重函数选择并非因为其类似于高斯函数,而是根据数据分布的特性,但权重函数的选取并不一定依赖于数据特性。

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第12张

其中

线性回归 lasso(机器学习一文读懂线性回归岭回归和Lasso回归)  第13张

线性回归核心思想最小化平方误差,可以从最小化损失函数和最小二乘角度来看,优化过程可以采用梯度方法和闭式解。在闭式解问题中需要注意矩阵可逆问题。考虑到过拟合和欠拟合问题,有岭回归和lasso回归来防止过拟合,局部加权线性回归通过加权实现非线性表示。

代码实战

A、线性回归

/**线性回归函数的实现,考虑一般的线性回归,最小平方和作为损失函数,则目标函数是一个无约束的凸二次规划问题,由凸二次规划问题的极小值在导数为0处取到,且极小值为全局最小值,且有闭式解。根据数学表达式实现矩阵之间的运算求得参数w。**/int regression(Matrix x,Matrix y){ Matrix xT=x.transposeMatrix(); Matrix xTx=xTx.multsMatrix(xT,x); Matrix xTx_1=xTx.niMatrix(); Matrix xTx_1xT=xTx_1xT.multsMatrix(xTx_1,xT); Matrix ws; ws=ws.multsMatrix(xTx_1xT,y); cout

取消
扫码支持 支付码