岭回归原理及代码实现
来源:互联网 发布:矩阵迹的性质 编辑:程序博客网 时间:2024/05/01 19:30
岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这种矩阵称为“病态矩阵”。有些时候不正确的计算方法也会使一个正常的矩阵在运算中表现出病态。对于高斯消去法来说,如果主元(即对角线上的元素)上的元素很小,在计算时就会表现出病态的特征。
回归分析中常用的最小二乘法是一种无偏估计。对于一个适定问题,X通常是列满秩的
采用最小二乘法,定义损失函数为残差的平方,最小化损失函数
上述优化问题可以采用梯度下降法进行求解,也可以采用如下公式进行直接求解
当X不是列满秩时,或者某些列之间的线性相关性比较大时, 的行列式接近于0,即 接近于奇异,上述问题变为一个不适定问题,此时,计算 时误差会很大,传统的最小二乘法缺乏稳定性与可靠性。
为了解决上述问题,我们需要将不适定问题转化为适定问题:我们为上述损失函数加上一个正则化项,变为
其中,我们定义 。
于是:
上式中, 是单位矩阵。
随着 的增大, 各元素 的绝对值均趋于不断变小,它们相对于正确值 的偏差也越来越大。 趋于无穷大时, 趋于0。其中, 随 的改变而变化的轨迹,就称为岭迹。实际计算中可选非常多的k值,做出一个岭迹图,看看这个图在取哪个值的时候变稳定了,那就确定 值了。
岭回归是对最小二乘回归的一种补充,它损失了无偏性,来换取高的数值稳定性,从而得到较高的计算精度。
公式推导见下图:
代码实现:
特别注意:在实际操作中,D的最后一列为全1. 加了1才能有线性表达式y=Ax+b中的b系数。
阅读全文
0 0
- 岭回归原理及代码实现
- 岭回归原理及代码实现
- 机器学习:逻辑回归原理及实现代码
- 机器学习逻辑回归:原理解析及代码实现
- 【Logistic回归】原理及Python代码示例
- 逻辑回归原理(python代码实现)
- softmax 回归原理及python实现
- logistic回归算法原理及python实现
- 逻辑回归原理介绍及Matlab实现
- 梯度下降原理及线性回归代码实现(python/java/c++)
- 线性回归简介及python代码实现
- Logistic回归简介及python代码实现
- SoftMax回归简介及python代码实现
- 线性回归 (linear regression model) 原理与代码实现
- 线性回归的数学原理以及代码实现
- BatchNormalization 原理及代码实现
- 逻辑回归算法的原理及实现(LR)
- 线性回归与岭回归python代码实现
- 反射机制
- mongo-connector实现MongoDB和Elasticsearch数据同步
- 正则表达式
- MD5
- vue安装和环境配置安装不成功
- 岭回归原理及代码实现
- 项目中移除动态组装的表格数据--红色标记部分
- Authentication(Spring Security 认证笔记)
- 学习笔记 2017年9月13日
- 大家小心 日本公司淘宝天猫阿里巴巴行为异常 我购买的业务已经被关闭
- 教你如何鉴别iPhone翻新机!
- 从并发视角来看智能合约(上)【渡鸦论文系列】
- Ubuntu16.04版安装及卸载VMwareTools的步骤
- SQL重复记录查询的几种方法