正则化综述

机器学习中经常会在损失函数 中加入正则项,称之为正则化(Regularize)。

目的:防止模型过拟合

原理:在损失函数上加上某些规则(限制),缩小解空间,从而减少求出过拟合解的可能性

例子:以最简单的线性模型为例,我们在统计学习中接触到线性回归的最小二乘估计和正则化的岭回归与拉索回归。

最小二乘估计:

岭回归:

在数学上我们可以证明岭估计的参数模要严格小于最小二乘估计的参数模,换句话说,我们可以认为加入L2正则项后,估计参数长度变短了,这在数学上被称为特征缩减(shrinkage)。

shrinkage方法介绍:指训练求解参数过程中考虑到系数的大小,通过设置惩罚系数,使得影响较小的特征的系数衰减到0,只保留重要特征的从而减少模型复杂度进而达到规避过拟合的目的。常用的shinkage的方法有Lasso(L1正则化)和岭回归(L2正则化)等。

采用shrinkage方法的主要目的包括两个:一方面因为模型可能考虑到很多没必要的特征,这些特征对于模型来说就是噪声,shrinkage可以通过消除噪声从而减少模型复杂度;另一方面模型特征存在多重共线性(变量之间相互关联)的话可能导致模型多解,而多解模型的一个解往往不能反映模型的真实情况,shrinkage可以消除关联的特征提高模型稳定性。

通过线性模型理解正则化

我们在线性模型的损失函数中加入正则项可以得到目标函数。其中λ被称为正则化系数,当λ越大时,正则化约束越强。

通过令目标函数导函数为0,我们可以得到参数的表达式为:

选择L2正则项的原因

给损失函数加上的正则化项可以有多种形式,下面给出了正则化的一般形式:

其中M是参数的个数,也是模型特征的维数;q是正则项的阶数,L2正则项的q为2。

考虑到在高维数据下很难给出正则项的几何意义,我们假设数据源只有两个特征:

正则项函数值图

函数等高线:

最小化目标函数时,可以看做在控制损失函数不变的情况时令正则项最小化,几何意义如下所示:蓝色圈表示没有限制的损失函数随着w迭代寻找着最小化的过程的E(w)函数等高线(同个圆上的损失函数值相同),蓝色圈和橙色圈相交的点即目标函数最小化的参数值w*。

可以看到,L1正则化的最优参数值w*恰好是w1=0的时候,意味着我们剔除了模型中一个特征(系数为0等价于剔除该特征),从而达到了降低模型复杂度的目的。在这个意义上L1正则化效果要优于L2正则化,但L1存在拐点不是处处可微,从而L2正则化有更好的求解特性

梳理一下,正则化有多种方式,包括L0(向量中非零元素个数),L1(向量中元素绝对值之和),L2(向量的模)。但是L0范数的求解是个NP完全问题,而L1也能实现稀疏并且比L0有更好的优化求解特性而被广泛应用。L2范数指各元素平方和后开根的值,可令w每个元素接近于0,虽然不如L1更彻底地降低模型复杂度,但是由于处处可微降低了计算难度。

[机器学习必知必会]如何理解机器学习中的正则化相关推荐

  1. MySQL必知必会教程:深入理解MySQL技术内幕

    2019独角兽企业重金招聘Python工程师标准>>> MySQL必知必会教程:深入理解MySQL技术内幕 作为最流行的开源数据库软件之一,MySQL数据库软件已经是广为人知了.当前 ...

  2. 【总结记录】《MySQL必知必会》读后笔记,结合 leetcode 例题理解

    文章目录 一. <MySQL知会>读后笔记 1. 零散的前文知识 2. 连接数据库 3. 检索数据(重点开始了) 4. 排序.过滤数据 5. 通配符.正则表达式 6. 汇总数据 7. 分组 ...

  3. 从《MySQL必知必会》中对MySQL的理解

    MySQL是一个开源的DBMS,是目前主流的关系型数据库DBMS之一.在<MySQL必知必会>中,作者通过简单实用的订单实例简而明要地介绍了MySQL,这里简单汇总. 查询 检索+过滤+排 ...

  4. SQL必知必会-笔记(完善版):第1课

    文章目录 SQL必知必会 一.了解数据库 1.1 数据库基础 1.1.1 数据库 (补充)数据库管理系统: 注意1: 1.1.2 表 1.1.3 列和数据类型 1.1.4 行row 1.1.5 主键 ...

  5. Java XxlJob 必知必会<续篇>

    通过 Java  XxlJob 必知必会 这篇文章的学习,我们大致知道了 xxljob 是做什么的,今天这篇文章我们将继续研究一下 xxljob 的其他使用场景. Step1: 创建一个运行模式为 P ...

  6. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

  7. mysql必知必会_《MySQL必知必会》学习小结

    关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...

  8. php7.2 开启mcy扩展,phper必知必会(二)

    1.说说你对进程,线程以及协程的理解 进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础.进程是程序基本执行的实体.进程与进程之间是独立的,拥有完全独立的地址空间,进程的切换只发生在内 ...

  9. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    为什么80%的码农都做不了架构师?>>>    本文原作者:"竹千代",原文由"玉刚说"写作平台提供写作赞助,原文版权归"玉刚说&q ...

  10. 程序员必知必会之maillist篇

    程序员必知必会之maillist篇        本文最初由恋花蝶发表于http://blog.csdn.net/lanphaday,可以随意转载,但未经同意不得增删修改,转载应保留本声明,否则追究责 ...

最新文章

  1. maven学习(中)- 私服nexus搭建
  2. P1965 夜夜的数据加强 题解
  3. Appium环境搭建(Java版本)
  4. 结构体交换遇到指针问题和一些记录
  5. 移动端input“输入框”常见问题及解决方法
  6. 伟创力被华为索赔数亿后发公开信:深感遗憾,仍希望能合作
  7. 【推荐】互联网或技术多平台,一文多发小工具!
  8. 母函数(指数型)(泰勒展开式)
  9. 织梦dedecms蓝色大学院校学校网站模板(自适应手机移动端)
  10. vs2017 中项目的publish,即“发布”到底是什么?
  11. percentile函数mysql_Oracle分析函数PERCENTILE_CONT
  12. C# 多窗口切换的实现
  13. 改善磁带存储性能的五种方法
  14. android默认打开adb,android user 版本如何默认adb调试为打开(示例代码)
  15. Epay纵横支付 游戏账号点券全通道支付系统 | 抖音虎牙快手yy直播QB支付,DNF游戏点券,全通道几十种支持,亲测
  16. 网络安全——企业渗透一
  17. CAS . . . .
  18. 摩杜云亮相CDEC2021中国数字智能生态大会,始终专注云+数据
  19. Three.js实现剖切
  20. shell读文件时无法读入tab的问题

热门文章

  1. 我真的要做一辈子的程序员吗?
  2. 27位技术实战派负责人齐聚 深聊降本增效 你一定不想错过!
  3. SignalTap操作演示
  4. liunx密码破解 与装机
  5. 结构程序设计,过程设计工具——程序流程图及盒图
  6. Python 中文分词并去除停用词
  7. 论文笔记《Item-based Collaborative Filtering Recommendation Algorithms》基于物品的协同过滤算法
  8. vue使用v-print实现打印功能附加echartsDemo
  9. ubuntu proxy(代理)设置全局
  10. 【MySQL 第18章_MySQL8其它新特性】