MachineLearning(5)-去量纲:归一化、标准化
去量纲:归一化、标准化
- 1.归一化(Normalization)
- 1.1 Min-Max Normalization
- 1.2 非线性Normalization
- 2.标准化(Standardlization)
- 2.1 Z-score Normalization
- 3.标准化在梯度下降算法中的重要性
本博文为葫芦书《百面机器学习》阅读笔记。
去量纲化 可以消除特征之间量纲的影响,将所有特征统一到一个大致相同的数值区间内;以便不同量级的指标能够进行比较和加权处理。
去量纲化的好处:
(1).使得不同量纲之间的特征具有可比性,消除量纲引起的特征数值量级对分析结果的影响;
(2).未归一化的特征数值太大,将引起数值计算问题;
(3).利用梯度下降算法求解的模型,输入特征数据通常需要归一化处理(线性回归,逻辑回归,支持向量机,神经网络模型),可以加速算法的收敛过程。
去量纲化的方法:
两类常用的方法:归一化、标准化
1.归一化(Normalization)
1.1 Min-Max Normalization
x′=x−XminXmax−Xminx'=\frac{x-X_{min}}{X_{max}-X_{min}}x′=Xmax−Xminx−Xmin
作用: 将原始特征数据线性映射到[0,1]
优点: 线性变换,对数据进行处理,不会改变原有数据的性质
缺点: 新数据加入,Xmin,XmaxX_{min},X_{max}Xmin,Xmax可能会发生变化,所有数据需要重新进行归一化处理。
1.2 非线性Normalization
对数变换:x′=logxx'=\log xx′=logx
反正切变换:x′=2πarctanxx'=\frac{2}{\pi}\arctan xx′=π2arctanx
适用情况:用于数据分化较大的场景,有些数据很大,有些数据很小 。需要依据数据分布情况,决定使用的非线性函数。
2.标准化(Standardlization)
2.1 Z-score Normalization
零均值标准化
x′=x−μσx'=\frac{x-\mu}{\sigma}x′=σx−μ
其中:μ\muμ 原始数据均值,σ\sigmaσ原始数据标准差 (数据量很大的情况下,这两个统计量对 加入新数据 不敏感,故可以处理新添加数据的情况);x−μx-\mux−μ 为数据中心化,将数据中心平移到原点。
适用情况: 原始数据分布接近正态分布,将原始数据 标准化 为均值为0 ,方差为1 的分布。
优点: 线性变换,对数据进行处理,不会改变原有数据的性质
3.标准化在梯度下降算法中的重要性
参考博文:通俗易懂理解特征归一化对梯度下降算法的重要性https://blog.csdn.net/feijie7788/article/details/89812737
涉及数学知识:
1.一个三维曲面z=f(x,y)z=f(x,y)z=f(x,y)被一系列平面z=cz=cz=c所截得到一系列等值线。
2.曲面上某点P 梯度方向 定义:函数在该点增长最快的方向。
通过方向导数与fxf_xfx和fyf_yfy的关系得出函数在P点增长最快的方向为:(fx,fy)(f_x,f_y)(fx,fy),即为梯度方向。
3.等值线上 P点法线方向,垂直于P点切线方向。P点切线方向(dx,dy)(dx,dy)(dx,dy),斜率为dydx\frac{dy}{dx}dxdy, 由隐函数求导规则可得dydx=−fxfy\frac{dy}{dx}=-\frac{f_x}{f_y}dxdy=−fyfx. 则法线斜率为fyfx\frac{f_y}{f_x}fxfy,即,法线方向为(fx,fy)(f_x,f_y)(fx,fy) .所以曲线上某点的梯度方向,与过该点的等值线的法线方向相同。
4.c=f(x,y)隐函数求导:(两边同时对x求导)
0=∂f∂x+∂f∂ydydx=>dydx=−fxfy0=\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}\frac{dy}{d x}=>\frac{dy}{d x}=-\frac{f_x}{f_y}0=∂x∂f+∂y∂fdxdy=>dxdy=−fyfx
5.相互垂直两个向量a=(x1,y1),b=(x2,y2)a=(x_1,y_1),b=(x_2,y_2)a=(x1,y1),b=(x2,y2),夹角θ\thetaθ
内积定义垂直关系:∣a∣∣b∣cosθ=0|a||b|\cos \theta=0∣a∣∣b∣cosθ=0
坐标垂直关系:x1x2+y1y2=0x_1x_2+y_1y_2=0x1x2+y1y2=0(带入a=x1i+y1j,b=x2i+y2j,a∗b计算a=x_1i+y_1j,b=x_2i+y_2j,a*b计算a=x1i+y1j,b=x2i+y2j,a∗b计算)
两向量与x轴夹角正玄值关系:−1=y2x2y1x1-1=\frac{y_2}{x_2} \frac{y_1}{x_1}−1=x2y2x1y1
参考博文:
1.梯度方向与等高线方向垂直的理解:https://blog.csdn.net/bitcarmanlee/article/details/85275016
2.等值线与梯度的几何意义:https://jingyan.baidu.com/article/da1091fb475551027849d6b7.html
3.一文读懂梯度下降算法(各种导数):https://www.cnblogs.com/hithink/p/7380838.html
4.据预处理之中心化(零均值化)与标准化(归一化):https://www.cnblogs.com/wangqiang9/p/9285594.html
5.归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered)(简书):https://www.jianshu.com/p/95a8f035c86c
MachineLearning(5)-去量纲:归一化、标准化相关推荐
- 【机器学习】 - 数据预处理之数据归一化(标准化)与实战分析,正则化
一.为什么要进行数据归一化 定义:把所有数据的特征都归到 [0,1] 之间 或 均值0方差1 的过程. 原则:样本的所有特征,在特征空间中,对样本的距离产生的影响是同级的: 问题:特征数字化后,由于 ...
- 数据预处理之归一化/标准化/正则化/零均值化
数据预处理之归一化/标准化/正则化/零均值化 一.标准化(Standardization) 二.归一化(Normalization) 三,中心化/零均值化 (Zero-centered) 四.正则化 ...
- 第五章:量化研究专题(第五篇:数据处理专题:去极值、标准化、中性化 )
导语:一般的数据预处理中常提及到三类处理:去极值.标准化.中性化.我们将向大家讲述这常见的 三种数据处理操作. 一.去极值 在分析上市公司当季净利润同比增长率数据时,我们往往会被其中一些公司的数据干扰 ...
- 解读:为什么要做特征归一化/标准化?
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:shine-lee,编辑:极市平台 本文解读了一项数据预处理中的重 ...
- 关于你不知道的特征归一化/标准化
目录 1. Feature scaling 的必要性 2. 常用的Feature scaling方法有什么 3. 什么时候需要feature scaling 4. 什么情况不需要Feature 1. ...
- 为什么要做特征归一化/标准化?
作者:shine-lee 来源:极市平台公众号 链接:https://blog.csdn.net/blogshinelee/article/details/102875044 编辑:王萌(深度学习冲鸭 ...
- 因子去极值和标准化_Barra_python_数据分析_12
#因子去极值及标准化 def normal(a):a = a.TFunc = lambda a:(a-a.mean())/a.std()norm = a.apply(Func)norm = norm. ...
- python 数据归一化/标准化方法与代码(离差标准化,log归一化,标准化,比例归一化,反正切归一化)
下面是一些常用的归一化.标准化的方法: 离差标准化 log归一化 标准化 比例归一化 反正切归一化 代码示例 import numpy as npdef min_max_normalization(v ...
- 梯度消失与归一化/标准化
神经网络激活函数选用sigmoid或者tanh的时候,当输入很大,可能会遇到梯度消失情况: 途中虚线外的区域我们叫: saturation area 饱和区域. 处理方式有两种: 对神经网络输入做归一 ...
最新文章
- 学习ID,ClientID,UniqueID
- del rd命令行下删除文件不需要确认
- Windows Server 笔记之远程桌面
- 使用Transformers离线模型(以bert模型为例)
- [转]Asp.Net下导出/导入规则的Excel(.xls)文件
- 项目在云服务器上的绝对路径,项目在云服务器上的绝对路径
- 全国青少年编程等级考试scratch三级真题2019年3月(含题库答题软件账号)
- 第一节 ISM Web工业可视化组态软件简介
- 使用阿里云接口进行银行卡三四要素实名认证(阿里云api接口java)
- 如何解决 CAD 启动非常慢的问题
- 如何使静态图片做成动态效果?怎么让静态图片动起来
- ggplot2柱状图进阶画法
- 左手鼠标指针——Windows11Aeroleft
- 计算机磁盘图标变成软件的了,电脑的本地磁盘图标变成一个U盘形状图标了怎么回事?如何解决?...
- 一款很好用的调试JS的Eclipse插件
- Java线程状态详解
- 三星 android 调试模式设置,三星盖世4 usb调试怎么打开?安卓4.2怎样打开USB调试...
- Ubuntu/linux c开发(4)线程池
- Java线程生产者消费者问题详解
- 华为云电脑.模式_今晚0元学华为云计算HCIA课程!快上车,提前了解云计算三种服务模式...