01正则化

news2025/1/8 3:35:49

正则化

正则化的概念

  • 正则化(Regularization) 是机器学习中对原始损失函数引入额外信息,以便防止过拟合和提高模型泛化性能的一类方法的统称。也就是目标函数变成了原始损失函数+额外项

  • 常用的正则化一般有两种L1正则化和L2正则化

  • L1正则化的一般表达式:
    a r g m i n [ J ( w ) + α ∣ ∣ w ∣ ∣ 1 ] argmin[J(w)+\alpha||w||_1] argmin[J(w)+α∣∣w1]

  • L2正则化的一般表达式:

a r g m i n [ J ( w ) + α ∣ ∣ w ∣ ∣ 2 2 ] argmin[J(w)+\alpha ||w||_2^2] argmin[J(w)+α∣∣w22]

  • J ( w ) J(w) J(w)表示损失函数, 对于L1正则化 ∣ ∣ w ∣ ∣ 1 ||w||_1 ∣∣w1表示权值向量 w w w中各个元素的绝对值和,对于L2正则化 ∣ ∣ ∣ w ∣ 2 2 |||w|_2^2 ∣∣∣w22表示权值向量 w w w中各个元素平方的和
  • α \alpha α是一个超参数,可以衡量正则化的力度(在机器学习中也有人称呼为惩罚力度)
  • 在机器学习中正则化用于防止过拟合,进而增强泛化能力, 可以直观的将正则化理解为约束(规则、限制)

正则化的作用

  • L1正则化一般用于稀疏模型中
  • L2正则化用于一般的模型中, 防止过拟合或者改善病态矩阵

下面通过机器学习中三个典型模型说明正则化的作用,这一部分参考sklearn的用户手册, 里面会有更细节的说明

sklearn用户手册

普通最小二乘(Ordinary Least Squares)

  • OLS: 普通最小二乘

对于 y ^ ( w , x ) = w 0 + w 1 x 1 + . . . + w p x p \hat y(w, x)=w_0+w_1x_1+...+w_px_p y^(w,x)=w0+w1x1+...+wpxp这样的线性回归, 我们可以用OLS拟合出其系数 w 1 − w p w_1-w_p w1wp和偏差 w 0 w_0 w0

其基本的思想为:方程两边残余平方差最小
m i n ∣ ∣ X w − y ∣ ∣ 2 2 min||Xw-y||^2_2 min∣∣Xwy22

  • (下面这部分是结合我需要解决的一个问题进行比较,其他读者请直接Pass)
    • 对于回归问题来说, 这里的 w w w为待求的未知数,通过样本(训练集)的特征值 X X X y y y,我们可以拟合出 w w w, 从而得到一个估计的方程。当有新的数据(测试集)输入到这个方程(模型)中,我们可以得到一个预测值 y ^ \hat y y^, 若训练样本和算法选择适当,得到的方程就比较准确,则预测值 y ^ \hat y y^就十分接近真实值。
    • 对于定位问题来说, w w w其实是已知的,但由于实际中对 X X X会有测量误差,将其直接输入到方程中,其得到的预测值 y ^ \hat y y^也必然会有误差。值得注意的是,这部分误差是未知的。但当方程的个数大于未知数的个数时, 就能够用最小二乘(或其他方法),对 y ^ \hat y y^进行最优估计(实际定位不一定是线性问题, 这里只是做一个大概比较)

岭回归(Ridge regression)与L2正则化

  • 岭回归通过对系数大小加以惩罚(penalty)来解决OLS中的一些问题, 其本质就是OLS+L2正则化

m i n ∣ ∣ X w − y ∣ ∣ 2 2 + α ∣ ∣ w ∣ ∣ 2 2 min||Xw-y||^2_2+\alpha||w||^2_2 min∣∣Xwy22+α∣∣w22

  • α \alpha α越大, w w w越小(接近于0); α = 0 \alpha=0 α=0, 则与OLS一致

下面通过sklearn用户教程中的一个例子说明岭回归作为正则化函数的作用(更详细的可以参考)

岭回归作为正则化函数的作用

This example also shows the usefulness of applying Ridge regression to highly ill-conditioned matrices. For such matrices, a slight change in the target variable can cause huge variances in the calculated weights. In such cases, it is useful to set a certain regularization (alpha) to reduce this variation (noise).

这个例子也展示岭回归在高度病态矩阵上的应用

# Author: Fabian Pedregosa -- <fabian.pedregosa@inria.fr>
# License: BSD 3 clause

import matplotlib.pyplot as plt
import numpy as np

from sklearn import linear_model

# X is the 10x10 Hilbert matrix  10个样本10个特征
# 希尔伯特矩阵是一种数学变换矩阵,正定,且高度病态(即,任何一个元素发生一点变动,整个矩阵的行列式的值和逆矩阵都会发生巨大变化),病态程度和阶数相关。
X = 1.0 / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])
y = np.ones(10)
print(np.linalg.det(X))

