Stanford公开课机器学习---3.多变量线性回归 (Linear Regression with multiple variable)

3.多变量线性回归 (Linear Regression with multiple variable)


3.1 多维特征(Multiple Features)

  • n 代表特征的数量
  • x(i)代表第 i 个训练实例,是特征矩阵中的第 i 行,是一个向量(vector)。
  • x(i)j代表特征矩阵中第 i 行的第 j 个特征,也就是第 i 个训练实例的第 j 个特征。

多维线性方程:

hθ=θ0+θ1x+θ2x+...+θnx

这个公式中有 n+1 个参数和 n 个变量,为了使得公式能够简化一些,引入 x0=1, 所以参数θ和训练样本X都是n+1 纬的向量

θ=??????θ0θ1?θn??????

X=??????x0x1?xn??????

多维线性方程 简化为:

hθ=θTX


3.2 多变量梯度下降(Gradient descent for multiple variables)

cost function :

J(θ)=12m∑1m(hθ(x(i))?y(i))2

在 Octave 中,写作: J = sum((X * theta - y).^2)/(2*m);

梯度下降公式:

θj:=θj?α??θjJ(θ0,θ1)

=θj?α1m∑1m((hθ(x(i))?y(i))?x(i)j)

在 Octave 中,写作:

theta=theta?alpha/m?X′?(X?theta?y);


3.3 特征缩放(feature scaling)

以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0- 2000 平方英尺,而房间数量的值则是 0-5,绘制代价函数的等高线图,看出图像会显得很扁,梯度下降算法下降的慢,而且可能来回震荡才能收敛。

mean normalization

解决的方法是尝试将所有特征的尺度都尽量归一化到-1 到 1 之间。最简单的方法是令xi?μi 代替 xi,使得特征的平均值接近0(x0除外) :

xn=xn?μnsn

其中 ? μn是平均值, sn 是标准差sn 或特征范围max(xi)?min(xi)


3.4 学习率(Learning rate)

  1. 确保梯度下降working correctly

    绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。下降说明正常

若增大或来回波动,可能是α过大

2.如何选取 α

先在10倍之间取,找到合适的区间后,在其中再细化为3倍左右(log)

We recommend trying values of the learning rate α on a log-scale, at multiplicative steps of about 3 times the previous value

α=…,0.001,0.01,0.1,1,…

α=…,0.001,0.03,0.01,0.03,0.1,0.3,1,…


3.5 多项式回归(Features and Polynomial Regression)

房价预测问题

已知x1=frontage(临街宽度),x2=depth(纵向深度),则hθ=θ0+θ1x1+θ2x2

若用 x=frontage*depth=area(面积),则hθ=θ0+θ1x 会得到更有意义的回归方程

线性回归并不适用于所有数据,有时我们需要曲线来适应我们的数据,比如一个二次方模型或三次方模型(考虑到二次方程的话总会到最高点后随着size↑,price↓,不合常理;因此选用三次方程进行拟合更合适。):

或采用第二个式子:

特征归一化很重要,使得不同feature之间有可比性


3.6 正规方程(Normal Equation)

之前用梯度下降算法,但是对于某些线性回归问题,正规方程方法更好。

要找到使cost function J(θ)最小的θ,就是找到使得导数取0时的参数θ:

??θjJ(θ)=1m∑1m((hθ(x(i))?y(i))?x(i)j)=0

X是m×(n+1)的矩阵,y是m×1的矩阵,正规方程(Normal Equation):

θ=(XTX)?1XTy

在 Octave 中,正规方程写作:

pinv(X′?X)?X′?y

注:对于那些不可逆的矩阵(通常是因为特征之间不独立,或特征数量大于训练集的数量),正规方程方法是不能用的。

梯度下降 正规方程
需要选择学习率α 不需要
需要多次迭代 一次运算得出
当特征数量n大时也能较好适用 如果特征数量n较大则运算代价大,因为(XTX)?1的计算时间复杂度为 O(n3)(当 n < 10000 时还是可以接受的)
适用于各种类型的模型 只适用于线性模型,不适合逻辑回归模型等其他模型
需要特征值归一化 不需要

3.7 练习


时间: 2024-10-09 16:43:11

Stanford公开课机器学习---3.多变量线性回归 (Linear Regression with multiple variable)的相关文章

Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machine

【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(

Ng第四课:多变量线性回归(Linear Regression with Multiple Variables)

4.1  多维特征 4.2  多变量梯度下降 4.3  梯度下降法实践 1-特征缩放 4.4  梯度下降法实践 2-学习率 4.5  特征和多项式回归 4.6  正规方程 4.7  正规方程及不可逆性(可选) 4.1  多维特征 目前为止,探讨了单变量/特征的回归模型,现在对房价模型增加更多的特征 增添更多特征后,引入一系列新的注释: n  代表特征的数量 代表第 i  个训练实例,是特征矩阵中的第 i 行,是一个向量(vector).    (图中给转置了) 代表特征矩阵中第 i 行的第j 个

机器学习 (一) 单变量线性回归 Linear Regression with One Variable

文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang和 JerryLead 的个人笔记,为我做个人学习笔记提供了很好的参考和榜样. § 1.  单变量线性回归 Linear Regression with One Variable 1. 代价函数Cost Function 在单变量线性回归中,已知有一个训练集有一些关于x.y的数据(如×所示),当我们的预测值

Stanford公开课机器学习---2.单变量线性回归(Linear Regression with One Variable)

单变量线性回归(Linear Regression with One Variable) 2.1 模型表达(Model Representation) m 代表训练集中实例的数量 x 代表特征/输入变量 y 代表目标变量/输出变量 (x,y) 代表训练集中的实例 (x(i),y(i) ) 代表第 i 个观察实例 h 代表学习算法的解决方案或函数也称为假设(hypothesis) 单变量线性回归:只含有一个特征/输入变量 x hθ=θ0+θ1x 2.2 代价函数(Cost Function) 目标

机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)

第二章 单变量线性回归(Linear Regression with One Variable) <模型表示(Model Representation)>                                                             <代价函数(Cost Function)>                                                          <梯度下降(Gradient Descent)

【Stanford Open Courses】Machine Learning:Linear Regression with One Variable (Week 1)

从Ⅱ到Ⅳ都在讲的是线性回归,其中第Ⅱ章讲得是简单线性回归(simple linear regression, SLR)(单变量),第Ⅲ章讲的是线代基础,第Ⅳ章讲的是多元回归(大于一个自变量). 本文的目的主要是对Ⅱ章中出现的一些算法进行实现,适合的人群为已经看完本章节Stanford课程的学者.本人只是一名初学者,尽可能以白话的方式来说明问题.不足之处,还请指正. 在开始讨论具体步骤之前,首先给出简要的思维路线: 1.拥有一个点集,为了得到一条最佳拟合的直线: 2.通过"最小二乘法"来

Ng第二课:单变量线性回归(Linear Regression with One Variable)

二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 2.4  梯度下降 2.5  梯度下降的直观理解 2.6  梯度下降的线性回归 2.7  接下来的内容 2.1  模型表示 之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下: m                代表训练集中实例的数量 x          

多元线性回归(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使得训练数据到拟合出的数据的欧式距离最小.如下图所示,使所有红点(训练