转自:https://blog.csdn.net/dang_boy/article/details/78504258

https://www.cnblogs.com/Belter/p/8536939.html

https://www.cnblogs.com/Belter/p/8536939.html  (这个也写的很好,只不过还没看)

1.最小二乘法则

假设我们有n个样本数据,每个数据有p个特征值,然后p个特征值是线性关系。

即对应的线性模型

写成矩阵的形式即是Y=XA,误差B矩阵:即B=Y-XA。【Y和A是列向量,X是矩阵】

误差的平方的计算公式

Xi为行向量,A为列向量。

最小二乘法的目标就是取得最小的e对应的A,由于方差的计算是一个二次函数,即抛物线,对应存在一个最小值,即导数为0对应的A。所以对e求A的偏导数,再使其等于0,求解方程即可以获得A。

误差的平方e写成矩阵形式即为

对矩阵E取迹(迹就是矩阵对角线上所有元素的累加)且对迹求导后结果为一个矩阵。

即为 

展开为  

求导化简结果为

注:这个计算的过程是涉及到向量的求导运算,看了好长时间实在是看不懂。也不知道这个结果是怎么计算出来的,暂且记住吧。。

参考:https://blog.csdn.net/lipengcn/article/details/52815429

当A的维数比Y的维数多,即样本数量n少于特征值p的时候存在多个解,可能导致结果很不稳定,所以要确保n>p。

X矩阵不存在广义逆(即奇异性)的情况:
1)X本身存在线性相关关系(即多重共线性),即非满秩矩阵。
当采样值误差造成本身线性相关的样本矩阵仍然可以求出逆阵时,此时的逆阵非常不稳定,所求的解也没有什么意义。
2)当变量比样本多,即p>n时.
这时,回归系数会变得很大,无法求解。在统计学上,可证明A的最小二乘解为无偏估计,即多次得到的采样值X而计算出来的多个系数估计值向量 的平均值将无限接近于真实值向量β。

2.岭回归

那么解决不存在矩阵广义逆:

在误差矩阵加上一个对A的L2范数控制系数矩阵,

而LASSO回归是加上的L1范数作为正则项。

反映到矩阵上,就是在原先的A的最小二乘估计中加一个小扰动λI,

变为满秩矩阵,可以求稳定的逆。

具体推导过程就不贴了,贴了也看不懂。

3.LASSO回归

只是在于正则项的不同。

4.对于偏差与方差的理解

看到这个图觉得很不错:

偏差:预测出来的数据与真实值的差距

方差:预测出来的数据的分散程度

岭回归&Lasso回归的更多相关文章

  1. 笔记︱范数正则化L0、L1、L2-岭回归&Lasso回归(稀疏与特征工程)

    机器学习中的范数规则化之(一)L0.L1与L2范数 博客的学习笔记,对一些要点进行摘录.规则化也有其他名称,比如统计学术中比较多的叫做增加惩罚项:还有现在比较多的正则化. -------------- ...

  2. 【机器学习】正则化的线性回归 —— 岭回归与Lasso回归

    注:正则化是用来防止过拟合的方法.在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数.但是一直也无法对其基本原理有一个透彻.直观的理解.直到最近再次接触到这个概念 ...

  3. 线性回归——lasso回归和岭回归(ridge regression)

    目录 线性回归--最小二乘 Lasso回归和岭回归 为什么 lasso 更容易使部分权重变为 0 而 ridge 不行? References 线性回归很简单,用线性函数拟合数据,用 mean squ ...

  4. 机器学习之五 正则化的线性回归-岭回归与Lasso回归

    机器学习之五 正则化的线性回归-岭回归与Lasso回归 注:正则化是用来防止过拟合的方法.在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数.但是一直也无法对其基 ...

  5. 机器学习:模型泛化(LASSO 回归)

    一.基础理解 LASSO 回归(Least Absolute Shrinkage and Selection Operator Regression)是模型正则化的一定方式: 功能:与岭回归一样,解决 ...

  6. 多元线性回归模型的特征压缩:岭回归和Lasso回归

    多元线性回归模型中,如果所有特征一起上,容易造成过拟合使测试数据误差方差过大:因此减少不必要的特征,简化模型是减小方差的一个重要步骤.除了直接对特征筛选,来也可以进行特征压缩,减少某些不重要的特征系数 ...

  7. 机器学习--Lasso回归和岭回归

    之前我们介绍了多元线性回归的原理, 又通过一个案例对多元线性回归模型进一步了解, 其中谈到自变量之间存在高度相关, 容易产生多重共线性问题, 对于多重共线性问题的解决方法有: 删除自变量, 改变数据形 ...

  8. 通俗易懂--岭回归(L2)、lasso回归(L1)、ElasticNet讲解(算法+案例)

    1.L2正则化(岭回归) 1.1问题 想要理解什么是正则化,首先我们先来了解上图的方程式.当训练的特征和数据很少时,往往会造成欠拟合的情况,对应的是左边的坐标:而我们想要达到的目的往往是中间的坐标,适 ...

  9. 岭回归和Lasso回归以及norm1和norm2

    norm代表的是距离,两个向量的距离:下图代表的就是p-norm,其实是对向量里面元素的一种运算: 最简单的距离计算(规范)是欧式距离(Euclidean distance),两点间距离是如下来算的, ...

随机推荐

  1. Navicat for Mysql 如何备份数据库

    Navicat for Mysql 如何备份数据库 打开界面如下 打开自己的的数据库 点击需要备份的数据库名 未完!!! 文章来自:http://jingyan.baidu.com/article/f ...

  2. 浅析Linux内核同步机制

    非常早之前就接触过同步这个概念了,可是一直都非常模糊.没有深入地学习了解过,最近有时间了,就花时间研习了一下<linux内核标准教程>和<深入linux设备驱动程序内核机制>这 ...

  3. swift--设置app图标和启动页面

    1,如下图:

  4. swift - UIButton 的用法

    1,按钮的创建 (1)按钮有下面四种类型: contactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果 detailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝 ...

  5. Linux中的命令学习笔记

    Linux挂载Winodws共享文件夹 mount -t cifs -o username=xxx,password=xxxx //1.1.1.1/test /win 产生一个5位随机字符串 | md ...

  6. lua知识点整理

    1. lua全局环境和局部环境 local cf = loadstring(" local i=0 i=i+1 print(i) ") --从后面两个输出我们可以看出,生成的函数的 ...

  7. 《转》python学习(3)

    转自http://www.cnblogs.com/BeginMan/archive/2013/06/03/3114974.html 1.print语句调用str()函数显示,交互式解释器调用repr( ...

  8. 【Redis】php+redis实现消息队列

    在项目中使用消息队列一般是有如下几个原因: 把瞬间服务器的请求处理换成异步处理,缓解服务器的压力 实现数据顺序排列获取 redis实现消息队列步骤如下: 1).redis函数rpush,lpop 2) ...

  9. object.prototype.call

    object.prototype.call /* * object.prototype.call * @ 当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法 ...

  10. 1.Math函数对象

    // 属性 Math.E //自然对数的底数(2.718281828459045) Math.PI //圆周率(3.141592653589793) Math.LN2 //2的自然对数(0.69314 ...