Coursera公开课机器学习:Linear Regression with multiple variables

多特征



实际上我们真正买过房子的都知道,在选择房子的时候,需要考虑的不仅仅是面积,地段、结构、房龄、邻里关系之类的都应该是考虑对象,所以前面几讲谈论的,单纯用面积来谈房价,不免失之偏颇。

多考虑些特性

我们加入一些特性来考虑房价问题:

符号解释

$n$:特性数目

$x ^{(i)}$:输入的第$i$个训练数据

$x ^{(i)} _j$:第$i$个训练数据的第$j$个特性

$h _\theta (x)$

相应的,$h _\theta (x)$也就变了:

$h _\theta (x) = \theta _0 + \theta _1 x _1 + \theta _2 x _2 + \cdots +\theta _n x _n$

结合上节的向量内容,加上$x _0 = 1$,可得到:

$$
\matrix{x}=
\begin{bmatrix}
x _0 \cr
x _1 \cr
\vdots \cr
x _n \cr
\end{bmatrix}
\matrix{\theta}=
\begin{bmatrix}
\theta _0 \cr
\theta _1 \cr
\vdots \cr
\theta _n \cr
\end{bmatrix}
$$

$h _\theta (x) = \matrix{\theta} ^T \matrix{x}$

其中,$x _0 = 1$

代价函数

$J(\matrix{\theta})=J(\theta _0,\theta _1,\cdots,\theta _n)=\frac{1}{2m}\sum _{i=1}^m{(h _\theta(x^{(i)}) - y^{(i)})^2}$

多变量梯度下降



如上一讲所述,重复下面的公式直至收敛:

$\theta _j = \theta _j -\alpha \frac{\partial}{\partial \theta _j}J(\theta _0,\theta _1,\cdots,\theta _n)$

把微分方程计算开,即:

$\theta _j = \theta _j -\alpha \frac{1}{m}\sum _{i=1}^m{(h _\theta(x^{(i)}) - y^{(i)}) x ^{(i)} _j}$

特征值归一化



在实际运作中,难免会遇到特征值很大的情况,比如说1~10000000,这时候如果想要处理的话,计算量很大,不是很利于实际操作,所以缩小下范围是个不错的选择。

归一化,其实就是把数据处理下,限制在某一特定范围,便于后续处理,且能加快程序收敛速度。

均值归一化

$x _i=\frac {x _i - \bar{x}} {\sigma}$

$\sigma=\sqrt{\frac {1} {n} \sum _{i=1} ^n {(x _i -\bar{x}) ^2}}$

步长的选择



步长的选择,单变量、多变量并没有什么区别,不能过大,不能过小,至于原因,可以看上一讲的东西,其实都一样。

多项式回归


合并部分特征

如果说房子给出了长、宽两项来预测房价,我们都知道的,两变量处理起来比单变量麻烦,其实这时候完全可以用面积来代替长、宽,这样只有一个变量,处理起来也方便很多。

多项式

可能有时候线性回归不能很好拟合给定的样本,比如说房价预测:

$h _\theta (x) = \theta _0 +\theta _1(size) +\theta _2{(size)} ^2 +\theta _3 {(size)} ^3$

可能这种式子能更好拟合样本,这时候看式子里有平方、立方,不是线性的了。

其实可以转变成线性的:

$x _1=(size)$

$x _2={(size)} ^2$

$x _3={(size)} ^3$

这样替换进去又是我们熟悉的多变量回归了。

同样开根号也是可以根据实际情况去选择的,处理的时候同上述方法。

正规方程



除了迭代法之外,其实利用线性代数只是,是可以直接算出$\matrix{\theta}$的。

举个例子,4组特性的房价预测:

最小二乘法

$\theta = (\matrix{X} ^T \matrix{X})^{-1}\matrix{X} ^T \matrix{y}$

梯度下降、正规方程优缺点

梯度下降:

  • 需要合适的步幅$\alpha$;
  • 需要多轮迭代;
  • 即便$n$很大,效果也很好。

正规方程:

  • 不需要选择$\alpha$;
  • 不需要迭代,一次搞定;
  • 计算$(\matrix{X} ^T \matrix{X})^{-1}$,时间复杂度$O(n ^3)$;
  • 如果$n$很大,运算起来非常慢。

