机器学习----特征缩放

news2024/10/5 18:24:31

目录

一、什么是特征缩放:

二、为什么要进行特征缩放?

三、如何进行特征缩放:

        1、归一化:

        2、均值归一化:

        3、标准化(数据需要符合正态分布):


一、什么是特征缩放:

        通俗来讲就是将原本由于数据规范化的单位,导致所训练的数据集中各种数据的无单位数值差距较大,而我们通过归一化处理等方式使得数据范围均稳定在一个较小区间的过程。

二、为什么要进行特征缩放?

        我看了许多文章,就好比我们常常会由于其过于突出的一面而片面理解某个事物一样,对于值大的一方,我们会不知觉地倾向过去。对于这个点我们最好还是从一个等高线图来进行理解:

        以吴恩达老师的例子来说明,假设其购房:

总平方米:300平~2000平房间数量:1间~5间
w_1 = 50w_2 = 0.1
w_1 = 0.1w_2 = 50

        同时我们假设b = 50,对于其2000平米,5个房间的房子,其正常的价格为50万:

那么我们带入列表中两组不同的w1和w2,可以发现,其数值较大的因素:总平方*50 + 房间*0.1求得的值约为10万元,而另一组则大约为50万元。

        我们可以发现:我们更希望一个数值越小的,其对应的系数应该越大,那这与梯度下降有什么关系呢?

        我们这是便从等高线图中来理解:

        这个是其对应的J(\vec{w},b)  的等高线图,那么我们可以看看梯度下降需要走到其中最小点的话,他可能会怎么走: 

        由于size对应的轴范围太短,room对应的轴由过于长,要想通过梯度下降得到一能满足条件的最小值可能就会出现这种状况,导致其收敛减慢。 这便是为什么我们需要进行特征缩放,而如果图中并非椭圆而是圆形,其效果就是最好的情况。

        同时我们也可以结合欧氏距离进行理解。

三、如何进行特征缩放:

        1、归一化:

