zoukankan      html  css  js  c++  java
  • 机器学习-数据归一化及哪些算法需要归一化

    一、数据为什么需要归一化处理?

    归一化的目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异对模型的影响。

    方法:

    1. 极差变换法

    2. 0均值标准化(Z-score方法)

    1. Max-Min(线性归一化)

    Max-Min归一化是对原始数据进行线性变化,利用取值的最大值和最小值将原始数据转换为某一范围的数据

    缺点:归一化过程与最大值和最小值有关,容易受到极端值的影响。会一定程度破坏原有数据的结构

    应用:图像处理中,将RGB图像转换为灰度图像后将其值限定在[0, 255]的范围

    2. Z-Score标准化

    基于原始数据的均值和标准差进行标准化。Z-score是一种中心化方法,会改变原有数据的分布结构,不适合对稀疏数据做处理。本方法要求原始数据的分布近似为高斯分布,否则归一化的效果很差。

    应用:在分类和聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,Z-Score标准化表现很好

    二、应用场景

    1. 概率模型不需要归一化,因为这种模型不关心变量的取值,而是关心变量的分布和变量之间的条件概率。

    决策树(概率模型)、随机森林(基学习器是决策树)、朴素贝叶斯(概率模型)不需要归一化

    2. SVM、线性回归之类的最优化问题需要归一化。归一化之后加快了梯度下降求最优解的速度,并有可能提高精度。

     是否归一化主要在于是否关心变量取值

    3. 神经网络需要标准化处理,一般变量的取值在-1到1之间,这样做是弱化某些变量的值较大而对某些产生影响。一般神经网络中的隐藏层采用tanh激活函数比sigmoid要好,因为取值[-1, 1],均值为0(需要

    4. 在k近邻算法中,如果不对解释变量进行标准化,那么具有小数量级的解释变量的影响就会微乎其微(需要

    参考地址:

    https://blog.csdn.net/ayu96777/article/details/80684914

    https://blog.csdn.net/u011089523/article/details/80198312

  • 相关阅读:
    Jar包管理规范
    Base64编码原理与应用
    MySQL 5.7.14安装说明,解决服务无法启动
    idea注册
    Oracle 如何对中文字段进行排序
    SVN错误:Attempted to lock an already-locked dir
    排序算法
    设计模式
    分层
    阿里云
  • 原文地址:https://www.cnblogs.com/gezhuangzhuang/p/10572944.html
Copyright © 2011-2022 走看看