码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 机器学习3-岭回归,Lasso,变量选择技术


    文章目录

    • 一. 岭回归
      • 1.1 什么是岭回归
      • 1.2 岭迹图
      • 1.3 岭回归估计的性质
      • 1.4 岭迹分析
      • 1.5 岭参数的一般选择原则
      • 1.6 方差扩大因子法
      • 1.7 用R语言进行岭回归
    • 二. Lasso
      • 1.1 Lasso概述
      • 1.2 为什么LASSO能直接筛选变量
      • 1.3 LASSO vs岭回归
      • 1.4 更一般化的模型
      • 1.5 弹性网
    • 参考:

    一. 岭回归

    1.1 什么是岭回归

    岭回归是专门用于共线性数据分析的有偏估计的回归方法,实际上是一种改良的最小二乘法,但它放弃了最小二乘的无偏性,损失部分信息,放弃部分精确度为代价来寻求效果稍差但更符合实际的回归方程。

    此处介绍下岭回归的回归系数公式,B(k)=(X’X+kI)-1X’Y作为回归系数的估计值,此值比最小二乘估计稳定。称B(k)为回归系数的岭估计。显然,当k=0时,则B(k)就成为了最小二乘估计;而当k→∞时,B(k)就趋于0。因此,k值不宜太大,我们要让k值小些。

    image.png

    1.2 岭迹图

    当不存在奇异性时,岭迹应是稳定地逐渐趋向于0
    通过岭迹图观察岭估计的情况,可以判断出应该剔除哪些变量
    image.png

    1.3 岭回归估计的性质

    image.png

    image.png

    image.png

    image.png

    1.4 岭迹分析

    image.png

    1.5 岭参数的一般选择原则

    选择k(或lambda)值,使到
    (1)各回归系数的岭估计基本稳定;
    (2)用最小二乘估计时符号不合理的回归系数,其岭估计的符号变得合理;
    (3)回归系数没有不合乎实际意义的绝对值;
    (4)残差平方和增大不太多。
    image.png

    1.6 方差扩大因子法

    image.png

    1.7 用R语言进行岭回归

    代码:

    library(MASS)
    longley
    summary(fm1 <- lm(Employed ~ ., data = longley))
    
    names(longley)[1] <- "y"
    lm.ridge(y ~ ., longley)
    plot(lm.ridge(y ~ ., longley, lambda = seq(0,0.1,0.001)))
    
    select(lm.ridge(y ~ ., longley, lambda = seq(0,0.1,0.001)))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    二. Lasso

    1.1 Lasso概述

    岭回归存在的问题:

    1. 岭参数计算方法太多,差异太大
    2. 根据岭迹图进行变量筛选,随意性太大
    3. 岭回归返回癿模型(如果没有经过变量筛选)包含所有癿变量

    LASSO

    1. Tibshirani(1996)提出了Lasso(The Least Absolute Shrinkage and Selectionatoroperator)算法

    2. 通过构造一个一阶惩罚函数获得一个精炼癿模型;通过最终确定一些指标(变量)癿系数为零(岭回归估计系数等于0癿机会微乎其微,造成筛选变量困难),解释力很强

    3. 擅长处理具有多重共线性癿数据,不岭回归一样是有偏估计

    1.2 为什么LASSO能直接筛选变量

    image.png

    1.3 LASSO vs岭回归

    image.png
    image.png

    1.4 更一般化的模型

    image.png

    image.png

    1.5 弹性网

    Zouand Hastie (2005)提出elasticnet
    在这里插入图片描述

    image.png

    参考:

    1. http://www.dataguru.cn/article-4063-1.html
    2. https://zhuanlan.zhihu.com/p/426162272
  • 相关阅读:
    【Linux】什么是yum?--linux中的软件包管理器详解
    【论文学习】《Source Mixing and Separation Robust Audio Steganography》
    docker “no space left on device” 解决方案
    如何使用Java实现权限认证和登录jwt
    值得收藏的30道Python练手题(附详解)
    epoll源码分析
    【Ubuntu】将多个python文件打包为.so文件
    C++入门01—从hello word!开始
    为什么大部分人做网赚是赚不到钱的,这才是真正的原因!
    点成分享 | 选择点成BEOnChip芯片的六大理由
  • 原文地址:https://blog.csdn.net/u010520724/article/details/125409876
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号