正规方程矩阵不可逆的处理方法



$\matrix{X} ^T \matrix{X}$不可逆处理方式:

  • 去掉冗余特性;
  • 删除过多特征。

参考信息



本篇主要参考了以下资料:

Coursera公开课机器学习:Linear Regression with multiple variables

时间: 2024-10-12 12:36:24

Coursera公开课机器学习:Linear Regression with multiple variables的相关文章

Coursera公开课机器学习:Linear Algebra Review(选修)

这节主要是回顾了下线性代数的一些简单知识. 矩阵与向量 矩阵 由$m\times n$个数$a _{ij}(i=1,2,...,m;j=1,2,...,n)$排成的$m$行$n$列的数表,称为$m$行$n$列的矩阵,简称$m\times n$矩阵,记作: $$ \matrix{A}= \begin{bmatrix} a _{11} & a _{12} & \cdots & a _{1n} \cr a _{21} & a _{22} & \cdots & a

Coursera公开课机器学习:Introduction

机器学习的定义 Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed. Tom Mitchell (1998) Well-posed Learning Problem: A computer program is said to learnfrom experience E with r

Machine Learning:Linear Regression With Multiple Variables

Machine Learning:Linear Regression With Multiple Variables 接着上次预测房子售价的例子,引出多变量的线性回归. 在这里我们用向量的表示方法使表达式更加简洁. 变量梯度下降跟单变量一样需同步更新所有的theta值. 进行feature scaling的原因是为了使gradient descent算法收敛速度加快.如下图所示,左图theta2与theta1的量级相差太大,这样导致Cost Function的等高图为一个细高的椭圆形状,可以看到

Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)

%第一列为 size of House(feet^2),第二列为 number of bedroom,第三列为 price of House 1 2104,3,399900 2 1600,3,329900 3 2400,3,369000 4 1416,2,232000 5 3000,4,539900 6 1985,4,299900 7 1534,3,314900 8 1427,3,198999 9 1380,3,212000 10 1494,3,242500 11 1940,4,239999 1

多元线性回归(Linear Regression with multiple variables)与最小二乘(least squat)

1.线性回归介绍 X指训练数据的feature,beta指待估计得参数. 详细见http://zh.wikipedia.org/wiki/%E4%B8%80%E8%88%AC%E7%BA%BF%E6%80%A7%E6%A8%A1%E5%9E%8B 使用最小二乘法拟合的普通线性回归是数据建模的基本方法. 令最小二乘项的偏导为0(为0时RSS项最小),求Beta估计值,得到最小二乘的向量形式. 最小二乘其实就是找出一组参数beta使得训练数据到拟合出的数据的欧式距离最小.如下图所示,使所有红点(训练

Machine Learning - IV. Linear Regression with Multiple Variables (Week 2)

http://blog.csdn.net/pipisorry/article/details/43529845 机器学习Machine Learning - Andrew NG courses学习笔记 multivariate linear regression多变量线性规划 (linear regression works with multiple variables or with multiple features) Multiple Features(variables)多特征(变量)

机器学习之多变量线性回归(Linear Regression with multiple variables)

1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量(变量)--房屋面积x.我们希望使用这个特征量来预测房子的价格.我们的假设在下图中用蓝线划出: 不妨思考一下,如果我们不仅仅知道房屋面积(作为预测房屋价格的特征量(变量)),我们还知道卧室的数量.楼层的数量以及房屋的使用年限,那么这就给了我们更多可以用来预测房屋价格的信息. 即,支持多变量的假设为:

【stanford 机器学习】学习笔记(2)--多变量线性回归(Linear Regression with Multiple Variables)

课程来自斯坦福大学吴恩达教授 machine learning: https://www.coursera.org/learn/machine-learning/home/welcome 多变量线性回归主要包括以下部分: 1) Multiple features(多维特征) 2) Gradient descent for multiple variables(梯度下降在多变量线性回归中的应用) 3) Gradient descent in practice I: Feature Scaling(

机器学习笔记-1 Linear Regression with Multiple Variables(week 2)

1. Multiple Features note:X0 is equal to 1 2. Feature Scaling Idea: make sure features are on a similiar scale, approximately a -1<Xi<1 range For example: x1 = size (0-2000 feet^2) max-min or standard deviation x2 = number of bedrooms(1-5) The conto