Machine Learning Chinese NLP :::: Multiple Features - Chad Salinas ::: Data Scientist
Life and times of Chad Salinas
Chad Salinas, golf caddy, data scientist, chad rPubs, recovering chess addict, daddy caddy
1184
post-template-default,single,single-post,postid-1184,single-format-standard,qode-listing-1.0.1,qode-social-login-1.0,qode-news-1.0,qode-quick-links-1.0,qode-restaurant-1.0,ajax_fade,page_not_loaded,,qode-title-hidden,qode_grid_1300,qode-theme-ver-12.0.1,qode-theme-bridge,bridge,wpb-js-composer js-comp-ver-5.4.2,vc_responsive

Machine Learning Chinese NLP :::: Multiple Features

Multivariate Linear Regression

在这段视频中 我们将开始 
介绍一种新的 
更为有效的线性回归形式 
这种形式适用于多个变量

或者多特征量的情况

做矩阵乘法

在之前我们学习过的 
线性回归中 
我们只有一个单一特征量 
房屋面积 x 
我们希望用这个特征量 
来预测 
房子的价格

这就是我们的假设

但是想象一下 
如果我们不仅有房屋面积 
作为预测房屋 
价格的特征量 
或者变量 
我们还知道 
卧室的数量 
楼层的数量以及房子的使用年限 
这样就给了我们 
更多可以用来

预测房屋价格的信息 
先简单介绍一下记法 
我们开始的时候就提到过 
我要用 
x 下标1 
x 下标2 等等 
来表示 
这种情况下的四个特征量 
然后仍然用 
Y来表示我们 
所想要预测的输出变量

让我们来看看更多的表示方式

现在我们有四个特征量

我要用小写n

来表示特征量的数目 
因此在这个例子中 我们的n等于4 
因为你们看 我们有 
1 2 3 4 共4个特征量

这里的n和我们之前 
使用的n不同 
之前我们是用的“m”来表示样本的数量 
所以如果你有47行 
那么m就是这个表格里面的行数 
或者说是训练样本数

然后我要用x 上标 (i) 
来表示第i个 
训练样本的 
输入特征值

举个具体的例子来说 
x上标 (2) 
就是表示第二个 
训练样本的特征向量 
因此这里 
x(2)就是向量 [1416, 3, 2, 40] 
因为这四个数字对应了 
我用来预测房屋价格的 
第二个房子的

四个特征量

因此在这种记法中

这个上标2

就是训练集的一个索引 
而不是x的2次方 
这个2就对应着 
你所看到的表格中的第二行 
即我的第二个训练样本

x上标(2) 这样表示 
就是一个四维向量 
事实上更普遍地来说 
这是n维的向量

用这种表示方法 
x上标2就是一个向量 
因此 我用x上标(i) 
下标j 
来表示

第i个训练样本的 
第j个特征量

因此具体的来说 
x上标(2)下标3代表着 
第2个训练样本里的第3个特征量 
对吧? 
这个是3 我写的不太好看 
所以说x上标(2)下标3就等于2

既然我们有了多个特征量

让我们继续讨论一下 
我们的假设形式应该是怎样的 
这是我们之前使用的假设形式 
x就是我们唯一的特征量 
但现在我们有了多个特征量 
我们就不能再 
使用这种简单的表示方式了

取而代之的 
我们将把线性回归的假设

改成这样 
θ0加上 
θ1 乘以 x1 加上 
θ2乘以x2 加上 θ3 乘以x3

加上θ4乘以x4 
然后如果我们有n个特征量 
那么我们要将所有的n个特征量相加 
而不是四个特征量 
我们需要对n个特征量进行相加

举个具体的例子

在我们的设置的参数中 
我们可能有h(x)等于

80 + 0.1 x1 + 0.01×2 + 3×3 – 2×4 
这就是一个

假设的范例 
别忘了 
假设是为了预测 
大约以千刀为单位的房屋价格 
就是说 
一个房子的价格 
可以是 
80 k加上 
0.1乘以x1 
也就是说 每平方尺100美元 
然后价格 
会随着楼层数的增加 
再继续增长 
x2是楼层数 
接着价格会继续增加 
随着卧室数的增加 
因为x3是 
卧室的数量 
但是呢 
房子的价格会 
随着使用年数的增加 
而贬值

这是重新改写过的假设的形式 
接下来 
我要来介绍一点 
简化这个等式的表示方式

为了表示方便 
我要将x下标0的值设为1

具体而言 这意味着 
对于第i个样本 
都有一个向量x上标(i) 
并且x上标(i) 
下标0等于1 
你可以认为我们 
定义了一个额外的第0个特征量 
因此 我过去有n个特征量 
因为我们有x1 x2 
直到xn 由于我另外定义了 
额外的第0个特征向量

并且它的取值 
总是1

所以我现在的特征向量x 
是一个从0开始标记的

n+1维的向量

所以现在就是一个 
n+1维的特征量向量 
但我要从0开始标记 
同时 
我也想把我的参数 
都看做一个向量 
所以我们的参数就是 
我们的θ0 
θ1 θ2 等等 
直到θn 
我们要把 
所有的参数都写成一个向量 
θ0 
θ2…一直到 
直到θn 
这里也有一个从0开始标记的矢量 
下标从0开始

这是另外一个

所以我的假设 
现在可以写成θ0乘以x0 
加上θ1乘以x1直到 
θn 乘以xn

这个等式 
和上面的等式是一样的 
因为你看 
x0等于1

下面 我要 
把这种形式假设等式 
写成 
θ转置乘以X 
取决于你对 
向量内积有多熟悉 
如果你展开 
θ转置乘以X 
那么就得到 
θ0 
θ1直到θn 
这个就是θ转置 
实际上 
这就是一个 
n+1乘以1维的矩阵 
也被称为行向量

用行向量 
与X向量相乘 
X向量是 
x0 x1等等 
直到xn

因此内积就是 
θ转置乘以X 
就等于这个等式 
这就为我们提供了一个 
表示假设的 
更加便利的形式 
即用参数向量θ以及 
特征向量X的内积 
这就是改写以后的 
表示方法 
这样的表示习惯 
就让我们 
可以以这种紧凑的形式写出假设 
这就是多特征量情况下的假设形式 
起另一个名字 
就是 
所谓的多元线性回归

多元一词 
也就是用来预测的多个特征量 
或者变量 
就是一种更加好听的说法罢了 
 

Any programming problem can be solved by adding a level of indirection.

– David J. Wheeler

No Comments

Sorry, the comment form is closed at this time.