zoukankan      html  css  js  c++  java
  • 归一化和标准化-机器学习

    归一化与标准化

    归一化和标准化本质上都是一种线性变换。线性变换保持线性组合与线性关系式不变,这保证了特定模型不会失效。

    归一化 Normalization

    归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。

    常见的映射范围有 [0, 1][-1, 1] ,最常见的归一化方法就是 Min-Max 归一化

    [公式]

    举个例子,判断一个人的身体状况是否健康,那么我们会采集人体的很多指标,比如说:身高、体重、红细胞数量、白细胞数量等。

    一个人身高 180cm,体重 70kg,白细胞计数 [公式]

    衡量两个人的状况时,白细胞计数就会起到主导作用从而遮盖住其他的特征,归一化后就不会有这样的问题。

    标准化 Normalization

    英文翻译的问题:

    归一化和标准化的英文是一致的,但是根据其用途(或公式)的不同去理解(或翻译)

    最常见的标准化方法: Z-Score 标准化

    标准化的输出范围不受限制,对异常值有更好的处理

    [公式]

    其中 [公式] 是样本数据的均值(mean)[公式] 是样本数据的标准差(std)

    img

    上图则是一个散点序列的标准化过程:原图->减去均值->除以标准差

    归一化和标准化的区别:

    归一化和标准化的本质都是缩放和平移,他们的区别直观的说就是归一化的缩放是 “拍扁” 统一到区间(0-1),而标准化的缩放是更加 “弹性” 和 “动态” 的,和整体样本的分布有很大的关系。

    常见的归一化方法:[公式]

    常见的标准化方法:[公式]

    从输出范围角度来看, 归一化的输出结果必须在 0-1 间。而标准化的输出范围不受限制,通常情况下比归一化更广

    标准化与归一化的应用场景:

    • 一般情况下,如果对输出结果范围有要求,用归一化

    • 如果数据较为稳定,不存在极端的最大最小值,用归一化

    • 如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响

    • 在机器学习中,标准化是更常用的手段,归一化的应用场景是有限的,原因就在于二者的区别:

      • 标准化更好保持了样本间距。当样本中有异常点时,归一化有可能将正常的样本“挤”到一起去,对异常值和极端值处理的并不好
      • 标准化更符合统计学假。对一个数值特征来说,很大可能它是服从正态分布的。标准化其实是基于这个隐含假设,只不过是将这个正态分布调整为均值为0,方差为1的标准正态分布而已
  • 相关阅读:
    html的输出&,空格,大小于号
    html如何修改hr水平直线的粗细
    LODOP指定window默认打印机和临时默认打印机
    微软面试题: 找出二叉树上任意两个结点的最近共同父结点。
    说说自己对hibernate一级、二级、查询、缓存的理解。
    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
    修改MySQL的默认密码的四种小方法
    java中Scanner的nextLine()和next()的区别
    JAVA中String字符串比较equals()和equalsIgnoreCase()的区别
    HashMap与HashTable的区别
  • 原文地址:https://www.cnblogs.com/aduner/p/13849566.html
Copyright © 2011-2022 走看看