北大陈浩然笔记:特征缩放和泛化能力(亮点)

1多变量线性回归

如果数据中属性是一个多维向量

, 那么该回归模型称为多变量线性回归。也就是一般意义上的线性回归模型。

我们先定义符号,

代表第 i 个数据的属性值,它是一个向量,

表示第 i 个数据的第 j 个属性,它是一个实数,yi 是第 i 个数据的标签值,也是实数。f是我们学习到的模型,

即我们对第 i 个数据的预测值。我们建立的模型为:

我们的目标是,求得适当的

和 b,使得 S 最小,其中 S 是预测值和真值的差距平方和,亦称为代价函数,当然代价函数还有很多其他的形式。

2特征缩放

由于 x 具有很多维的特征,每一维的特征大小可能相差甚多,这样会大大影响学习的速度。假如房价范围 0-10000000,房子大小范围 1-200,那么这两个特征学习到的系数大小会差很多倍,而学习率必须按照最小的系数来进行设定,则大系数的收敛会非常慢。

为了避免这种情况,我们使用了特征缩放将每个特征的值进行处理,使之在[-1,1]之间,当然,原本范围就于此在一个数量级的特征,也可以不进行处理。处理公式如下:

或者

其中 σ 为数据标准差。

3正规方程法

对于多元线性回归而言,正规方程法是一种准确的方法,就像最小二乘法对于单变量线性回归一样。 为了使形式更加简化,我们做以下符号设定

由此,我们可以将S写成另一种形式,定义如下

请注意,

和S的区别仅仅在于它没有的系数,而该系数是一个定值,故最小化的目标和过程是一样的,我们在此要将

最小化。

同理,我们将

视为 w 的函数,对于 w 求导数,得到取得最小值时的 w 的值,便是我们得到的结果,记为

该方法得到了为准确值,即在我们给定条件下的最优解,但是该方法有两个弊端:

  • 需要计算,相对于矩阵规模n而言,算法复杂度是O(n^3), n非常大时, 计算非常慢,甚至根本无法完成。
  • 可能出现矩阵不可逆的情况,在这里不进行数学上的分析,但是可以说明,以下两种情况容易导致矩阵不可逆。
    • 我们使用了冗余的特征,例如我们选取的两个特征始终保持倍数关系,则这两个特征向量线性相关。此时应该去除冗余的向量。
    • 我们使用了太多的特征(特征的数量超过了样本的数量).,也可以理解为样本的数量太少,对于这种情况我们可以删掉一些特征或者使用正则化(在下一篇文章中会讲到)。

4梯度下降法

此处的梯度下降法和之前一元线性回归的梯度下降法基本相同,无非是一元线性回归只有两个需要求的参数,而多元线性回归中有多个待求参数。其余的只需要将导数项换掉即可。最终得到的式子如下:

与正规方程法相比,梯度下降法当有大量特征时, 也能正常工作,仍可以在可接受的时间内完成。

5泛化

之前我们提到过,线性模型并不是只能进行线性分类,它具有很强的泛化能力,如果仅仅使用在此之前的单元和多元线性回归,我们只能得到多维空间的高维平面,为了进一步增强泛化能力,我们可以引入幂次项

比如我们原来有只有一个特征 x1,我们现在令

就人为的引入了第二个特征,拥有更强的拟合能力。我们还可以引入两个特征的交叉项,使得线性模型更强大。

例如,我们原本只有一个模型:

我们引入

,人为引入三个变量,我们的模型变为:

也就是说,很多复杂的模型都可以转化为线性模型进行建模。

但是,我们也要防范过拟合问题,过多的人为特征很容易导致过拟合,我们将在下一个章节详细讨论。

6校验

那么,我们写好算法进行运行之后,如何检验我们的算法是否正常运行呢?一个办法就是看他的 S(总误差)随时间变化的图像。

正常情况下,S应该随着算法的运行逐渐降低,降低的速度越来越小,但是如果算法错误,或者学习率不适宜,那么可能出现S反而增大或者抖动的现象,如下图所示:

7总结

线性模型以其简单和可解释性在众多模型中脱颖而出,至今仍是经常使用的回归算法之一,在机器学习中仍然具有重要应用,如趋势线,流行病学预测,金融经济等。

作者:陈浩然,北京大学专业智能科学。想了解她的更多文章,请访问: 博客:https://braverychr.github.io/ 知乎专栏:https://zhuanlan.zhihu.com/MLstudy

原文发布于微信公众号 - Python与机器学习算法频道(alg-channel)

原文发表时间:2018-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏null的专栏

简单易学的机器学习算法——集成方法(Ensemble Method)

一、集成学习方法的思想 前面介绍了一系列的算法,每个算法有不同的适用范围,例如有处理线性可分问题的,有处理线性不可分问题。在现实世界的生活中,常常会因为“集体...

2853
来自专栏IT派

机器学习面试题目总结

如果你觉得好的话,不妨分享到朋友圈。 1.机器学习中特征的理解 def:特征选择和降维 特征选择:原有特征选择出子集,不改变原来的特征空间 降维:将原有的特征...

4415
来自专栏AI研习社

新手必看的十种机器学习算法

AI 研习社按:在神经网络的成功的带动下,越来越多的研究人员和开发人员都开始重新审视机器学习,开始尝试用某些机器学习方法自动解决可以轻松采集数据的问题。然而,在...

37910
来自专栏SIGAI学习与实践平台

理解AdaBoost算法

与随机森林一样,Boosting算法也是一种集成学习算法,随机森林和集成学习在SIGAI之前的公众号文章“随机森林概述”中已经介绍。Boosting的分类器由多...

904
来自专栏大数据挖掘DT机器学习

梯度下降原理及Python实现

梯度下降算法是一个很基本的算法,在机器学习和优化中有着非常重要的作用,本文首先介绍了梯度下降的基本概念,然后使用Python实现了一个基本的梯度下降算法。梯度下...

3455
来自专栏一直在跳坑然后爬坑

深入理解向量进行矩阵变换的本质

向量的理解 上图表述的是平面上一点,在以i和j为基的坐标系里的几何表示,这个点可以看作(x,y)也可以看作是向量ox与向量oy的和。

3074
来自专栏AI科技大本营的专栏

深度 | 机器学习中的模型评价、模型选择及算法选择

作者:Sebastian Raschka 翻译:reason_W 编辑:周翔 简介 正确使用模型评估、模型选择和算法选择技术无论是对机器学习学术研究还是工业场景...

6344
来自专栏SIGAI学习与实践平台

机器学习中的目标函数总结

几乎所有的机器学习算法最后都归结为求解最优化问题,以达到我们想让算法达到的目标。为了完成某一目标,需要构造出一个“目标函数”来,然后让该函数取极大值或极小值,从...

7241
来自专栏机器之心

学界 | FAIR提出用聚类方法结合卷积网络,实现无监督端到端图像分类

预训练的卷积神经网络,或称卷积网络,已经成为大多数计算机视觉应用的基础构建模块 [1,2,3,4]。它们能提取极好的通用特征,用来提高在有限数据上学习的模型的泛...

1691
来自专栏desperate633

‘神经网络’初探

本文从感知器开始讲起,引入激活函数,最后引出了神经网络的基本概念和思想,希望能帮助读者对神经网络有一个初步的了解!

1083

扫码关注云+社区

领取腾讯云代金券