首页 > 其他分享 >为什么要对数值类型特征做归一化?

为什么要对数值类型特征做归一化?

时间:2023-02-21 17:08:23浏览次数:38  
标签:特征 梯度 数值 x2 归一化 类型 x1


给出一个场景

通过住户的居住面积和楼层来分析他们的居住舒适度,楼层的特征会在1-20(层)数值范围内,居住面积的特征会在30-200(平方米)数值范围内,那么根据这两种特征分析出来的数据居住面积会成为决定性更大的特征,这显然是不准确的,此时就需要我们进行特征归一化,使得各个特征处于同一个数值量级,然后再进行分析。

常用的特征归一化方法

  1. 最大最小归一化(Min-Max Scaling)
    最大最小归一化对原始数据进行线性变换,使结果映射到[0,1]范围内,实现对原始数据的等比缩放。
    为什么要对数值类型特征做归一化?_梯度下降
  2. 零均值归一化(Z-Score Normalization)
    零均值归一化会将原始数据映射到均值为0、标准差为1的分布上。
    为什么要对数值类型特征做归一化?_归一化_02
    其中均值是为什么要对数值类型特征做归一化?_梯度下降_03,标准差是为什么要对数值类型特征做归一化?_梯度下降_04

为什么要进行特征归一化?

借助随机梯度下降的例子来说明一下归一化的重要性。假设现在我们有两个特征x1、x2,x1的范围是[0,10],x2的范围是[0,4],在他们的学习速率相同的情况下x1的更新速度要大于x2,此时需要较多的迭代才能找到最优解;而当他们在同一数值范围内的时候,他们的更新速度就会变得更为一致,此时就更容易快速的通过梯度下降找到最优解。

用一张图片来说明一下(左边是归一化之前,右边是归一化之后):

为什么要对数值类型特征做归一化?_归一化_05

实际应用中哪里需要归一化

可以看到上文中我用到了梯度下降来距离,可以看出归一化对梯度下降的影响是很大的,所以在实际应用中通过梯度下降求解的算法通常都是需要进行归一化的,常见的有线性回归、逻辑回归、支持向量机、神经网络等模型。


标签:特征,梯度,数值,x2,归一化,类型,x1
From: https://blog.51cto.com/u_15969421/6076770

相关文章

  • 数据类型
    基本类型整数类型byte:占1个字节范围,-128-127short:占2个字节范围,-32768-32767int:占4个字节范围,-2147483648-2147483647long:占8个字节范围,-9223372036854775808......
  • 数据类型----列表的内置方法
    一、定义'''中括号括起来,内部有多种元素,元素与元素之间用逗号隔开,元素可以是任意数据类型和嵌套'''#定义l1=[1,'a',[1,2]]#本质:l1=list([1,'a',[1,2]])......
  • 数据类型-集合set-内置方法
    作用集合、list、tuple、dict一样都可以存放多个值,但是集合主要用于:去重、关系运算定义在{}内用逗号分隔开多个元素,集合具备以下三个特点:1:每个元素必须是不可变类......
  • 数据类型-元组tuple-内置方法
    作用元组与列表类似,也是可以存多个任意类型的元素,不同之处在于元组的元素不能修改,即元组相当于不可变的列表,用于记录多个固定不允许修改的值,单纯用于取定义方式#在()内......
  • 数据类型----字符串内置方法
    一、定义#定义:在单引号\双引号\三引号内包含一串字符name1='jason' #本质:name=str('任意形式内容')name2="lili" #本质:name=str("任意......
  • 类型转换
      1.不能对布尔值转换2.不能把对象类型转换为不相干的类型3.在高容量转换到低容量的时候,强制转换4.转换的时候存在内存溢出,或者精度问题 ......
  • uni-app api:获取网络类型(hbuilderx 3.6.18)
    一,代码:<template><view><button@click="getNetwork">得到网络类型</button></view></template><script>exportdefault{data(){......
  • Python--字典底层存储、补充:类型对象、函数传参
    补充#python字典底层存储https://www.cnblogs.com/xiaoyuanqujing/articles/12008689.html#Python中数据类型都是对象都是地址引用,不存在值类型,都是......
  • 查看sap object type的类型
    1:进入到object,点击Goto下面的objectdirectory   查看到类型为SUSO  2:使用ZDEP查看改object在哪些地方使用了。  3:根据component过滤结果 ......
  • 5.4_C语言类型转换
    @目录一、案例一二、案例二三、案例三四、总结这个小结我们要探讨一个相对来说简单的问题,就是c语言里边的那些定点整数是如何进行强制类型转换的。一、案例一来看这样......