Output:

2.1644528904064253e-53

可以看到矩阵X是一个高度病态的矩阵

n_alphas = 200
alphas = np.logspace(-10, -2, n_alphas)

coefs = []
for a in alphas:
    ridge = linear_model.Ridge(alpha=a, fit_intercept=False)
    ridge.fit(X, y)
    coefs.append(ridge.coef_)
ax = plt.gca()

ax.plot(alphas, coefs)
ax.set_xscale("log")
ax.set_xlim(ax.get_xlim()[::-1])  # reverse axis
plt.xlabel("alpha")
plt.ylabel("weights")
plt.title("Ridge coefficients as a function of the regularization")
plt.axis("tight")
plt.show()

Output:

在这里插入图片描述

  • 可以看到当 α \alpha α比较大时, 十个拟合出的权重都接近于0
  • 而当 α \alpha α很小时,部分拟合出的权重又会特别大(这时特征值发生微小的改变,将会使预测结果发生很大变化)(正则化程度低, 拟合出的方程病态)
  • 但选择一个合适 α \alpha α,则所有拟合出的权重能够在一个比较合适的大小
  • 值得注意的事,在机器学习中 α \alpha α可以用交叉验证的方法在一个范围内找一个适合的值

由于水平有限,做不出数学上的推导,在参考资料(L1、L2正则化)中有佬写了一些简单的数学证明

Lasso回归

  • 中文翻译好像叫拉索回归

m i n 1 2 n s a m p l e s ∣ ∣ X w − y ∣ ∣ 2 2 + α ∣ ∣ w ∣ ∣ 1 min\frac{1}{2n_{samples}}||Xw-y||^2_2+\alpha||w||_1 min2nsamples1∣∣Xwy22+α∣∣w1

主要用于稀疏的场合…

总结

看了很多模型大抵稀疏模型L1正则化L2正则化用于防止过拟合一些模型中结合L1和L2正则化, 使其适用于更多场合
此外在sklearn官网还有一个例子具体体现了L2正则化的作用:
Common pitfalls in the interpretation of coefficients of linear models

参考资料

(L1、L2正则化)

(什么是正则化)

sklearn user guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1373798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Openstack云计算(五)ceph

Ceph简介&#xff1a; Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。ceph]的统一体现在可以提供文件系统、块存储和对象存储,分布式体现在可以动态扩展。在国内一些公司的云环境中,通常会采用ceph作为openstack的唯一后端存储来提高数据转发效率…

基于Java SSM框架实现音乐推荐网站项目【项目源码+论文说明】

基于java的SSM框架实现音乐推荐网站演示 摘要 中国风音乐推介网站近年来已成为风靡全球的新兴艺术形式。国内涌现出了大批优秀、有才华的爱好者和许多经久不衰的经典作品。中国风音乐推介网站的兴起打破了音乐界格局,也突破了原有分类唱法发展中的瓶颈,为声乐艺术的发展开辟了…

儿童护眼台灯什么品牌好?儿童护眼台灯品牌排行

台灯大家都不陌生&#xff0c;但使用它的人有多少呢&#xff0c;准确使用的人又有多少呢&#xff0c;我们就是为了照明才会去买台灯&#xff0c;而时间久了&#xff0c;你就会眼睛刺痛&#xff0c;那就是没有选对台灯和没有正确使用台灯&#xff0c;还是建议大家买具有护眼功能…

python爬虫实战(9)--获取澎pai热榜

1. 需要的类包 import pandas as pd import requests2. 请求地址 通过分析&#xff0c;数据可以直接从接口获取&#xff0c;无需解析页面标签&#xff0c;直接取出我们需要的数据即可。 def fetch_hot_news(api_url):response requests.get(api_url)if response.status_cod…

金融帝国实验室(Capitalism Lab)V10版本游戏平衡性优化与改进

即将推出的V10版本中的各种游戏平衡性优化与改进&#xff1a; ————————————— 一、当玩家被提议收购一家即将破产的公司时&#xff0c;显示商业秘密。 当一家公司濒临破产&#xff0c;玩家被提议收购该公司时&#xff0c;如果玩家有兴趣评估该公司&#xff0c;则无…

TypeScript进阶(三)类型演算与高级内置类型

✨ 专栏介绍 TypeScript是一种由微软开发的开源编程语言&#xff0c;它是JavaScript的超集&#xff0c;意味着任何有效的JavaScript代码都是有效的TypeScript代码。TypeScript通过添加静态类型和其他特性来增强JavaScript&#xff0c;使其更适合大型项目和团队开发。 在TypeS…

python爬虫实战(8)--获取虎pu热榜

1. 需要的类库 import requests from bs4 import BeautifulSoup import pandas as pd2. 请求地址 def fetch_data():url "https://bbs.xxx.com/" # Replace with the actual base URLresponse requests.get(url)if response.status_code 200:return response.c…

外汇天眼:Options与OneTick合作,共同打造全球SAAS分析平台

