- 莫烦机器学习教程
- 有趣的机器学习
- 机器学习 (Machine Learning)
- 神经网络 (Neural Network)
- 卷积神经网络 CNN (Convolutional Neural Network)
- 循环神经网络 RNN (Recurrent Neural Network)
- LSTM RNN 循环神经网络 (LSTM)
- 自编码 (Autoencoder)
- 检验神经网络 (Evaluation)
- 特征标准化 (Feature Normalization)
- 选择好特征 (Good Features)
- 激励函数 (Activation Function)
- 过拟合 (Overfitting)
- 加速神经网络训练 (Speed Up Training)
- 处理不均衡数据 (Imbalanced data)
- 批标准化 (Batch Normalization)
- L1 / L2 正规化 (Regularization)
- 强化学习 (Reinforcement Learning)
- 强化学习方法汇总 (Reinforcement Learning)
- Q Leaning
- Sarsa
- Sarsa(lambda)
- DQN
- Policy Gradients
- Actor Critic
- Deep Deterministic Policy Gradient (DDPG)
- Asynchronous Advantage Actor-Critic (A3C)
- 强化学习教程
- Why?
- 课程要求
- 小例子
- Q-learning 算法更新
- Q-learning 思维决策
- Sarsa 算法更新
- Sarsa 思维决策
- Sarsa-lambda
- DQN 算法更新 (Tensorflow)
- DQN 神经网络 (Tensorflow)
- DQN 思维决策 (Tensorflow)
- OpenAI gym 环境库 (Tensorflow)
- Double DQN (Tensorflow)
- Prioritized Experience Replay (DQN) (Tensorflow)
- Dueling DQN (Tensorflow)
- Policy Gradients 算法更新 (Tensorflow)
- Policy Gradients 思维决策 (Tensorflow)
- Actor Critic (Tensorflow)
- Deep Deterministic Policy Gradient (DDPG) (Tensorflow)
- Asynchronous Advantage Actor-Critic (A3C) (Tensorflow)
- TensorFlow 教程
- 为什么选 Tensorflow
- 安装
- 神经网络在干嘛
- 处理结构
- 例子 2
- Session 会话控制
- Variable 变量
- Placeholder 传入值
- 激励函数 Activation Function
- 例子 3 添加层 def add_layer()
- 例子 3 建造神经网络
- 例子 3 结果可视化
- 优化器 optimizer
- Tensorboard 可视化好帮手 1
- Tensorboard 可视化好帮手 2
- Classification 分类学习
- Dropout 解决 overfitting
- CNN 卷积神经网络 1
- CNN 卷积神经网络 2
- CNN 卷积神经网络 3
- Saver 保存读取
- RNN 循环神经网络
- RNN LSTM 循环神经网络 (分类例子)
- RNN LSTM (回归例子)
- RNN LSTM (回归例子可视化)
- 自编码 Autoencoder (非监督学习)
- scope 命名方法
- Batch Normalization 批标准化
- PyTorch 教程
- Why?
- 安装
- Torch 或 Numpy
- 变量 (Variable)
- 激励函数 (Activation)
- 关系拟合 (回归)
- 区分类型 (分类)
- 快速搭建法
- 保存提取
- 批训练
- Optimizer 优化器
- CNN 卷积神经网络
- RNN 循环神经网络 (分类)
- RNN 循环神经网络 (回归)
- AutoEncoder (自编码/非监督学习)
- DQN 强化学习
- GAN (Generative Adversarial Nets 生成对抗网络)
- 为什么 Torch 是动态的
- GPU 加速运算
- Dropout 缓解过拟合
- Batch Normalization 批标准化
- Theano 教程
- Why?
- 安装
- 神经网络在做什么
- 基本用法
- Function 用法
- Shared 变量
- Activation function 激励函数
- 定义 Layer 类
- Regression 回归例子
- 可视化结果 回归例子
- Classification 分类学习
- Regularization 正规化
- Save 保存 提取
- 总结和更多
- Keras 教程
- Why?
- 安装
- 兼容 backend
- Regressor 回归
- Classifier 分类
- CNN 卷积神经网络
- RNN Classifier 循环神经网络
- RNN Regressor 循环神经网络
- Autoencoder 自编码
- Save & reload 保存提取
- Scikit learn 教程
- Why?
- 安装
- 选择学习方法
- 通用学习模式
- sklearn 强大数据库
- sklearn 常用属性与功能
- 正规化 Normalization
- 交叉验证 1 Cross-validation
- 交叉验证 2 Cross-validation
- 交叉验证 3 Cross-validation
- 保存模型
特征标准化 (Feature Normalization)
作者: Morvan 编辑: Morvan
- 学习资料:
- Sklearn: feature normalization 教程
今天我们会来聊聊机器学习所需要的数据,为了让机器学习方面消化,我们需不需要对数据动些手脚呢. 所以今天就会提到特征数据的标准化,也可以说正常化,归一化,正规化等等。
注: 本文不会涉及数学推导. 大家可以在很多其他地方找到优秀的数学推导文章。
现实中的数据
在说特征标准化之前,我们先来说说现实生活中,我们的数据是什么样的. 它们很可能来自不同的地方,被不同的人采集,有着不同的规格. 用最经典的房价预测例子来和大家说说. 我们用机器学习从房屋的各个层面来预测房价,房屋的特征可能包括,离市中心的距离,房屋楼层,房屋面积,所在城市,几室几厅等等. 这些数据的取值范围往往差距悬殊,比如楼层一般在 2-30 层以内,面积可能上百,离市中心距离可以以千来记。
数据方程
回到机器学习中,如果我们以一个简单的线性回归方程来预测房屋的价格,那方程可能会是这样 . 价格= a* 离市中心 + b * 楼层 + c * 面积. 其中的 a b c 就是机器学习需要努力努力再努力 来优化的参数。
我们说的在具体一点,用 abc 算出来的价格是预测价格 . 机器学习需要计算预测值和实际值的差别,然后对这个误差进行一些数学上的处理,使之变成进步的阶梯,然后反向地传递回参数 a b c 来提升下次的预测准确度. 好了. 这些概念和我们要提到的标准化有什么关系呢?
举例说明
我们可以把 abc 想想成 3 个人. 他们共同努力解决一个问题,在某一个问题中, a 工作的时候总是不知道发生了什么, b 的能力适中, c 工作能力最强,老板看了他们一起工作的结果,发现还有很多可以提高的地方,然后不屑地说: 你们这个结果和我期望的还有很大差距,你们快去缩小差距. 老板给的要求只是缩小差距. 可是 abc 都不知道差距在哪. 所以他们这次只好平分接下来的任务,不过 c 很快就做完了, b 第二, a 做得很慢,所以花的总时间很长, c 和 b 都要等 a 把剩下的工作做完才能再给老板看结果,这样 效率并不高。
把这个问题放在机器学习中,为了好理解,我们把 b 先排除掉. 再把房价问题也简化一下,留下两个特征. 因为面积的跨度一般可以从 0 到 2-300, 而离市中心的距离跨度一般在 10 以内. 所以在这个公式中, c 只要稍稍变化一点,他乘以面积的变化就会很大,因为面积的值可以很大,但是当 a 也变化那一点点时,他对预测价格的影响力不会像 c 那样巨大. 这样的差别就会影响最终的工作效率. 所以,我们要提高效率,特征的标准化就可以帮上忙. 我们在机器学习训练之前,先对数据预先处理一下,取值跨度大的特征数据,我们浓缩一下,跨度小的括展一下,使得他们的跨度尽量统一。
通常用于 特征标准化的途径有两种,一种叫做 min max normalization, 他会将所有特征数据按比例缩放到 0-1 的这个取值区间. 有时也可以是-1 到 1 的区间. 还有一种叫做 standard deviation normalization, 他会将所有特征数据缩放成 平均值为 0, 方差为 1. 使用这些标准化手段. 我们不仅可以快速推进机器学习的学习速度,还可以避免机器学习 学得特扭曲。
如果你觉得这篇文章或视频对你的学习很有帮助,请你也分享它,让它能再次帮助到更多的需要学习的人。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论