超参数优化(网格搜索简介)

news2024/12/23 12:00:39

网格搜索简介

      • 1、 网格搜索优化
      • 2、随机网格搜索




1、 网格搜索优化


在所有超参数优化(HypeParameter Optimization,HPO)中,枚举网格搜索(GridSearchCV)是最为基础和经典的方法

在搜索开始之前,我们需要人工将每个超参数的备选值一一列出,多个不同超参数的不同取值之间排列组合,最终将组成一个参数空间(Parameter Space)

枚举网格搜索是一种穷尽式的搜索方法,该算法会将这个参数空间当中所有的参数组合代入模型进行训练,最终选出泛化能力最强的组合作为模型的最终超参数

参数空间越大越密,参数空间中的组合刚好覆盖损失函数最小值点的可能性就会越大

但是,参数空间越大,枚举网格搜索所需的算力和时间也会越大,当参数维度上升时,枚举网格搜索所需的时间将会呈指数级上升。因此枚举网格搜索更适用于参数空间小(模型超参数较少)的情况

决定网格搜索运算效率的因子共有两个:

  • 参数空间的大小:参数空间越大,需要建模的次数越多
  • 数据量的大小:数据量越大,每次建模所需的算力和时间越多

因此,在Sklearn中,网格搜索优化的方法主要包括两类:一是减小搜索空间,二是减小每次训练的数据

其中,减小参数空间的具体做法是:放弃原本使用的全域超参数空间,改为挑选出部分参数组合,构造超参数子空间,并只在子空间中进行搜索

2、随机网格搜索


在Sklearn中,随机抽取参数子空间并在子空间中进行搜索的方法叫做随机网格搜索(RandomizedSearchCV)

RandomizedSearchCV与GridSearchCV相似,但它不会尝试所有可能的参数组合,而是通过随机不放回的选择一组参数进行建模,选择的次数由n_iter决定

在这里插入图片描述
由于搜索空间的缩小,因此需要枚举和对比的参数组的数量也相应减少,整体搜索耗时也将随之减少,因此

  • 当设置相同的全域空间时,随机搜索的运算速度比枚举搜索快很多
  • 当设置相同的训练次数时,随机搜索可以覆盖的空间比枚举搜索大很多
  • 随机搜索得出的最小损失与枚举搜索得出的最小损失很接近

可见,随机网格搜索不但提升了运算速度,而且没有过多地损失搜索的精度。不过,随机网格搜索在实际运行时,并不是先抽样出子空间,再对子空间进行搜索,而是仿佛“循环迭代”一般,在这一次迭代中随机抽取一组参数进行建模,下一次迭代再随机抽取一组参数进行建模,由于该随机抽样是不放回的,因此不会出现两次抽中同一组参数的问题

我们可以通过控制随机网格搜索的迭代次数,来控制整体被抽出的参数子空间的大小,这种做法往往被称为“赋予随机网格搜索固定的计算量,当全部计算量被消耗完毕之后,随机网格搜索就停止”

随机网格搜索API官方文档:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV

随机网格搜索API中文官方文档:https://scikit-learn.org.cn/view/658.html

更多介绍和API的使用可参考文末参考文章



参考文章:https://blog.csdn.net/weixin_60200880/article/details/131859162


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

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

相关文章

List实现类——ArrayList、LinkedList及迭代器(并发修改异常错误)源码分析

1、ArrayList本质及源码分析 两种情况:加一个和很多个 底层原理:elementData是底层数组的名字 再次满了的话,在扩容1.5倍 如果利用addAll一次添加多个元素,按实际元素数进行扩容 源码分析: 1、空参构造,…

【源码】Spring事务之事务失效及原理

Spring事务 1、【源码】SpringBoot事务注册原理 2、【源码】Spring Data JPA原理解析之事务注册原理 3、【源码】Spring Data JPA原理解析之事务执行原理 4、【源码】SpringBoot编程式事务使用及执行原理 5、【源码】Spring事务之传播特性的详解 6、【源码】Spring事务之…

语音识别相关文章整理目录

一、语音大模型架设与功能实现 使用sherpa-ncnn进行中文语音识别(ubuntu22)-CSDN博客文章浏览阅读953次,点赞30次,收藏26次。请注意,需要首先安装安装了所有必要的依赖项,包括 CMake、Git 和一个合适的 C/…

风控中的文本相似方法之余弦定理

一、余弦相似 一、 余弦相似概述 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。 从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。结…

vite|webpack环境变量-多模式配置

