机器学习笔记(7)— 学习率、特征工程、多项式回归

2023-11-06

判断梯度下降是否收敛

在这里插入图片描述
梯度下降的任务是找到能够使代价函数J最小的参数w和b,通常做法是绘制代价函数图(通过训练集计算出的),并且标出梯度下降每次迭代时J的值
此图中的横轴是梯度下降的迭代次数(不是w或b),这条曲线也被称为学习曲线,在粉点处意味着梯度下降迭代了100次,参数w和b也同步更新了100次,紫色点迭代了200次
如果梯度下降运行正常,在每次迭代后代价J应该会降低,如果迭代后反而上升了,说明学习率α太大,或程序里有bug
当迭代到300次左右时,代价J趋于稳定,不再减少太多,400次时更加平缓,这意味着梯度下降应该已经收敛,因为曲线不再下降
不同的场景中,梯度下降的收敛速度可能有很大差异,有可能30次,有可能一万次才能收敛
我们很难事先知道梯度下降要经过多少次迭代才能收敛,可以先画个学习曲线图。
另一种帮助你决定什么时候完成模型训练的方法是使用自动收敛测试,用ε表示一个小数字变量,比如0.001,如果代价函数J在一次迭代中减少的量小于这个数,就可以说明收敛了,收敛是指找到了参数w和b接近J的最小可能值情况,但是选出正确的ε是很困难的
实际上作者更倾向于看左边的图,而不是依赖于自动收敛测试

如何设置学习率

在这里插入图片描述
上图的代价-迭代次数图,如果波动,说明代码中可能有bug或者学习率太大导致,如果每次迭代后都增加,说明学习率太大导致,都可以使用小的学习率解决,也可能是迭代时的符号问题所致,要使用负号
正确实现梯度下降的一个调试技巧是,在学习率α足够小的前期下,每一次迭代,代价函数都应该减小
一个重要的权衡是,如果学习率太小,梯度下降需要多次迭代才能收敛
在这里插入图片描述
可以尝试使用多个α的值,查看学习曲线,选择能快速且持续降低α的值

特征工程

特征的选取对学习算法性能有很大影响,选择或输入合适的输入特征才是让算法正常工作的关键步骤
在这里插入图片描述
假设房子有两个特征x1是房屋所在地块宽度,x2是地块的深度,假设房子建在长方形土地上
建立的模型是f(x)=w1x1+w2x2+b,但是面积是长乘以宽,用面积会更能预测价格,相比于分开的长度和宽度,所以可以定义一个新特征x3=x1x2,x3是面积
这样就可以得到一个新的模型,这样模型就可以选择参数w1、w2、w3
在特征工程中,可以去设计新的特征,通常通过变换或合并问题的原始特征,使其帮助算法更简单的做出准确预测,有时通过设计新特征,可能会得到一个更好的模型
这就是特征工程的一个特色,不仅帮你拟合直线,甚至曲线,非线性函数

多项式回归

在这里插入图片描述
假设有个房屋数据集,特征x是面积,可以看出直线无法很好的拟合这个数据集,也许是包含二次项的模型才能拟合,但是二次函数可能最后会下降,我们不希望如此,所以加上3次项,显然紫色的线对应的模型更符合数据分布,因为房屋的价格最终会随着房屋的大小的增加而上升,第一个特征是大小,第二个特征是大小的平方,第三个特征是大小的平方
如果创造的特征是原始特征的幂,特征缩放就会很重要
在这里插入图片描述
也可以使用平方根,如蓝色的线,随着x的增加,曲线的陡峭程度不断下降,但是肯定不会变平,也不会下降,以一个接近于平缓的曲线上升

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习笔记(7)— 学习率、特征工程、多项式回归 的相关文章

  • rabbitmq消息消费失败如何处理

    在介绍消息中间件 MQ 之前 我们先来简单的了解一下 为何要引用消息中间件 例如 在电商平台中 常见的用户下单 会经历以下几个流程 当用户下单时 创建完订单之后 会调用第三方支付平台 对用户的账户金额进行扣款 如果平台支付扣款成功 会将结果
  • electron 自定义标题栏(windows 系统)

    其实没有网上那么麻烦 如果你仅仅只是想去掉标题 还有下面的工具栏 只需要如下配置 const win new BrowserWindow width 800 height 600 titleBarStyle hidden titleBarO
  • 大数据系列——概论

    1 何为大数据 在万物互联的时代 数据每时每刻都在产生 你的手机 笔记本 智能穿戴设备 智能家电等等所有联网的终端设备都在不间断的向云端输送着数据 云端数据呈指数级增长 在过去 受限于人类的计算能力 只能通过随机采样来进行数据分析 分析的结

