系列文章目录

第七章 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. 写一个图片预览器(react-native),温习一下初中数学
  2. 20145234黄斐《Java程序设计》第五周
  3. Django-ondelete
  4. 目标代码文件、可执行文件和库
  5. SAP Cloud for Customer(C4C)的一些学习资料(持续更新)
  6. excel导入数据到sqlserver
  7. js中style.display=无效的解决方法
  8. Sitecore开发 IP地理定位服务入门
  9. 【车道线检测与寻迹】4月17 【多方内容总结】大模块:车辆检测,车道线检测,车辆压线判别
  10. 【Kubernets】——搭建k8s多节点集群
  11. 无人机的电调及其工作原理是什么?
  12. 安装eNSP和VirtualBox中遇到的问题
  13. Matlab - Matlab中M文件的创建和调用
  14. Python 发送短信
  15. html+css基础教程之html简介和元素
  16. 多校9 HDU-6164 Dying Light 几何数学
  17. Android—传感器-方向传感器
  18. 利用Python爬取爬取APP上面的数据
  19. 讲座回顾丨5G的全新可能:基于Smart Edge Open和EdgeX构建5G MEC
  20. 服务器显示桌面计算机,Windows Server 2012/2016桌面显示我的电脑图标

热门文章

  1. 2021年最新大厂php+go面试题集(三)
  2. GRUB启动命令详解
  3. 微信平台中嵌入课程直播的有效方法
  4. 怎么查php电路板电路图,电子线路图基础知识:电路板线路图怎么看?
  5. chrome浏览器调用摄像头
  6. iPhone密码忘记
  7. 半闲居士视觉SLAM十四讲笔记(1)前言
  8. 南亚风情第壹城非遗文化节,一站式休闲首选之地
  9. 华为路由器——DHCP接口地址池配置
  10. Arcgis更换布局模板_Typecho 主题更换及优秀主题推荐