1.5 特征缩放-机器学习笔记-斯坦福吴恩达教授
特征缩放
引子
在前一章节中,对房屋售价进行预测时,我们的特征仅有房屋面积一项,但是,在实际生活中,卧室数目也一定程度上影响了房屋售价。下面,我们有这样一组训练样本:
注意到,房屋面积及卧室数量两个特征在数值上差异巨大,如果直接将该样本送入训练,则代价函数的轮廓会是“扁长的”,在找到最优解前,梯度下降的过程不仅是曲折的,也是非常耗时的:
缩放
该问题的出现是因为我们没有同等程度的看待各个特征,即我们没有将各个特征量化到统一的区间。量化的方式有如下两种:
Standardization
Standardization 又称为 Z-score normalization,量化后的特征将服从标准正态分布:
z=xi−μδz=\frac{x_i−μ}δz=δxi−μ
其中, μμμ , δδδ 分别为对应特征 xix_ixi 的均值和标准差。量化后的特征将分布在 [−1,1] 区间。
Min-Max Scaling
Min-Max Scaling 又称为 normalization,特征量化的公式为:
z=xi−min(xi)max(xi)−min(xi)z=\frac {x_i−min(x_i)}{max(x_i)−min(x_i)}z=max(xi)−min(xi)xi−min(xi)
量化后的特征将分布在 [0,1] 区间。
大多数机器学习算法中,会选择 Standardization 来进行特征缩放,但是,Min-Max Scaling 也并非会被弃置一地。在数字图像处理中,像素强度通常就会被量化到 [0,1] 区间,在一般的神经网络算法中,也会要求特征被量化到 [0,1] 区间。
进行了特征缩放以后,代价函数的轮廓会是“偏圆”的,梯度下降过程更加笔直,性能因此也得到提升:
代码实现
在 regression.py
中,我们添加了 Standardization 和 Normalization 的实现:
# linear_regression/regression.py# ...
def standardize(X):"""特征标准化处理Args:X: 样本集Returns:标准后的样本集"""m, n = X.shape# 归一化每一个特征for j in range(n):features = X[:,j]meanVal = features.mean(axis=0)std = features.std(axis=0)if std != 0:X[:, j] = (features-meanVal)/stdelseX[:, j] = 0return Xdef normalize(X):"""特征归一化处理Args:X: 样本集Returns:归一化后的样本集"""m, n = X.shape# 归一化每一个特征for j in range(n):features = X[:,j]minVal = features.min(axis=0)maxVal = features.max(axis=0)diff = maxVal - minValif diff != 0:X[:,j] = (features-minVal)/diffelse:X[:,j] = 0return X
# ...
参考文献
- About Feature Scaling and Normalization
- Wiki–Feature scaling
1.5 特征缩放-机器学习笔记-斯坦福吴恩达教授相关推荐
- 4.4 机器学习系统设计--垃圾邮件分类-机器学习笔记-斯坦福吴恩达教授
机器学习系统设计–垃圾邮件分类 假定我们现有一封邮件,其内容如下: From: cheapsales@buystufffromme.com To: ang@cs.stanford.edu Subjec ...
- 5.4 SVM的使用建议-机器学习笔记-斯坦福吴恩达教授
SVM的使用建议 使用流行库 作为当今最为流行的分类算法之一,SVM 已经拥有了不少优秀的实现库,如 libsvm 等,因此,我们不再需要自己手动实现 SVM(要知道,一个能用于生产环境的 SVM 模 ...
- 5.3 核函数-机器学习笔记-斯坦福吴恩达教授
核函数 在逻辑回归中,我们会通过多项式扩展来处理非线性分类问题: hθ(x)=θ0+θ1x1+θ2x2+θ3x1x2+θ4x12+θ5x22+⋯h_θ(x)=θ_0+θ_1x_1+θ_2x_2+θ_3 ...
- 1.9 程序示例--局部加权线性回归-机器学习笔记-斯坦福吴恩达教授
程序示例–局部加权线性回归 现在,我们在回归中又添加了 JLwr() 方法用于计算预测代价,以及 lwr() 方法用于完成局部加权线性回归: # coding: utf-8 # linear_regr ...
- 1.7 程序示例--多项式回归-机器学习笔记-斯坦福吴恩达教授
程序示例–多项式回归 下面,我们有一组温度(temperature)和实验产出量(yield)训练样本,该数据由博客 Polynomial Regression Examples 所提供: tempe ...
- 8.1 概述-机器学习笔记-斯坦福吴恩达教授
概述 异常检测(Anomaly Detection)是机器学习里面的一个常见应用,机器通过训练,将知道什么样的样本是正常样本,从而具备识别异常样本的能力. 飞机制造商在飞机引擎从生产线上流入市场前,会 ...
- 5.5 SVM补充-机器学习笔记-斯坦福吴恩达教授
SVM补充 决策边界 Coursera 上 ML 的课程对 SVM 介绍有限,参看了周志华教授的<机器学习>一书后,补充了当中对于 SVM 的介绍. 首先,我们考虑用更传统的权值定义式来描 ...
- 4.6 大数据集-机器学习笔记-斯坦福吴恩达教授
大数据集 在机器学习领域,流传着这样一句话: It's not who has the best algorithm that wins. It's who has the most data. 所以 ...
- 4.3 偏差与方差-机器学习笔记-斯坦福吴恩达教授
偏差与方差 在机器学习中,偏差(bias) 反映了模型无法描述数据规律,而 方差(variance) 反映了模型对训练集过度敏感,而丢失了数据规律,高偏差和高方差都会造成新数据到来时,模型给出错误的预 ...
最新文章
- 获取当前脚本目录路径问题汇总
- 【camera-radar】相机-毫米波雷达联合标定方案介绍+实现
- 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS
- xmind可以画流程图吗_新娘妆可以自己画吗?临夏化妆学校告诉你答案!
- linux中top工具,Linux命令工具 top详解
- 没有主清单属性_梦幻西游电脑版:神威组第一大唐?大佬两天更新200W硬件,这身属性难被超越!太狠了...
- kuboard使用mysql_基于 Kubernetes 的微服务图形化管理界面 Kuboard
- 任务四十七:王牌特工 准备工作(二)
- 计算机基础技能应用查询中心,计算机基础应用教程
- 数据结构与算法笔记-------选择排序
- Veritas Backup Exec 21.4 Multilingual (Windows) 下载
- matlab势场动态栅格路径规划,融栅格法和人工势场法的机器人三维路径规划
- Oracle 定时任务执行存储过程
- unity 接 steam,获取steamID ,username
- 生命的编码-业余玩家怎么读懂AlphaFold的重要意义
- 网络工程师之网络规划
- Oracle系列:start with connect by prior 使用方法
- 图像处理用什么神经网络,神经网络图像处理
- 网络工程师----成长之路
- Luogu P2751 [USACO4.2]工序安排Job Processing