模型优化—输入特征归一化处理

news2024/9/25 1:22:40
一、normalization

归一化(规范化)是对输入数据进行处理,使其满足某种规范。

前提:线性变换,不会改变原始数据的数值顺序。

假设原值分布在第一象限的某区间,并且x轴间距较广(离散),y轴距离较窄(集中)。

在这里插入图片描述

二、零均值

第一步使数据集的平均值成为0,方法为:使每个样本减去当前的平均值。采用以下两个公式进行:

  • u = 1/m * sum[ X(i) ],i = 1…m(求出当前平均值)
  • X= X - u

处理值将分布在以原点为中心的区间。

在这里插入图片描述

原理说明:求出矩阵所有元素的平均值,每个元素都减去平均值,从而使得矩阵整体减去了[平均值 * 元素个数],相当于矩阵整体减去了所有元素的累加和,从而使得平均值为0。

三、一方差

第二步使数据集方差变成1,方差衡量离散程度,方差大,说明离散程度大。通过以下方法处理(注意,X为零均值后的X):

a = 1/m * sum[ X(i) ^ 2 ],i= 1…m

X = X / a

处理值会收窄x轴的间距,加长y轴的间距,减小离散与适当扩大原集中,使其整体离散小。

在这里插入图片描述

原理说明:

Var(X) = 1/m * sum [ ( X(i) - X‘)^2 ],i=1…m,X’为X元素的平均值

Var(X) = 1/m * sum [ X(i)^2 ],i=1…m,因X’为0(零均值化后)

故a为X的方差值。

Var(X/a) = 1/m * sum [ ( X(i)/a ) ^2 ],同理X/a均值也为0。

Var(X/a) = 1/m * sum [ X(i)^2 ] * 1/a^2

Var(X/a) = 1/m * sum [ X(i)^2 ] * 1/( 1/m * sum[ X(i) ^ 2 ] )^2

分子分母都有 1/m * sum [ X(i)^2 ],则约分后为 1/( 1/m * sum [ X(i)^2 ] ) = 1/a

由于a为X的方差值,X/a的方差值为1/a,相当于同比缩放a倍,故X/a的方差值为1(X的方差值除以X的方差值)。

三、注意事项

对训练集的输入特征进行了规范化,对测试集以及实际应用也需要进行规范化。并且a/u为训练集计算出的。 (测试集不要再去计算a、u,因为数据量小,计算出来的不够泛化)

四、归一化的原因

把输入特征强行映射到均值0,方差1的标准正太分布,可以使得输入值落在激活函数对输入比较敏感的区域。(激活函数在0附近梯度比较大)因为X的离散程度大了,会导致成本函数离散也大,从而找最小值比较繁琐。故归一化可以使得梯度下降更快,从而提升学习速度。

由于不知道输入特征的离散程度,故一般都对输入特征做归一化处理。

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

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

相关文章

QT动态添加布局以及删除布局

具体代码示例如下 : QHBoxLayout* hLayout new QHBoxLayout;hLayout->addWidget(new QLabel("444"));hLayout->addWidget(new QLineEdit("444"));hLayout->addWidget(new QPushButton("444"));layout->addLayout(hLayou…

Axure Web端元件库:从Quick UI到500+组件的飞跃

在快速变化的数字世界中,产品设计不仅仅是功能的堆砌,更是用户体验的精心雕琢。原型设计作为产品开发过程中的关键环节,其重要性不言而喻。Axure,作为业界领先的原型设计工具,凭借其强大的交互设计和丰富的功能&#x…

Masked Autoencoders for Point CloudSelf-supervised Learning

关于SSL中的MAE方法。 摘要 文章介绍了一种新的技术,叫做MAE,在帮助计算机自己学习理解语言和图片方面做得非常好。受到这个技术的启发,它用在了点云上。点云是一堆代表三维空间中某些点的数据,这种数据有时候会有点难处理&…

机器学习笔记-02-基础线性算法认识(问题-解答自查版)

前言 以下问题以Q&A形式记录,基本上都是笔者在初学一轮后,掌握不牢或者频繁忘记的点 Q&A的形式有助于学习过程中时刻关注自己的输入与输出关系,也适合做查漏补缺和复盘。 本文可以让读者用作自查,答案在后面&#xff0…

尚庭公寓开发(二)

任何二进制和子网掩码进行一个与运算 得到是子网ip的话就是属于子网ip的范围 任何数字和一做与运算都是他本身 和0做运算都是0 所以要得到子网ip的话他的前面必须是 192.168.200 最后是0-255之间的范围 0不能取 0是子网本身 255也不能用 因为他是广播地址 真正可以使用 的范…

[数据集][目标检测]躺坐站识别检测数据集VOC+YOLO格式9488张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):9488 标注数量(xml文件个数):9488 标注数量(txt文件个数):9488 标注…

Python升级打怪—Django入门

