归一化php,机器学习---为什么要对数据进行归一化处理?

机器学习---为什么要对数据进行归一化处理?

归一化化定义:我是这样认为的,归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。

方法有如下:

1、线性函数转换,表达式如下:

y=(x-MinValue)/(MaxValue-MinValue)

说明:x、y分别为转换前、后的值,MaxValue、MinValue分 别为样本的最大值和最小值。

2、对数函数转换,表达式如下:

y=log10(x)

说明:以10为底的对数函数转换。

3、反余切函数转换,表达式如下:

y=atan(x)*2/PI

4、式(1)将输入值换算为[-1,1]区间的值,在输出层用式(2)换算回初始值,其中 和分别表示训练样本集中负荷的最大值和最小值。

在统计学中,归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。

在喂给机器学习模型的数据中,对数据要进行归一化的处理。

为什么要进行归一化处理,下面从寻找最优解这个角度给出自己的看法。

例子

假定为预测房价的例子,自变量为面积,房间数两个,因变量为房价。

那么可以得到的公式为:

其中

代表房间数,

代表

变量前面的系数。

其中

代表面积,

代表

变量前面的系数。

首先我们祭出两张图代表数据是否均一化的最优解寻解过程。

未归一化:

归一化php,机器学习---为什么要对数据进行归一化处理?_第1张图片

归一化之后

归一化php,机器学习---为什么要对数据进行归一化处理?_第2张图片

为什么会出现上述两个图,并且它们分别代表什么意思。

我们在寻找最优解的过程也就是在使得损失函数值最小的theta1,theta2。

上述两幅图代码的是损失函数的等高线。

我们很容易看出,当数据没有归一化的时候,面积数的范围可以从0~1000,房间数的范围一般为0~10,可以看出面积数的取值范围远大于房间数。

影响

这样造成的影响就是在画损失函数的时候,

数据没有归一化的表达式,可以为:

造成图像的等高线为类似椭圆形状,最优解的寻优过程就是像下图所示:

归一化php,机器学习---为什么要对数据进行归一化处理?_第3张图片而数据归一化之后,损失函数的表达式可以表示为:

其中变量的前面系数几乎一样,则图像的等高线为类似圆形形状,最优解的寻优过程像下图所示:

归一化php,机器学习---为什么要对数据进行归一化处理?_第4张图片

从上可以看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

这也是数据为什么要归一化的一个原因。

机器学习---为什么要对数据进行归一化处理? 相关文章

GPU---并行计算利器

简介: 源于阿里巴巴CCO《猿来如此》分享1?GPU是什么? ? ? 如图1所示,这台PC机与普通PC机不同的是这里插了7张显卡,左下角是显卡,在中间的就是GPU芯片。显卡的处理器称为图形处理器(GPU),它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复杂的数学

笔谈Github上新鲜出炉的深度学习系统mxnet的中文介绍

简介: 凌晨时看到一篇,新鲜出炉的深度学习系统mxnet的文章。关键已经有了中文介绍,译者是[email protected],地址在https://github.com/dmlc/mxnet/issues/797。 内容如下: MXNet设计和实现简介 神经网络本质上是一种语言,我们通过它来表达对应用问题的理

学习:ThinkPHP部署目录

下面由 thinkphp 框架教程栏目给大家介绍ThinkPHP部署目录,希望对需要的朋友有所帮助! 一、问题:根据文档2.2.3部署目录说明写项目时对目录结构很是迷惑 二、解决:(官方给出两种部署方案) 1. 官方推荐方案 官方推荐方案:(目录如下图) 操作 步骤: 1.1

js高级用法----手写js原生方法

1、call 方法 /* * * _call * * @param { context } context * @param { arguments } arguments */ Function.prototype._call = function (context) { // 如果没有传或传的值为空对象 context指向window context = context || window let fn = Symbol(contex

Python学习系列之数据结构(七)

一、程序的组织结构 1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以有顺序结构、选择结构和循环结构这三种基本结构组合而成 二、程序的顺序结构 顺序结构:程序从上到下顺序的执行代码,中间没有任何的判断和跳转,直到程序执行完成 举

网络流学习笔记

网络流学习笔记 最新update:2020.11.19:初学网络流,包括最大流的Edmonds-Karp算法 上次update:NULL 写博客(×) 试图理解算法(√) 1.什么是网络流: 这里可以举一个生动形象的例子: 某个村庄刚刚引进了一套水利系统。整个系统价值1,000,000,000,000

已经过去的2018以及不能颓废的2019(上)

--- title: 已经过去的2018以及不能颓废的2019(上) date: 2019-01-10 22:43:03 tags: 随笔 categories: - 杂谈 --- Hi there 现在是2019年1月10日夜。之前看过很多人的2018年度总结,拖到现在才开始写自己的。 我想我还是没变,还是爱笑爱闹爱耍宝逗乐,还

学习python能做什么

学习python能做的有:1、Python可用于开发基于控制台的应用程序;2、Python在多媒体部分开发,证明是非常方便的;3、Python也可以用于开发基于Web的应用程序;4、使用python处理数据;5、系统编程等等。 相关免费学习推荐:python视频教程 学习python能做的

学习在python中实现自动导入缺失的库

python教程栏目介绍实现自动导入缺失的库。 导入失败问题,通常分为两种:一种是导入自己写的模块(即以 .py 为后缀的文件),另一种是导入三方库。本文主要讨论第二种情况,今后有机会,我们再详细讨论其它的相关话题。 解决导入 Python 库失败的问题,其实

汇编语言是面向机器的语言吗

汇编语言是面向机器的程序设计语言。汇编语言是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。 机器语言 计算机的硬件作为一

机器学习---为什么要对数据进行归一化处理? 图文文章

归一化php,机器学习---为什么要对数据进行归一化处理?_第5张图片素数筛——详解

素数筛——详解 判断一个数是否是素数,首先我们明晰素数的概念。 素数:素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 暴力 由此我们可以从2遍历到x-1,判断x能否被整除,写出最简单暴力的IsPrime(int x) bool I

归一化php,机器学习---为什么要对数据进行归一化处理?_第6张图片超简单的openCV4环境配置教程

超简单的openCV4环境配置教程 目录结构 openCV4.4+VS2017+win10 配置包含目录 配置库目录 配置链接器 配置环境变量 运行测试代码 1.openCV4.4+VS2017+win10 1.1.openCV环境准备 去官网下载opencv4.4版本,选择windows的opencv版本 解压放在设定的目录下 1.2.V

归一化php,机器学习---为什么要对数据进行归一化处理?_第7张图片linux如何查看登录日志

具体命令: (推荐教程:linux教程) last -f /var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。 该日志文件可以用来查看用

归一化php,机器学习---为什么要对数据进行归一化处理?_第8张图片Interacting with browser

Interacting with browser We can get an element reference from the DOM,so that we can interacte with the page. document is created by the browser

你可能感兴趣的:(归一化php)