斯坦福大学机器学习笔记--第二周(1.多元线性回归及多元线性回归的梯度下降)

来源:互联网 发布:html用什么软件编写 编辑:程序博客网 时间:2024/05/17 06:35

一.Multivariate Linear regression(多元线性回归)

现在起将开始介绍一种新的更为有效的线性回归形式。这种形式适用于多个变量或者多特征量的情况。
在之前学习过的线性回归中,都是只有一个单一的特征量--房屋面积 x,如图1-1所示,

图1-1
我们希望用房屋面积这个特征量来预测房子的价格。但是想象一下如果我们不仅有房屋面积作为预测房屋价格的特征量,我们还知道卧室的数量,楼层的数量以及房子的使用年限,如图1-2所示,

图1-2
这样就给了我们更多可以用来预测房屋价格的信息了。接着我们先简单介绍一下符号记法,一开始的时候就提到过我要用x1,x2x3,x4来表示种情况下的四个特征量,然后仍然用 y来表示我们所想要预测的输出变量 。除此之外,我们来看看更多的表示方式,如图1-3

图1-3

首先介绍的是特征数量n,这里用小写n来表示特征量的数目。因此在这个例子中,我们的n等于4(之前我们是用的“m”来表示样本的数量,现在开始我们用n来表示特征量的数目)。
接着介绍的是第i个训练样本的输入特征值x(i)(这里一定要看清是上标,不要搞混了)。举个具体的例子来说x(2)就是表示第二个训练样本的特征向量,如图1-4中用红色框圈起来的位置,

图1-4
红色框圈起来的这四个数字对应了我用来预测第二个房屋价格的四个特征量,因此在这种记法中,这个上标2就是训练集的一个索引,而不是x的2次方,这个2就对应着你所看到的表格中的第二行,即我的第二个训练样本,同时也是一个四维向量。事实上更普遍
地来说这是n维的向量。
最后介绍的是第i个训练样本的第j个特征量,用来表示。举个具体的例子来说:
,即对应着图1-4中第二个训练样本的第三个数。


我们最初使用的假设函数只有一个唯一的特征量,如图1-5黑色字体,

图1-5
但现在我们有了多个特征量,我们就不能再使用这种简单的表示方式了。取而代之的我们将把线性回归的假设改成图1-5中蓝色字体那样。如果我们有n个特征量,那么我们要将所有的n个特征量相加,而不仅仅是四个特征量,如图1-6所示。

图1-6
接下来,要做的是简化这个等式的表示方式,为了表示方便我要将x0的(看清楚这里是下标)值设为1。具体而言,这意味着对于第i个样本,都有一个等于1。一开始的时候有n个特征量,由于另外定义了额外的第0个特征向量,并且它的取值总是1,所以我现在的特征向量x是一个从0开始标记的n+1维的向量。同时,我也把我的参数θ也都看做一个n+1维的向量。如图1-7所示
图1-7
正是向量的引入,这里我们的假设函数可以换一种更加高效的方式来写,如图1-8,

图1-8
这里我把假设函数等式写成 θ转置乘以X,这其实就是向量内积。这就为我们提供了一个表示假设函数更加便利的形式,即用参数向量θ以及特征向量X的内积。这样的表示习惯就让我们可以以这种紧凑的形式写出假设。 

以上就是多特征量情况下的假设形式,另一个名字就是多元线性回归。

二.Gradient Descent for Multiple Variables(多元线性回归的梯度下降)

在之前我们谈到的线性回归的假设形式,是一种有多特征或者是多变量的形式。在这部分我们将会谈到如何找到满足这一假设的参数θ,尤其是如何使用梯度下降法来解决多特征的线性回归问题。

现假设有多元线性回归,并约定x0=1,该模型的参数是从θ0θn,如图2-1所示,

图2-1

这里不要认为这是n+1个单独的参数,我们要把这n+1θ参数想象成一个n+1维的向量θ。


我们一开始的代价函数如图2-2黑色字体所示,


图2-2

但同样地我们不要把函数J想成是一个关于n+1个自变量的函数,而是看成带有一个n+1维向量的函数。

-----------------------------------------------------------------------------

关于图2-2的这个公式要深入理解下,见图2-3的练习


图2-3

一开始选了2和4,提交后得知应该选择1和2。分析如下:

选项1.其实这里的x(i)拆开后是,然后和θ的转置相乘,结果与是一样的。


选项2.将括号里的拆开后就是,可见选项2也是对的。


选项3.从1开始错误,我们规定了要从0开始。


选项4.,因为我们的y不像x有x0,x1,x2等等,y是没有下标只有上标的,所以选项4错误。


-----------------------------------------------------------------------------


讲完代价函数讲梯度下降,如图2-4所示,


图2-4

同理这里把函数J想成是带有一个n+1维向量的函数。当我们实现梯度下降法后,我们可以仔细观察一下它的偏导数项,图2-5是我们当特征个数n=1时梯度下降的情况。我们有两条针对参数θ0θ1不同的更新规则,


图2-5

图2-5的两个式子不同点在于对参数θ1我们有另一个更新规则,即在最后多了一项

X(i)。(http://blog.csdn.net/m399498400/article/details/52528722图1-2中讲解了这一项的推导过程)。


以上是特征数量只有1个的情况下的梯度下降法的实现。当特征数量大于等于1个的时候,我们的梯度下降更新规则,变成了如图2-6的形式。


图2-6

其实图2-5和图2-6这两种新旧算法实际上是一回事儿。考虑这样一个情况,假设我们有3个特征数量,我们就会有对θ1θ2θ3的三条更新规则。如图2-7所示,


图2-7

仔细观察θ0的更新规则,就会发现这跟之前图2-5中n=1的情况是相同的。它们之所以是等价的是因为在我们的标记约定里有=1。

如果再仔细观察θ1的更新规则,会发现这里的这一项是和图2-5对参数θ1的更新项是等价的。在图2-7中我们只是用了新的符号来表示我们的第一个特征。其实当n=1的时候,是一样的。因为图2-7的新算法应用更普遍,更广泛,所以以后不管是单特征变量还是多特征变量我们都用图2-7的算法来做梯度下降。


阅读全文
0 0
原创粉丝点击