目录 一、Django简介 二、安装Django 三、创建Dajngo项目 (一) 创建项目 (二) 项目结构介绍 (三) 运行项目 (四) 结果 一、Django简介 Django是一个高级Python web框架,鼓励快速开发和干净、实用的设计。由经验丰富的开发人员构建,它解决了web开…

机器学习 | 分类算法原理——感知机

Hi,大家好,我是半亩花海。接着上次的内积继续更新《白话机器学习的数学》这本书的学习笔记,在此分享感知机这一回归算法基础。本章的回归算法基础基于《基于图像大小进行分类》项目,欢迎大家交流学习! 目录 一、感知机…

阿里云-物联网平台-IoT设备MQTT通信

阿里云-物联网平台-IoT设备MQTT通信 登录阿里云物联网平台创建产品添加设备查看设备客户端登录 登录阿里云 阿里云 注册账号,实名认证这些按提示操作即可不在赘述。 物联网平台 选择产品》物联网》物联网平台 进入管理控制台界面 开通服务 选择开通公共实例测试环…

oracle中存储过程的写法

存储过程常规语法: 实际业务例子: CREATE OR REPLACE TRIGGER "TRI_B00_02_ONLY_GUID" BEFORE/AFTER INSERT OR UPDATE OR DELETE ON B00_02 FOR EACH ROW declare t_guid varchar2(300) : ; --GUID t_cnt int : 0; BEGIN t_guid : :NEW…

Oracle核心进程详解并kill验证

Oracle核心进程详解并kill验证 文章目录 Oracle核心进程详解并kill验证一、说明二、核心进程详解2.1.PMON-进程监控进程2.2.SMON-系统监控进程2.3.DBWn-数据库块写入进程2.4. LGWR-日志写入器进程2.5. CKPT-检查点进程 三、Kill验证3.1.kill ckpt进程3.2.kill pmon进程3.3.kill…

Spring MVC笔记

Java 版本: JDK17 Eclipse: eclipse-jee-2023-12-R-win32-x86_64.zip Tomcat 10 JDK17采用springframework 6 *必须考虑兼容性问题&#xff0c;所以JDK 和spring framework不要乱搭配 初步创建Maven Project 安装包 修改poem.xml <dependency><groupId>org.sprin…

Spark实时(五):InputSource数据源案例演示

文章目录 InputSource数据源案例演示 一、​​​​​​​File Source 1、读取text文件 2、读取csv文件 3、读取json文件 二、Socket Source 三、Rate Source InputSource数据源案例演示 在Spark2.0版本之后&#xff0c;DataFrame和Dataset可以表示静态有边界的数据&am…

客户服务知识库最佳实践 7 个步骤

介绍 每个公司的声誉都依赖于其客户。 如果全世界都向你敞开了大门&#xff0c;但你最终在与客户打交道方面做得很糟糕&#xff0c;那么消息就会传出去&#xff0c;无论你的捕鼠器有多好&#xff0c;你都会失去销售。 正如营销依赖于与潜在客户的关系一样&#xff0c;公司的…

【Linux】信号3——信号的捕捉

1.信号的捕捉 我们都说信号被收到了&#xff0c;可能不会立马处理 信号是什么时候被处理的呢&#xff1f; 前提是我们得知道自己收到了信号&#xff0c;进程就得在合适的时候去查自己的pending表和block表&#xff0c;这些属于内核数据结构&#xff0c;进程一定要处于内核态&a…

Easy es问题总结

官网教程&#xff1a;https://www.easy-es.cn/pages/ac41f0/#settings 一 测试项目 1 pom <dependencies><!-- 排除springboot中内置的es依赖,以防和easy-es中的依赖冲突--><dependency><groupId>org.springframework.boot</groupId><artifa…

Java语言程序设计基础篇_编程练习题*15.26 (改变透明度)

*15.26 (改变透明度) 重写编程练习题15.24&#xff0c;当球摆动的时候改变球的透明度 思路&#xff1a;很简单&#xff0c;改写编程练习题15.24&#xff0c;为小圆Circle添加一个FadeTransition&#xff0c;再把暂停和开始方法设置在鼠标事件中 代码示例&#xff1a;编程练习…

基于多种机器学习的豆瓣电影评分预测与多维度可视化【可加系统】

有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 在本研究中&#xff0c;我们采用Python编程语言&#xff0c;利用爬虫技术实时获取豆瓣电影最新数据。通过分析豆瓣网站的结构&#xff0c;我们设计了一套有效的策略来爬取电影相关的JSON格式数据。…

鸿蒙(HarmonyOS)自定义Dialog实现时间选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0&#xff08;API 9&#xff09; 二、效果图 三、代码 SelectedDateDialog.ets文件/*** 时间选择*/ CustomDialog export struct SelectedDateDialog {State selectedDate:…

【数据结构初阶】单链表经典算法题十二道——得道飞升(上篇)

目录 1、移除元素 2、反转链表 3、链表的中间节点 4、合并两个有序链表 Relaxing Time&#xff01;&#xff01;&#xff01; ———————————————— 天气之子幻 ———————————————— 1、移除元素 思路&#xff1a; 创建一个新链表&#xff0…