当前位置: 首页 > news >正文

机器学习---正则化、过拟合抑制与特征筛选

专栏:机器学习

个人主页:云端筑梦狮

注:上一篇机器学习还差一小节,日后坑必会填上

一.正则化

  • 什么是正则化 / 如何进行正则化

其实机器学习中正则化(regularization)的外在形式非常简单,就是在模型的损失函数中加上一个正则化项(regularizer),有时也被称为惩罚项(penalty term),如下方程所示,其中 L 为损失函数,J 为正则化项。通常来说,正则化项往往是关于模型参数的 1 - 范数或者 2 - 范数,当然也有可能是这两者的某种结合,例如 sklearn 的逻辑回归中的弹性网正则化项,其中加入模型参数的 1 - 范数的正则化也被称为 l1 正则化,加入模型参数的 2 - 范数的正则化也被称为 l2 正则化。

注:在数学和线性代数里,范数是衡量向量(或矩阵 )“大小、长度” 的工具,1 - 范数和 2 - 范数是常用类型,常应用于机器学习正则化等场景,以下从向量和矩阵角度说明: 

向量的 1 - 范数、2 - 范数

  • 1 - 范数(曼哈顿范数)

    比如向量 v=(3,−2,5),1 - 范数为 ∣3∣+∣−2∣+∣5∣=3+2+5=10 ,可理解为在 “曼哈顿街区” 从一点到另一点的折线距离。

  • 2 - 范数(欧几里得范数)
    对向量 v=(v1​,v2​,…,vn​),2 - 范数是各元素平方和的平方根,公式:

为什么需要正则化?有什么作用

一般来说,正则化核心的作用是缓解模型过拟合倾向,此外,由于加入正则化项后损失函数的形体发生了变化,因此也会影响损失函数的求解过程,在某些时候,加入了正则化项之后会让损失函数的求解变得更加高效。如此前介绍的岭回归,其实就是在线性回归的损失函数基础上加入了 w 的 1 - 范数,而 Lasso 则是加入了 w 的 2 - 范数。并且,对于逻辑回归来说,如果加入 l2 正则化项,损失函数就会变成严格的凸函数。

经验风险与结构风险

在我们构建损失函数求最小值的过程,其实就是依据以往经验(也就是训练数据)追求风险最小(以往数据误差最小)的过程,而在给定一组参数后计算得出的损失函数的损失值,其实就是经验风险。而所谓结构风险,我们可以将其等价为模型复杂程度,模型越复杂,模型结构风险就越大。而正则化后的损失函数在进行最小值求解的过程中,其实是希望损失函数本身和正则化项都取得较小的值,即模型的经验风险和结构风险能够同时得到控制

模型的经验风险需要被控制不难理解,因为我们希望模型能够尽可能的捕捉原始数据中的规律,但为何模型的结构风险也需要被控制?核心原因在于,尽管在一定范围内模型复杂度增加能够有效提升模型性能,但模型过于复杂可能会导致另一个非常常见的问题 —— 模型过拟合,一旦模型过拟合了,尽管模型经验风险在降低、但模型的泛化能力会下降。因此,为了控制模型过拟合倾向,我们可以把模型结构风险纳入损失函数中一并考虑,当模型结构风险的增速高于损失值降低的收益时,我们就需要停止参数训练(迭代)

二.过拟合

只有挖掘出贯穿始终的规律(同时影响训练数据和新数据的规律),模型才能够进行有效预测。不过,既然有些贯穿始终的全局规律,那就肯定存在一些只影响了一部分数据的局部规律。一般来说,由于全局规律影响数据较多,因此更容易被挖掘,而局部规律只影响部分数据,因此更难被挖掘,因此从较为宽泛的角度来看,但伴随着模型性能提升,也是能够捕获很多局部规律的。但是需要知道的是,局部规律对于新数据的预测并不能起到正面的作用,反而会影响预测结果,此时就出现模型过拟合现象。

以下解释代码明天后补

相关文章:

  • 数学:初步了解什么是线性代数?
  • 大一获得16届蓝桥杯国三记录
  • 七天学会SpringCloud分布式微服务——03——Nacos远程调用
  • 随记:WebMvcConfigurationSupport 和WebMvcConfigurer 的区别
  • ldl-DeserializationViewer一款强大的序列化数据可视化工具
  • 仓颉语言开发初体验HashMap,变量定义、方法定义
  • 网络安全之SQL RCE漏洞
  • 【Excel数据分析】花垣县事业单位出成绩了,用Excel自带的M语言做一个数据分析
  • 深入剖析Nginx架构及其不同使用场景下的配置
  • Ubuntu下布署mediasoup-demo
  • 【LLM安全】MCP(模型上下文协议)及其关键漏洞、技术细节
  • VUE3入门很简单(2)--- 计算属性
  • 力扣网C语言编程题:搜索二维矩阵的普通解法与二分查找法
  • 面试150 文本左右对齐
  • 用Dockerfile点亮你的容器化世界:从零到精通
  • 基于定制开发开源AI智能名片S2B2C商城小程序源码的H5游戏开发模式创新研究
  • 【音视频】Ubuntu下配置ffmpeg库
  • 网络路由策略与过滤策略原理及实验脚本
  • 【零基础学AI】 第6讲:数据可视化基础
  • 【STM32】[特殊字符] WWDG(窗口看门狗)学习笔记