机器学习—特性缩放

news2024/10/18 20:10:07

特性缩放的技术能使梯度下降运行得更快,让我们先来看看功能大小之间的关系,这就是该特性的数字和相关参数的大小,作为一个具体的例子,让我们用两个特征来预测房子的价格,X1代表一个房子的大小,X2代表两个卧室的数量,假设X1通常在300-2000平方英尺之间,X2从0-5个卧室不等,所以在这个例子中,X1具有相对较大的值范围,X2的值范围相对较小。让我们以2000平方英尺的房子为例,有5间卧室,这个训练样本的价格是50万或50万美元,你认为参数大小的合理值是多少,让我们看一组可能的参数。W1=50,W2=0.1,b=50,所以在这种情况下,以千美元为单位的估计价格是10万K+0.5K+50K,所以这显然与50万美元的实际价格相去甚远,这不是一个很好的参数选择集。对于W1和W2,现在让我们看看另一种可能性,一号和二号正好相反,1是0.1,2是50,在W1和W2的选择中b也是50,W1相对较小,W2相对较大,50比0.1大得多,所以这里的预测价格是0.1*2000K+50*5+50,所以这个版本的模型预测价格为50万美元是一个更合理的估计,而且正好和房子的真实价格是一样的,所以希望你能注意到,当一个特性的可能值范围很大时就像平方英尺的大小,一直到2000,一个好的模型更有可能学会选择一个相对较小的参数,像0.1这样的值,同样的,当特征的可能值很小时,比如卧室的数量,那么它的参数的合理值就会比较大,像50。

这与梯度下降有什么关系?,让我们来看看特征的散点图,其中平方英尺的大小是横轴X1,卧室的数量X2在垂直轴上,如果绘制训练数据,你会注意到横轴的比例尺要大得多,或者值的范围要大得多,与垂直轴相比,让我们看看成本函数在等高线图中的样子,你可能会看到一个等高线图,其中水平轴的范围要窄的多,在0和1 之间,而垂直轴的值要大得多,10-100之间,所以等高线形成椭圆形或椭圆形一边短一边长,这是因为对W的一个非常小的变化,会对预估价格产生非常大的影响,对成本J有很大影响,因为w倾向于乘以一个非常大的数,即平方英尺大小。相比之下,为了大大改变预测,W需要更大的变化,因此对W2的小变化,不要改变成本函数。

如果你要进行梯。度下降,如果你用你的训练数据,因为轮廓又高又瘦,梯度下降最终可能会在很长一段时间内来回反弹,在它最终到达全球极小值之前,在这种情况下,要做的一件有用的事情是缩放特性,这意味着队训练数据执行一些转换,所以X1保存现在可能从0-1,X2也可以从0-1,所以数据点现在看起来更像这样,你可能会注意到,底部的地块模型现在与顶部的大不相同,最关键的一点是,X1和X2 现在都取了彼此可比的值范围,如果你在上面定义的成本函数上运行梯度下降,使用这个转换数据重新缩放X1和X2,然后轮廓就会更象这样,更像圆圈,少了高瘦,梯度下降可以找到一条更直接的路径到达全局最小值。

所以回顾一下,当你有不同的功能,具有非常不同的值范围,它会导致梯度下降运行缓慢,但是重新缩放不同的功能,所以它们都具有可比的值范围可以显著加快梯度下降。

如何实现特性缩放?

获取具有非常不同值范围的特性,并对它们进行缩放,使其具有彼此可比的价值范围。如果X1在3000-2000之间,获得X1缩放版本的一种方法是将每一个原始X取一个值除以范围的最大值2000,所以比例X1将从0.15开始到1,同样,因为X2从0-5,可以通过取每个原始的X2来计算X2的缩放版本除以5,这也是最大的,因此,比例X2现在将从0-1,所以如果你在图上绘制缩放的X1和X2 ,可能如下图所示

除了除以最大值,你也可以做所谓的均值正常化,所以这看起来是你从原始功能开始,然后再缩放它们,使它们的中心都在零附近,所以以前它们只有大于零的值,现在它们有负值也有正值,但可能通常在负一和正一之间,所以计算X1的平均归一化,先求平均值,也称为训练集上X1的平均值,让我们把这个叫做刻薄的μ1,例如,每亩地的平均面积是600平方英尺,所以让我们把每个X1-μ1/2000-300,2000是最大的,300是最小的,如果你这么做,你得到了规范化的X1介于-0.18到0.82,类似于平均归一化X2,你可以计算出特征二的平均值,例如μ2=2或3,然后你可以把每一个X2=X2-μ2/5-0,平均归一化X2介于-0.46到0.54,所以如果你用平均归一化X1和X2来绘制训练数据,可能是这样。

