系列文章目录

第七章 Python 机器学习入门之特征缩放与多项式回归


系列文章目录

文章目录

前言

一、特征缩放是什么?

二、如何去实现特征缩放

1.将特征值除以最大值

2.均值归一化

3.z-score 归一化

总结


前言

特征缩放可以使得梯度下降 gradient descent 的幅度更大,程序运行的更快,因为有些时候如果一个特征值太大,那么它对应的参数就会很小,一个很小的改变,都会对输出结果产生很大的影响,在进行梯度下降时,也会花费很大的时间,解决这个问题的方法就是特征缩放。


一、特征缩放是什么?

我们先来看看特征的大小,也就是特征的数值大小与相关参数的大小之间的关系

举个例子,我们使用两个特征值X来预测房子的价格,

假设这两个特征值分别是:x1房子的大小, x2卧室的数量
很明显x1 要比 x2 大的多

如果已知一个房子的大小为2000,有5个卧室,价格为500k,我们来求其它两个参数w1,w2

不难发现当一个特征x1较大时,与之对应的参数w1应该较小,反之也是一样

下面来看看特征的散点图,左边,
横轴 房子的大小 这个特征值 比 纵轴 卧室的规模 这个特征值 要大得多,或者说取值的范围要大得多

来看看代价函数的等高线图,右边,横轴 参数的取值范围很小,纵轴很大,这说明w1一个很小的变化都会对 估计价格 产生很大的影响,对代价函数也会有很大的影响,因为w1要乘以一个很大的数 房子的大小,而w2 与之相反。


如果我们直接使用训练数据,当使用梯度下降来使得代价函数最小化时,它可能会来回跳很长时间才能找到,原因就是w1一个很小的变化都会对代价函数产生很大的影响,

为了解决这个问题,一个有用的做法就是特征缩放,就是对训练数据做一些转换

如果我们可以将两个特征的取值范围都缩放到0到1之间,
那么使用梯度下降来找到代价函数最小值是不是更加简单了。

二、如何去实现特征缩放

1.将特征值除以最大值

如果一个特征x1 的取值范围是300 到 2000,那么一种特征缩放的方法就是除以最大值,将x1/2000,缩放后x1的取值范围在0.15到1之间。

2.均值归一化

另一种方法是均值归一化,重新计算训练数据,使它们都在0 附近,取值范围在(-1,1)间,
如果要对x1 数据进行均值归一化,我们首先要在数据集上找到平均值u1,计算公式如图

3.z-score 归一化

第三种方法是z-score 归一化,我们需要计算每个特征的标准差和平均值

标准差的求法:

1. 计算数据的平均值 u1

2. 计算方差,将每个数据减去平均值,取平方,再除以数据的个数

3. 将方差开平方,得到的结果就是标准差

总结一下,当我们的特征值的取值范围太大或者太小时,使用梯度下降来使得代价函数最小化会很慢,这时候我们一般都会进行特征缩放。


总结

总结一下,当我们的特征值的取值范围太大或者太小时,使用梯度下降来使得代价函数最小化会很慢,这时候我们一般都会进行特征缩放。

【机器学习】什么是特征缩放?如何去实现特征缩放?相关推荐

  1. python机器学习(一)算法学习的步骤、机器学习的应用及流程(获取数据、特征工程、模型、模型评估)

    机器学习入门 机器学习中需要理论性的知识,如数学知识为微积分(求导过程,线性回归的梯度下降法),线性代数(多元线性回归,高纬度的数据,矩阵等),概率论(贝叶斯算法),统计学(贯穿整个学习过程),算法根 ...

  2. 机器学习--主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    原文链接:主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是"投影"?_天下对手教会少林武僧-CSDN博客_pca投影矩阵 这是从网上看到的PCA算 ...

  3. 【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义

    [机器学习中的数学基础]矩阵特征值.特征向量和特征值分解的几何意义 在<机器学习>西瓜书中的第十章提到了"多维缩放"(简称MDS)方法,该方法是一种经典的的降维方法.此 ...

  4. Python机器学习入门笔记(1)—— Scikit-learn与特征工程

    目录 机器学习算法分类 数据集工具 Scikit-learn Scikit-learn的安装 scikit-learn数据集API介绍 bunch对象 datasets模块 数据集的划分 train_ ...

  5. 机器学习——【2】史上最全“特征工程“介绍

    2.1 数据集 2.1.1 可用数据集 Kaggle网址:https://www.kaggle.com/datasets UCI数据集网址: http://archive.ics.uci.edu/ml ...

  6. 《机器学习算法竞赛实战》学习笔记4.特征工程

    吴恩达老师有言:"机器学习在本质上还是特征工程,数据和特征决定了机器学习的上限,模型和算法只是逼近这个上限而已." 特征工程主要分为:数据预处理.特征变换.特征提取.特征选择四部分 ...

  7. 机器学习基础之《特征工程(2)—特征工程介绍、特征抽取》

    一.什么是特征工程 机器学习领域的大神Andrew Ng(吴恩达)老师说"Coming up with features is difficult, time-consuming, requ ...

  8. R使用dplyr包对变量、特征进行标准化(standardize)缩放操作

    R使用dplyr包对变量.特征进行标准化(standardize)缩放操作 目录 R使用dplyr包对变量.特征进行标准化(standardize)缩放操作

  9. ML之DataScience:基于机器学习处理数据科学(DataScience)任务(数据分析、特征工程、科学预测等)的简介、流程、案例应用执行详细攻略

    ML之DataScience:基于机器学习处理数据科学(DataScience)任务(数据分析.特征工程.科学预测等)的简介.流程.案例应用执行详细攻略 目录 数据科学的任务(数据分析.特征工程.科学 ...

最新文章

  1. Xshell选中的同时把内容复制到剪贴板(还可以设置设置文本分隔符)
  2. Java JNI简单实现
  3. Visual Studio 2008 和 .NET Framework 3.5 Service Pack 1 Beta 发布
  4. 超线程cpu的寄存器_一文总结 CPU 基本知识
  5. Ubuntu安装cacti步骤
  6. 2015 HIAST Collegiate Programming Contest C
  7. MySQL主从架构搭建
  8. cesium加载shp格式数据
  9. 蓝桥杯嵌入式旧版子驱动问题-keil5下载卡死解决方法
  10. 如何用OpenCV给图片加上文字?
  11. python中shape错误_python中shape错误
  12. 模拟信号和数字信号的区别
  13. 景观分析(二)——Patch Analyst 5
  14. 2018滴水LUA手游脚本制作实战视频教程
  15. 命令行修改文件md5
  16. C语言用递归和迭代实现斐波那契数列
  17. 连肝7个晚上,总结了计算机网络的知识点!(共66条)
  18. 第十届蓝桥杯省赛C组 c语言
  19. 其次线性方程组,行列式为0,一定有非0解.
  20. dB,dBi和dBm的区别

热门文章

  1. Java从接触到放弃(十五)--线程、多线程、静态代理模式
  2. 什么是企业所得税汇算清缴
  3. opencv人脸识别(二)人脸检测
  4. 喇叭 阻抗(问题) 小结
  5. Mac无法播放音乐的问题
  6. 802.1x认证失败配置(guest vlan)
  7. 最炫python表白代码_Python制作微信好友背景墙教程(附完整代码)
  8. 教你整理归类文件保存在指定位置
  9. 电脑文件管理,按文件数量分配,一键归类所有文件素材
  10. 南亚风情第壹城非遗文化节,一站式休闲首选之地