随机推荐

  • 深度学习实战(十):使用 PyTorch 进行 3D 医学图像分割

    深度学习实战 十 使用 PyTorch 进行 3D 医学图像分割 1 项目简介 2 3D医学图像分割的需求 3 医学图像和MRI 4 三维医学图像表示 5 3D Unet模型 5 1损失函数 Dice Loss 5 2医学成像数据 5 2
  • 常用快捷键整理(centos7、Notepad++、Idea、Excel)

    目录 一 常用快捷键 1 Notepad 常用快捷键 2 centos7快捷键 3 idea快捷键 4 excel 一 常用快捷键 1 Notepad 常用快捷键 1 Ctrl D 复制当前行 2 Ctrl L 删除当前行 3 Ctrl T
  • Python面试经验总结,面试一时爽,一直面试一直爽!

    有伙伴问过我Python面试相关的问题 这里也跟大家总结了一下 跟大家说说我之前的面试经历和心得体会 1 简历制作 我做了两份简历 用两个手机账号 两个简历名字 分别在各个招聘网站投了双份简历 一个是数据分析的简历 一个是web全栈开发的简
  • 软件测试第一阶段:web前端技术基础-9- 测试用例设计方法

    一丶测试用例 测试用例 将要进行的测试工作具体化 并且记录到一个文件中 一般情况下是一个excel 表格 在测试用例中 明确的指定了每一步要做什么操作 期望得到什么结果 测试工作 等程序员完成代码 此时可以进行前期准备工作 也就是编写测试用
  • JS小数点前面的0显示

    使用Java从 oracle数据库中取出0 225的数字时 在前台js页面中显示为 225 有两种方法 1 Java中的类使用string来存储0 225时 会保存为 225 需要在前台使用 js方法parseFloat 转为float类型
  • LF AI & Data基金会执行董事Ibrahim Haddad:加速中的开源人工智能创新与合作

    以人工智能为代表的新一代信息技术正在深刻改变着世界 改变着人类生活 人工智能技术不但能够带来便利 同时也为其带来了不确定 不稳定等诸多挑战 2022年7月21日 由中国开源软件推进联盟主办 赛迪传媒 软件和集成电路 杂志社联合承办 CSDN
  • Windows装机必备——WinRAR2023最新版下载&安装教程

    软件下载 软件 WinRAR 版本 自动更新 语言 简体中文 大小 3 38M 系统要求 Win7及以上 32 64为操作系统 硬件要求 CPU 2 0GHz 内存 2G 或更高 下载通道 百度网盘丨下载链接 链接 https pan ba
  • 使用Prometheus+Grafana监控MySQL

    你还不会监控服务器资源吗 你还不会监控mysql性能吗 但是你看了这篇文章之后我想你应该会了 哈哈哈 就算不会 至少你也知道是个怎么回事 这篇文章就来介绍怎么给自己的服务器系统搭建一个监控平台 要是还不会 请私聊我 哈哈 一 介绍Prome
  • 单片机_第2章 MCS-51单片机的结构及原理

    目录 2 1 MCS 51单片机的结构 2 1 1 MCS 51单片机的内部结构 80C51单片机的内部资源主要包括 CPU Central Processing Unit 2 1 2 MCS 51引脚及功能 封装 80C51单片机的40只
  • base model初始化large model,造成的参数矩阵对不上权重不匹配问题

    先报错没有指定文件 OSError Error no file named pytorch model bin tf model h5 model ckpt index or flax model msgpack found in dire
  • Python环境搭建—Anaconda的安装与使用

    Python安装 Anaconda的安装与使用 Anaconda是一个集成的Python数据科学环境 除了有Python外 还安装了很多用于 数据分析的第三方库 相对于新手来说 相当友好 可以避免安装第三方库的麻烦 1 Anaconda下载
  • Hadoop分布式部署,部署一个namenode和三个datanode

    本文以一主三从部署hadoop为介绍 1 首先克隆原有centos系统 2 nn y 为主 dn1 dn2 dn3为从 都是通过克隆快速完成的 右键管理有克隆 选择完全克隆 3 配置网络集群 设置静态ip 192 168 64 132 19
  • 用 React+Redux+Immutable 做俄罗斯方块

    俄罗斯方块是一直各类程序语言热衷实现的经典游戏 JavsScript的实现版本也有很多 用React 做好俄罗斯方块则成了我一个目标 戳 https chvin github io react tetris 玩一玩 开源地址 https g
  • Linux中确认两份文件内容是否相同的方法:MD5值

    什么是MD5值 MD5 信息摘要算法 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 hash value 用于确保信息传输完整一致 可以说是文件的唯一ID 可以根据MD5值去判断文件是否完整或者两个文件是否完全一
  • 测试IDEA中几款从Java bean(POJO)得到JSON字符串用于postman请求参数的插件

    测试IDEA中几款从Java bean POJO 得到JSON字符串用于postman请求参数的插件 一 背景 有时候 我们需要从写好的 Java 类得到 JSON字符串 Java类一般指 DTO XxxRequest 即 controll
  • C语言 char 和 signed char的区别

    在STM32项目的开发过程遇到一个奇葩的问题 测试代码如下 char char 1 if char 1 pr dbg char 1 r n else pr dbg char 1 r n 结果输出 1048 dbg main 83 char
  • 02-C++多线程编程-创建子线程

    By kkmd66 理论学习 1 主线程是什么 什么时候开始 结束 2 子线程如何创建 生命周期是什么 3 thread类的基本使用方法 代码演示 1 线程ID区分不同的线程 2 join detach区别 include
  • 31岁零基础转行软件测试,现已成功入职月薪14K+

    二黑 华测在线上期学员 31岁 坐标上海 专科 石油与天然气地质勘探 学习3个月 从石油行业到IT行业 薪资 8K 14K 二黑同学通过三个月的学习 顺利入职成为一名软件测试工程师 成功从石油行业转行到IT行业 这篇文章分为三个部分 1 我
  • ubuntu latex 编译报错记录

    1 cls缺失 sudo apt get install texlive publishers 2 File algorithmic sty not found sudo apt install texlive science 这里推荐一个
  • 机器学习笔记(7)— 学习率、特征工程、多项式回归

    目录 判断梯度下降是否收敛 如何设置学习率 特征工程 多项式回归 判断梯度下降是否收敛 梯度下降的任务是找到能够使代价函数J最小的参数w和b 通常做法是绘制代价函数图 通过训练集计算出的 并且标出梯度下降每次迭代时J的值 此图中的横轴是梯度