Options Technology&#xff0c;一家为全球金融领域提供云服务的托管服务提供商&#xff0c;今天宣布与OneMarketData及其旗舰产品OneTick平台的合作。 Options将使OneTick订户能够访问其庞大的市场数据存储库&#xff0c;包括股票、外汇、期货、期权和固定收益数据&#xff0…

掌握Sketch:软件介绍与实用技巧分享

Sketch是最好的UI软件之一。它可以快速交互迭代&#xff0c;每个页面之间的小部件可以直接复制粘贴并修改。在整体架构布局中&#xff0c;可以直接下载很多Mocaup模板&#xff0c;所以非常快。这个工具完全是为应用程序设计的&#xff0c;比PS好得多。 如果你不知道sketch软件…

Android Firebase (FCM)推送接入

官方文档&#xff1a; 向后台应用发送测试消息 | Firebase Cloud Messaging 1、根级&#xff08;项目级&#xff09;Gradlegradle的dependencies中添加&#xff1a; dependencies {...// Add the dependency for the Google services Gradle pluginclasspath com.google.gm…

open3d相关操作总结

open3d其实有很多交互式命令&#xff0c;在运行程序打开了open3d渲染的窗口后&#xff0c;鼠标点击窗口&#xff0c;按H就会弹出&#xff0c;交互命令的帮助&#xff0c;如下图所示&#xff1a; 其中比较常用的有&#xff1a; Q &#xff1a;退出当前窗口 H&#xff1a;打印帮…

CAN与CAN FD通信之间存在的问题

关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”&#xff0c;即可获得canoe入门到精通电子书和INCA软件安装包&#xff08;不带授权码&#xff09;下载地址。 目录 1、通讯速率和数据长度不同的问题 2、非ISO CAN FD与ISO CAN FD设备的通讯问题 3、多设备切换的通…

PHP企业物资管理系统源码带文字安装教程

PHP企业物资管理系统源码带文字安装教程 技术架构 主要框架 : PHP7.0 laravel5.4  mysql5.5.36 composer1.3.2(依赖管理) 前端 : jquery bootstrap jstree&#xff08;树形结构&#xff09; echart&#xff08;图表&#xff09; layer&#xff08;弹出层&#xff09; 企…

参数小,性能强!开源多模态模型—TinyGPT-V

安徽工程大学、南洋理工大学和理海大学的研究人员开源了多模态大模型——TinyGPT-V。 TinyGPT-V以微软开源的Phi-2作为基础大语言模型&#xff0c;同时使用了视觉模型EVA实现多模态能力。尽管TinyGPT-V只有28亿参数&#xff0c;但其性能可以媲美上百亿参数的模型。 此外&…

TDengine 签约西电电力

近年来&#xff0c;随着云计算和物联网技术的迅猛发展&#xff0c;传统电力行业正朝着数字化、信息化和智能化的大趋势迈进。在传统业务基础上&#xff0c;电力行业构建了信息网络、通信网络和能源网络&#xff0c;致力于实现发电、输电、变电、配电和用电的实时智能联动。在这…

企业办公终端文件数据\资料防泄密软件系统 | 自动智能透明加密保护核心文件,防止外泄

文档加密/数据安全 天锐绿盾是一款终端文件数据防泄密软件系统&#xff0c;采用自动智能透明加密技术&#xff0c;可以保护核心文件不被外泄。该软件通过对终端文件的加密处理&#xff0c;使得文件只能在经过授权的计算机上正常显示和使用&#xff0c;一旦离开授权范围&#x…

three.js : tweenjs创建threejs动画

效果&#xff1a; 代码 <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div> <div class"box-right"><…

在本地服务器发送邮件不可以,生产环境下跑可以

公司一般会给一个smtp-xxxx.com mail:host: smtp-xxxx.comport: 25properties:mail:smtp:starttls:enable: falsedebug: true然后你会使用堡垒机映射ip 会发现在本地邮件根本不会发出去,只能拿到虚拟机上跑 解决方案 我们需要把smtp-xxxx.com,改成对应的ip地址,只需要把smtp…

JavaScript中7种常见删除数组中指定元素的方法(含代码)

在JavaScript中&#xff0c;有多种方法可以从数组中删除指定的元素。以下是几种常见的方法&#xff1a; 1. 使用 splice() 方法 splice() 方法可以同时从数组中删除和添加元素。如果只提供了两个参数&#xff0c;那么它只会删除元素。 let arr [1, 2, 3, 4, 5]; let ind…

直播预告丨看零售场,如何玩转 MaaS

今年&#xff0c;有一个被频繁提及的词是MaaS 这类工具正在帮助千行百业实现大模型落地产业 在零售场&#xff0c;特别是像京东这样拥有超高并发、超复杂协同的电商场内 也沉淀出了一套通用的AI基础设施——九数算法中台 从提升客户服务体验、平台效率出发&#xff0c;训练各…