最后一种常见的重新标度方法叫做Z分数归一化,实现Z分数归一化,你需要计算每个特征的标准差,如果你不知道标准差是多少,不用担心,这门课不需要你知道,或者你听说过正态分布或者钟形曲线,有时也叫高斯分布,这就是正态分布的标准差,但如果你没听说过这个,你也不用担心,但如果你知道标准差是多少,然后实现Z分数归一化,你先计算平均值和标准差,通常用每个特征的小写希腊字母sigma表示,例如,可能特征一的标准差是450,μ1=600,归一化X1=X1-μ1/sigma1,你会发现Z分数归一化了X1介于-0.67到3.1,同样,如果你计算第二个特征的标准差是1.4,μ2=2000,归一化X2=X2-μ2/sigma2,在这种情况下,由X2归一化的Z分数现在介于-1.6到1.9,所以说,如果将训练数据绘制在归一化的X1和X2上,可能是如下图所示这样的。

作为经验法则,执行功能缩放时,你可能希望将功能范围从周围的任何地方,-1到周围的某个地方加上每个特征X的一个,但是这些值-1和-1可能有点松,所以如果特征范围在-3到3之间或者-0.3-0.3所有这些都是完全可以的,或者如果你有一个不同的功能X2,它的值在-2和5之间,但也许没问题,如果你也不管它,但是如果另一个像X3这样的特征在-100到100之间,然后就有了一个非常不同的值范围,从-1到1,因此,最好将此功能扩展到3,所以它的范围从接近-1到1,同样的,在-0.001到0.001之间,那么这些值就太小了,这意味着你可能也想重订它,最后,如果你的功能X5,例如医院的尺寸,病人的体温从98°到105°不等,在这种情况下,这些值大约是100,与其他比例特征相比,这实际上是相当大的,这实际上会导致梯度下降运行的更慢,因此,在这种情况下,功能缩放可能会有所帮助,进行功能重新缩放几乎没有任何害处,所以当有疑问时,就去执行它,这就是用这个小技术进行功能缩放的内容。你通常可以让梯度下降跑的更快。

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

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

相关文章

python爬取themoviedb电影网站信息

python爬取themoviedb电影网站信息 一、寻找数据接口二、解析主页数据,获取详情页url三、向详情页url发送请求、获取并解析数据四、完整代码一、寻找数据接口 打开网站首页,F12打开开发者工具,刷新页面。 向下滑动页面,点击页面上的“Load More”图标。 寻找到数据接口,…

掘金2.计算位置 x 到 y 的最少步数(简单01)

