前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习系列 5:特征缩放

机器学习系列 5:特征缩放

作者头像
SuperFeng
发布2019-09-26 16:03:56
4380
发布2019-09-26 16:03:56
举报
文章被收录于专栏:SuperFengSuperFeng

首先我们应该了解一下多元线性回归。相比于单变量线性回归,该函数拥有多个变量值,那么他所拥有的参数就不仅仅是一个或者两个,而是多个。例如下面这个函数:

如果把该函数的参数 θ 和变量 x 全部写成向量的形式,就可以简化成下面这个函数:

如果你想预测房价,现在有两个变量 x1 和 x2 来控制房子的价格。 x1 为房子的大小,范围在 0 到 2000,x2 为房子中卧室的数目,范围在 0 到 5,那么画出这个代价函数的轮廓图就是这个样子,一个扁扁的椭圆形。

对这个函数进行梯度下降,就是红线的过程,你会发现,这个路程很长很曲折,这样我们进行梯度下降所花费的时间就会很长。那么我们应该怎样来缩短这个时间呢?先从这个图来下手。你看这个图,麻麻赖赖的,一点都不圆润,怎么办?盘它!(手动狗头)

给它变成这个样子不就好办了吗。怎么盘?肯定不能用手盘呀,这里就要用到特征缩放(Feature Scaling)。将变量 x1 和 x2 都缩放到一个范围中,我们将他们都缩放到 -1 到 1 这个范围内。最简单的方法就是将 x1 除以 2000(因为他的范围就是 0-2000), x2 除以 5。现在变量 x1 和 x2 的范围全部都在 -1 到 1 这个区间了,但是又出现一个问题,你发没发现,现在经过处理之后的数据全是正值,不分散,那么我们就要用稍微复杂一点的方法进行特征缩放。用均值归一化(Mean normalization)的方法处理数据:

其中 μn 为平均值,Sn 为标准差,也可以用这个变量最大值与最小值的差。现在你就会发现,数据既有正值也有负值,分散在-1 到 1 这个区间,进行梯度下降就很快啦。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SuperFeng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档