vite官方文档:环境变量和模式 | Vite (vitejs.net) (https://www.vitejs.net/guide/env-and-mode.html) 一、工程根目录创建env文件如下: 文件中参数书写格式: VITE_XXXXXX XXXXXX。必须使用等号。必须以VITE_开头…

《地下城与勇士》新手攻略,开荒必备!云手机多开教程!

《地下城与勇士》(DNF)是一款广受欢迎的多人在线动作角色扮演游戏。玩家将在游戏中扮演不同职业的角色,通过打怪、做任务、PK等方式不断提升自己,探索广阔的阿拉德大陆。游戏中设有丰富的副本、装备、技能系统,玩家可以…

程序员画图工具?那必然是你了!!【送源码】

作为一个程序员,画图是必不可少的技巧。当然此画图不是搞艺术,而是画各种架构图、流程图、泳道图以及各种示意图。 平时我不论是记笔记、写技术文章,还是工作中写文档,都需要配上各种各样的示意图。不管是帮助自己更好的掌握知识…

「6.18福利」精选大厂真题|笔试刷题陪伴|明天正式开屋啦 - 打卡赢价值288元丰厚奖励

🍰关于清隆学长 大家好,我是清隆,拥有ACM区域赛 银牌🥈,CCCC天梯赛 国一,PTA甲级 98 分。 致力于算法竞赛和算法教育已有 3 年,曾多次 AK 互联网大厂笔试,大厂实习经验丰富。 打卡…

示例:WPF中使用DecodePixelHeight和DecodePixelWidth优化Image性能

一、目的:在使用Image控件时,如果图片太大或者图片数量过多时加载出来的程序内存会非常的大,但一般图片多时我们只要预览缩略图就可以,查看时再显示原图,这个时候需要通过通过设置BitmapImage的DecodePixelHeight和Dec…

Postgresql配置SSL连接

1、系统需要有openssl、openssl-devel包 yum -y install openssl openssl-devel 2、查看当前数据库是否使用openssl编译 pg_config|grep CONFIGURE 如果没有重新编译 make clean make && make install 3、服务器端证书配置 服务器端需生成三个文件: root.crt(根证…

浏览器调试小技巧

一. 使用XSwitch工具代理本地服务地址 1. 谷歌提供了一个扩展程序: XSwitch 工具描述: 一个重定向URL并允许CORS使本地开发体验轻松愉快的工具。 ps: 这个工具只有谷歌有, 只能翻墙后下载 安装成功后 长这样: 2. 全局安装http-server , 用于在本地启动一个服务 npm i http-…

白帽子最喜欢用什么渗透测试工具?看看哪些是你用过的

一、白帽子最喜欢用什么安全工具? 2020 年的 HackerOne 黑客报告中,统计过白帽子们最喜欢用的软硬件工具。 从图中可以看到,89% 的白帽子都会使用 Burp Suite 这个 Web 应用安全测试工具,有 39% 会尝试自己写工具,第三名的 Fuzzers 是模糊测试工具。再后面主要是一些代理…

Dart 弱引用进阶

前言 村里的老人说:“真正的强者,都是扮猪吃老虎。” 日常开发中经常需要用到弱引用,Dart 语言里也有提供弱引用的接口 WeakReference,我们可以基于它开发更强大的复杂结构。 在前面的文章中,我们用到了一个以弱引用…

现代易货:创新交易模式引领物品交换新潮流

在繁华的现代经济浪潮中,物品交换的文化逐渐崭露头角,引领了一种新颖的交易潮流——现代易货交易模式。这种模式不仅是对古老“以物易物”交易的现代化诠释,更是对物品价值多元化和交换方式创新的深入探索。那么,现代易货交易究竟…

螺丝工厂vtk ThreadFactory(1)

螺丝工厂vtkThreadFactory (1) 缘起 几年前的探索在Python里应用Openscad实现3D建模之3D螺纹建模初探3 新的参考: generating nice threads in openscadvtkRotationalExtrusionFilter 辅助AI: coze 笔记📒: openscad 代码分析 // 半径缩放函数,用…

国货骄傲精亿内存条颠覆游戏战场,推出超强DDR5 7200玄武系列电竞内存

随着科技的迅猛发展,对高性能电脑的需求不断增长,特别是在电竞领域。认识到这一点,国货知名品牌精亿(JINGYI)推出了其全新一代DDR5 7200 RGB电竞内存条,并命名系列为象征中国上古四大神兽的玄武-系列。这款产品凭借其卓越性能和令人印象深刻的海力士A-DIE颗粒配置,正在迅速成为…

环信beta版鸿蒙IM SDK发布!深度适配HarmonyOS NEXT系统

环信beta版鸿蒙IM SDK已正式发布!欢迎有需求开发者体验集成! 版本亮点 提供原生鸿蒙 SDK,支持原生 ArkTS 语言,全面拥抱鸿蒙生态提供鸿蒙系统上单聊、群聊、会话等能力和服务覆盖消息管理、用户属性、群租管理、离线推送.多设备…

【C++】认识STL

【C】认识STL STL的概念STL的版本STL的六大组件STL的三个境界STL的缺陷 STL的概念 SLT(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个保罗数据结构与算法的软件框架。 STL的版本 原…

深入学习html的步骤

推荐的学习步骤&#xff1a; 1. 深入了解HTML基础标签 列表 HTML提供有序列表(<ol>)和无序列表(<ul>)。 <h2>无序列表</h2> <ul><li>项目一</li><li>项目二</li><li>项目三</li> </ul><h2>…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 火星字符串(100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…