public class Main {public static int solution(int xPosition, int yPosition) {int diff (yPosition - xPosition);// 计算差值if(diff < 0)diff * -1;int steps 0; // 初始化步数int begin 0;// 初始化当前位置int step 1;//初始化步长// 循环直到到达目标位置while…

DSVPN简介与应用

目录 简介 DSVPN 封装模式 Nomal&#xff08;动态&#xff09;方式建立DSVPN 一、配置缺省包过滤 二、划分区域&#xff08;以总部为例&#xff09; 三、配置IP地址&#xff08;以R1为例&#xff09; 四、配置DSVPN 简介 DSVPN DSVPN&#xff08;Dynamic Secure Vir…

一种3D打印跑车模型LED安全夜灯

我学习入门单片机及3Dmax的副产品&#xff0c;小玩意。MCU用8脚的就好&#xff0c;多脚功能复用&#xff0c;涉及长短按中断、ADC、掉电唤醒及LED切换控制&#xff0c;硬件的充放电监控及光控等等麻雀虽小五脏俱全。发使用指南不是广告&#xff0c;感觉这样才能毫无遗漏的说明其…

动态规划(1)斐波那契数列模型

动态规划算法流程&#xff1a; 1、状态表示&#xff1a; 指的是dp&#xff08;dynamic programming&#xff09;表里面的值所表示的含义 如何得出&#xff1a;1、题目要求 2、经验题目要求 3、分析问题的过程中发现重复子问题 2、状态转移方程 dp[i]等于什么 3、初始化 保证…

RAG拉满-上下文embedding与大模型cache

无论怎么选择RAG的切分方案&#xff0c;仍然切分不准确。 最近&#xff0c;anthropics给出了补充上下文的embedding的方案&#xff0c;RAG有了新的进展和突破。 从最基础的向量查询&#xff0c;到上下文embedding&#xff0c;再到rerank的测试准确度都有了明显的改善&#xf…

【无标题】如何在Costura.Fody生成时排除掉某些dll

有个场景需要排除掉某些dll让他不要打包到exe中,这样做,修改FodyWeavers.xml

配合工具,快速学习与体验electron增量更新

有任何问题&#xff0c;都可以私信博主&#xff0c;共同探讨学习。 正文开始 前言一、如何使用源码1.1 下载代码1.2 下载资源1.3 运行项目 二、如何使用工具2.1 打包新版本更新包2.2 创建nginx文件服务器2.3 在文件服务器保存软件更新包 三、如何测试更新3.1本地运行低版本3.2 …

九、PESocket通信

知识点&#xff1a;高并发 1、下载PESocket 地址&#xff1a;PlaneZhong/PESocket: A C# Network Library. (github.com) 2、示例代码 发过去一个Hello&#xff0c;返回一个hello 当一个客户端关闭了&#xff0c;会出现一个提示 当一个客户端开启&#xff0c;会显示已连接 3…

运放类公式计算

简介 很多运放的GAIN采用dB的方式表达放大倍数&#xff0c;然而我们有时候习惯使用电压的倍数代表运放放大关系&#xff0c;本章主要简单介绍dB与电压转换的关系。 例如某运放的放大倍数如下&#xff1a; G1G2GAIN(dB)0029.60119.110131116 以上放大倍数我们无法知道输入的信号…

有趣的在线可视化网站:探索神经网络与矩阵运算

有趣的在线可视化网站&#xff1a;探索神经网络与矩阵运算 文章目录 有趣的在线可视化网站&#xff1a;探索神经网络与矩阵运算一 TensorFlow Playground 神经网络二 Symbolab 的矩阵迹计算器三 Matrixmultiplication 可视化教学工具 本文推荐了几个非常有趣且实用的在线可视化…

sql实战解析-sum()over(partition by xx order by xx)

该窗口函数功能 sum( c )over( partition by a order by b) 按照一定规则汇总c的值&#xff0c;具体规则为以a分组&#xff0c;每组内按照b进行排序&#xff0c;汇总第一行至当前行的c的加和值。 从简单开始一步一步讲&#xff0c; 1、sum( )over( ) 对所有行进行求和 2、sum(…

静态站点生成器哪家强?

有一种方法&#xff0c;让你写好文档后&#xff0c;快速地让同事、用户和合作伙伴看到&#xff0c;这就是静态站点生成器。 静态站点生成器是一种软件&#xff0c;用于创建不需要服务器端脚本的网站。这些网站由纯HTML文件组成&#xff0c;可能还包括CSS和JavaScript来增强功…

【PhpSpreadsheet】ThinkPHP5+PhpSpreadsheet实现批量导出数据

目录 前言 一、安装 二、API使用 三、完整实例 四、效果图 前言 为什么使用PhpSpreadsheet&#xff1f; 由于PHPExcel不再维护&#xff0c;所以建议使用PhpSpreadsheet来导出exlcel&#xff0c;但是PhpSpreadsheet由于是个新的类库&#xff0c;所以只支持PHP7.1及以上的版…

如何激活Windows server服务器

步骤&#xff1a; 一、用VMware虚拟机安装了Windows server服务器之后的状态 图1-1 查看Windows server2019 系统信息 图1-2 在桌面上查看个性化&#xff0c;提示系统未激活 二、激活的步骤&#xff1a; 1.找激活工具 图1-2 寻找激活工具并准备拖拽到虚拟服务器中 2.解压…

【服务器虚拟化是什么?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

微信小程序使用MQTT连接阿里云

目录 一、新建项目和项目整体配置​ 二、MQTT 下载引入和配置连接​ 三、阿里云配置 1、创建产品及设备 2、数据进行云流转 四、创建 MQTT 连接​ 五、微信小程序配置 六、效果展示 1、微信小程序发送控制命令 2、LED台灯反馈LED状态 七、微信小程序项目完整代码 一…

不同晶圆厂的简单分析

以下是各类晶圆厂的投资情况、技术特点、应用场合、代表性公司以及建厂难度分析: 1. 先进逻辑芯片制造商: ->投资情况:台积电在美国亚利桑那州凤凰城的5nm半导体厂,三年总投资约120亿美元。 ->技术特点:使用最先进的制程技术,如5nm、3nm等,包括极紫外(EUV)光…

《太吾绘卷》风灵月影游戏辅助好不好用?《太吾绘卷》风灵月影游戏辅助功能 全解析

太吾绘卷风灵月影修改器可调整游戏多项数据&#xff0c;助力玩家轻松过关。启动游戏后&#xff0c;按数字键1开启无敌模式&#xff0c;数字键2锁定时间&#xff0c;数字键3实现物品不消耗&#xff0c;Ctrl数字键1则能获得无限银钱等功能&#xff0c;为玩家提供全方位的游戏辅助…

如何删除Maven

1.找到Maven安装路径 方法一&#xff1a; 可以直接在文件资源管理器里面选中“此电脑”然后右上角搜“apache-maven”&#xff0c;这个过程可能长达几分钟甚至更久 方法二&#xff1a; 这里推荐一个名叫“Everything”的软件&#xff0c;能够快速的查找到需要的文件 2.找到本…