转自: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. HBase 1.3(NOSQL) 发布,性能大幅提升

        Apache HBase 1.3.0版在2017年1月中旬正式发布了,新版本支持分层数据的压缩和多个方面的性能提升,像预写日志(WAL).一个新的RPC机制,等等.HBase 1.3.0一共修 ...

  2. Redis生成Id主键的工具

    public class PrimaryKeyGenerator { private static readonly NedisClient client = new NedisClient(GetR ...

  3. cocos2d-x游戏引擎核心之一——坐标系

    cocos2d-x:OpenGL坐标系.绝对坐标系.相对坐标系.屏幕坐标系 cocos2d-x采用的是笛卡尔平面坐标系,也就是平面上两条垂直线构成的坐标系,平面上任意一点都可以用(x,y)来表示. ( ...

  4. Js debug模式

    在代码中需要调试的地方,输入“debugger;”:

  5. jQuery中的$.each的用法

    $.each(Array,function(i,value){ this;  //this指向当前对象 i;       //i表示当前下标 value; //value表示当前元素 })

  6. Django 1.5.4 专题二 urls 和 view 提高

    一.修改article/urls.py内容如下 二.修改django_test/urls.py如下 三.修改article/views.py如下 四.修改templates/article.html的 ...

  7. MQTT-SN协议乱翻之消息格式

    前言 紧接着上篇初步介绍,本文为第二篇,主要梳理MQTT-SN 1.2协议中定义的消息格式. 通用消息格式 消息头 其它可变部分 2/4字节表示 N字节组成 消息头部 长度 消息类型 1或3个字节 1 ...

  8. JS-元素大小深入学习-offset、client、scroll等学习研究笔记

    一些属性和方法,在dom中没有规定如何确定页面中元素大小的情况下诞生... 1.偏移量(offset dimension) 测试代码: <!DOCTYPE html> <html&g ...

  9. 【BZOJ5099】[POI2018]Pionek 几何+双指针

    [BZOJ5099][POI2018]Pionek Description 在无限大的二维平面的原点(0,0)放置着一个棋子.你有n条可用的移动指令,每条指令可以用一个二维整数向量表示.每条指令最多只 ...

  10. 【Android】TextView动态设置android:drawableLeft|Right|Top|Bottom,SetColor

    Android中有时需动态设置控件四周的drawble图片,这个时候就需要调用 setCompoundDrawables(left, top, right, bottom),四个参数类型都是drawa ...