x^{'} = \frac{x - min(x)}{max(x) - min(x)} 

        其对应的取值区间为[0,1],当然也有更加灵活的形式:

x^{'} = a + \frac{x - min(x)}{max(x) - min(x)}(b - a)

        其对应的取值区间为[a,b],一般来说,a,b的值不要过大也不要过小,其 [-5 , 5] 都是适合的。

        2、均值归一化:

x^{'} = \frac{x - \bar{x}}{max(x) - min(x)}

        3、标准化(数据需要符合正态分布):

x^{'} = \frac{x - \bar{x}}{\sigma }

        其中分母对应x的标准差,其实这个式子就是正态分布的标准化的公式:

x^{'} = \frac{x - \mu}{\sigma }

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

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

相关文章

C++_day6

思维导图: 2试编程 封装一个动物的基类,类中有私有成员: 姓名,颜色,指针成员年纪 再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数(整型 int count),共有成员函数…

GAMES101 学习 2

Lecture 7:Shading 1(lllumination,Shading and Graphics Pipeline) Visibility / occlusion 解决可见性和遮挡的问题 可见性,Z-buffering Z-Buffer 深度缓存 Idea: Store current min. z-value for each sample (pixel)Needs an additi…

MS16_016 漏洞利用与安全加固

文章目录 环境说明1 MS16_016 简介2 MS16_016 复现过程3 MS16_016 安全加固 环境说明 渗透机操作系统:kali-linux-2024.1-installer-amd64漏洞复现操作系:cn_windows_7_professional_with_sp1_x64_dvd_u_677031 1 MS16_016 简介 MS16_016 漏洞产生的原因…

类和对象-1

文章目录 面向过程和面向对象的概念类的引入访问限定符类的大小this指针 面向过程和面向对象的概念 面向过程是一种按照步骤顺序执行的编程方式,而面向对象则是以对象为中心,将数据和操作封装在一起。在面向对象编程中,可以通过定义类和对象来…

MySQL--为什么加了唯一索引还会产生重复数据

场景: 我在一张表里设置了唯一索引,但是我发现还是出现了重复数据,这是什么情况呢,难道唯一索引失效了? 准备数据: -- dc_portal.user definitionCREATE TABLE user (id bigint unsigned NOT NULL AUTO_…

XPath语法、轴、运算符-满满干货拿走不谢

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…

‘wget’与‘bat 批处理’ 相结合的批量下载操作

前言 wget命令是一个在Linux和类Unix操作系统中经常使用的网络命令,用途是从指定的URL下载文件。它支持HTTP、HTTPS和FTP协议,支持断点续传,可以下载整个网站,当然windows环境下也可以使用,参考地址:GNU W…

几个不错的 Jupyter Notebook 云端展示平台

jupyter nbviewer URL:https://nbviewer.jupyter.org/ 结合Github的示例用法&#xff1a;https://nbviewer.jupyter.org/github/ <用户名或者用户名/存放ipynb文件的仓库或者Gist ID> 例如&#xff1a;https://nbviewer.jupyter.org/github/yeshan333/JupyterNotebook…

Springboot和Spring Cloud版本对应

Spring在不断地升级&#xff0c;各个版本存在一些不兼容的地方&#xff0c;为了避免出现问题&#xff0c;最好注意使用正确的版本。 官网的对应关系&#xff1a;https://start.spring.io/actuator/info 如下图&#xff1a; 下面附一下创建项目的工具&#xff1a; Spring官方…

信号量——生产消费者模型

前文 在这一篇博客&#xff08;信号量博客&#xff09;中我曾经提及过信号量的知识&#xff0c;而当对信号量进行提炼总结时&#xff0c;大致是以下三点&#xff1a; 1. 信号量本质是一个计数器&#xff08;代表资源的数量&#xff09; 2. 申请信号量本质就是对资源的一种预定机…

文件系统I/O FATFS RW 源码分析

文件系统I/O FATFS RW 源码分析 0 参考 FatFs 是用于小型嵌入式系统的通用 FAT/exFAT 文件系统模块。FatFs 整个项目都按照 ANSI C (C89) 编写。与存储器 I/O 解耦良好&#xff0c;便于移植到 8051、PIC、AVR、ARM、Z80、RX 等小型微控制器中。 下面是关于 FAT 文件系统格式…

Auto-DataProcessing:一组让制作数据集变轻松的脚本

前言 最近跟同学参加了个比赛&#xff0c;我负责Object-Detection的技术实现&#xff0c;需要从网上扒大量的数据(主办方每种识别物就给了一张demo&#x1f923;)&#xff0c;发现数据准备是一个真的是一个非常重要但又耗时耗力的过程。对我来说&#xff0c;给我一类待识别的标…

蓝桥之手撕排序算法——冒泡、选择、插入、快排、归并(Python版)

目录 1. 排序引言 2. 冒泡排序 2.1 算法思想 2.2 代码实现 2.3 时空复杂度分析 3. 选择排序 3.1 算法思想 3.2 代码实现 3.3 时空复杂度分析 4. 插入排序 4.1 算法思想 4.3 代码实现 4.4 时空复杂度分析 5. 快速排序 5.1 算法思想 5.2 代码实现 5.3 时空复杂度分…

upload-labs 0.1 靶机详解

下载地址https://github.com/c0ny1/upload-labs/releases Pass-01 他让我们上传一张图片&#xff0c;我们先尝试上传一个php文件 发现他只允许上传图片格式的文件&#xff0c;我们来看看源码 我们可以看到它使用js来限制我们可以上传的内容 但是我们的浏览器是可以关闭js功能的…

【开发】SpringBoot 整合 Redis

目录 前言 1. Redis 的下载及安装 1.1 Redis 的下载 1.2 安装 Redis 1.3 启动 Redis 2. 创建 SpringBoot 项目整合 Redis 2.1 环境要求 2.2 SpringBoot项目构建 2.2.1 方式一 2.2.2 方式二 2.3 在 pom.xml 文件中导入依赖坐标 2.4 在 application.properties 中加…

解释器模式(Interpreter Pattern)

解释器模式 说明 解释器模式&#xff08;Interpreter Pattern&#xff09;属于行为型模式&#xff0c;是指给定一门语言&#xff0c;定义它的语法&#xff08;文法&#xff09;的一种表示&#xff0c;并定义一个解释器&#xff0c;该解释器使用该表示来解释语言中的句子。是一…

CVX安装新版本Mosek求解器

在使用连续凸近似&#xff08;SCA&#xff09;求解优化问题时遇到了报错 Problem status : ILL_POSED Solution status : PRIMAL_ILLPOSED_CER并且最后给出的结果为NaN。 在CVX论坛中找到一条回答 具体链接如下&#xff1a; The status is failed 因为我使用的是CVX自带的…

批量查询快递信息,固乔助手助您高效处理

在物流、供应链等行业&#xff0c;每天都需要处理大量的快递信息。无论是物流公司还是供应链企业&#xff0c;都需要实时掌握每一个包裹的状态和位置。然而&#xff0c;当面对成千上万的快递单号时&#xff0c;如何高效地查询这些信息成为了一个亟待解决的问题。 传统的查询方式…

IDEA直接打包Docker镜像

以下为使用IDEA打包Docker镜像并推送到远程仓库&#xff08;使用Windows打包Docker镜像并推送到远程仓库&#xff09;教程 1 安装Docker Desktop 下载地址&#xff1a;https://www.docker.com/products/docker-desktop/ 安装成功后&#xff0c;可在cmd查看版本号 2 启动Do…

Machine Learning ---- Feature Scaling

目录 一、What is feature scaling:&#xff1a; 二、Why do we need to perform feature scaling? 三、How to perform feature scaling: 1、Normalization: 2、Mean normalization: 3、Standardization (data needs to follow a normal distribution): 一、What is featur…