Machine Learning_Ng 第四讲 多变量线性回归

在第四讲中,主要学习了多变量线性回归(Linear Regression with Multiple Variables)的多维特征、多变量梯度下降、特征缩放、特征和多项式回归以及正规方程等。

# 多维特征(Multiple Features)



为房价模型增加更多的特征,如房间楼层数等,则构成了一个含有多个变量的模型。

假设$h_\theta(x)=\theta_0+\theta_1*x_1+\theta_2*x_2+…+\theta_n*x_n$,

设x_0=1,则存在$h_\theta(x)=\theta^T*X$,其中T表示矩阵转置且

$\theta= \left [ \begin{matrix} \theta_0\\ \theta_1 \\\vdots  \\ \theta_n \end{matrix} \right]  \quad X=\left[ \begin{matrix}  x_0 \\x_1 \\ \vdots \\x_n \end{matrix} \right] $

# 多变量梯度下降(Gradient Descent for Multiple Variables)



多变量线性回归和单变量线性回归类似,代价函数也为所有建模误差的平方和,即

$J(\theta_0,\theta_1,\cdots,\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 \quad 其中,h_\theta(x)=\theta^T*X=\theta_0+\theta_1*x_1+\theta_2*x_2+…+\theta_n*x_n$

# 梯度下降法实践1-特征缩放(Feature Scaling)



在面对多维特征向量时,我们要保证这些特征都具有相近的维度。以房价问题为例,若房屋尺寸为0-2000平方英尺,而房间数量为0-5,以这两个参数分别为横纵坐标绘制代价函数的等高线图时,图形会特别扁,导致梯度下降算法需要非常多次的迭代才能收敛。此时,解决方法一般为尝试将所有特征的尺度都尽量缩放到-1到1之间

# 梯度下降法实践2-学习率(Learning Rate)



我们通过绘制当前迭代次数和代价函数的图表来观测梯度下降算法是否正确工作

梯度下降算法的每次迭代受到学习率的影响,如果学习率α 过小,则达到收敛所需的迭代次数会非常高;如果学习率α 过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。 通常可以考虑尝试些学习率:
α=0.01,0.03,0.1,0.3,1,3,10

# 特征和多项式回归(Features and Polynomial Regression)



线性回归并不适用于所有数据,有时我们需要用曲线来拟合我们的数据,如多元二次方程或三次方程。

注:若我们采用多项式回归模型,在运行梯度下降算法前,特征缩放非常重要。

# 正规方程(Normal Equation)



相比于线性回归中的梯度下降法(通过多次迭代算法来得到代价函数的局部最小值),有时候正规方程解决线性回归问题更高效。正规方程是通过求解代价函数导数为0来找出使得代价函数最小的参数的。

假设我们的训练集特征矩阵为X(包含了$x_0=1$),并且我们的训练集结果为向量y,则利用正规方程可解出向量$\theta=(X^TX)^{-1}X^Ty$

总结一下,只要特征变量数量小于一万,通常使用正规方程法,而不使用梯度下降法。 随着我们要讲的学习算法越来越复杂,例如,当我们讲到分类算法,像逻辑回归算法, 我们会看到, 实际上对于那些算法,并不能使用正规方程法。对于那些更复杂的学习算法, 我们将不得不仍然使用梯度下降法。因此,梯度下降法是一个非常有用的算法,可以用在有 大量特征变量的线性回归问题。或者我们以后在课程中,会讲到的一些其他的算法,因为标 准方程法不适合或者不能用在它们上。但对于这个特定的线性回归模型,标准方程法是一个 比梯度下降法更快的替代算法。所以,根据具体的问题,以及你的特征变量的数量,这两种 算法都是值得学习的。

参考链接

1.https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

2.https://github.com/HuangCongQing/MachineLearning_Ng

注:码字不易,若您转载,请务必注明出处:https://www.cnblogs.com/jngwl/

原文地址:https://www.cnblogs.com/jngwl/p/10146184.html

时间: 2024-10-09 07:09:39

Machine Learning_Ng 第四讲 多变量线性回归的相关文章

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

Machine Learning笔记(三) 多变量线性回归

Machine Learning笔记(三) 多变量线性回归 注:本文内容资源来自 Andrew Ng 在 Coursera上的 Machine Learning 课程,在此向 Andrew Ng 致敬. 一.多特征(Multiple Features) 笔记(二)中所讨论的房价问题,只考虑了房屋尺寸(Size)一个特征,如图所示: 这样只有单一特征的数据,往往难以帮助我们准确的预测房价走势.因此,考虑采集多个特征的数据值,往往能提升预测效果.例如,选取如下4个特征作为输入值时的情况: 对一些概念

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 个

Stanford机器学习---第十四讲.机器学习应用举例之Photo OCR

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

机器学习——多变量线性回归

[一.多变量线性回归模型] 多变量线性回归是指输入为多维特征的情况,例如: 在上图中可看出房子的价格price由四个变量(size.number of bedrooms.number of floors .age of home)决定,为了能够预测给定条件(四个变量)下的房子的价格(y),我们需要建立相应的线性回归模型. 假设有n个变量,则相应的多变量线性回归模型如下: 注意上图中的x是指一个训练样本,即每个训练样本都是一个(n+1)维向量(包含附加的x0=1) [二.代价函数] 多变量线性回归

机器学习中使用的神经网络第四讲笔记

Geoffery Hinton教授的Neuron Networks for Machine Learning的第四讲主要介绍如何使用back propagation算法来学习到词汇的特征表示. Learning to predict the next word 接下来的几小节主要介绍如何使用back propagation算法来学习到词汇的特征表示.我们从一个很简单的例子开始,介绍使用back propagation算法来将词汇间的相关信息转换成特征向量. 下图给出了一个家庭的树状图,我们要做的

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

机器学习(3)——多变量线性回归

[一.多变量线性回归模型] 多变量线性回归是指输入为多维特征的情况.比如: 在上图中可看出房子的价格price由四个变量(size.number of bedrooms.number of floors .age of home)决定.为了能够预測给定条件(四个变量)下的房子的价格(y),我们须要建立对应的线性回归模型. 如果有n个变量,则对应的多变量线性回归模型例如以下: 注意上图中的x是指一个训练样本,即每一个训练样本都是一个(n+1)维向量(包括附加的x0=1) [二.代价函数] 多变量线

第四讲课后题

本讲主要学习了静态类的使用方法: 1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?". 代码: 1 package 课后四讲; 2 3 import javax.swing.JOptionPane; 4 5 class Example 6 { 7 static int value=0; 8 public Example() 9 { 10 value++; 11 12 } 13 } 14 public cl