码农知识堂 - 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
  • 相关阅读:
    使用 Go 实现 HelloWorld 程序,并分析其结构
    Java集合总结
    arcgis pro植被冠层分析及单木识别
    【线性代数】【一】 1.4 矩阵运算
    【soar-w5学习和使用】
    client-go gin的简单整合十-Update
    微服务项目:尚融宝(11)(后端接口:统一日志处理)
    【设计模式】命令模式
    力扣刷题-链表-链表相交
    高效使用浏览器的5个小技巧,第1个技巧最实用
  • 原文地址:https://blog.csdn.net/u010520724/article/details/125409876
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号