Linear regression with multiple variables(多特征值的线性回归)
2014-10-09 13:56
232 查看
背景:
在实际情况下,房屋的价格不是单单与一个特征值相关,其往往更像下图这种情况:
它与房子的大小、房间的数量、楼层的数量、房屋的年龄等一系列因素有关。
所以其假设函数可能是以下形式:
形如上式:当假设函数预测者与多个features相关时,梯度下降函数编写如下:
多数情况下,X0会等于1,即假设函数通常会有一个常数项
下边是相应的梯度下降函数:
当feature的数量为1时:
当feature的数量>1时:
通常情况下theta0的所对应的X0通常为常数。
线性回归在多特征值的情况下,theta局部最佳值的寻找技巧:
左边情况,在对theta进行梯度下降计算时
由于
的值过大,所以导致寻找theta的路径过于抖动,所花时间过长,就如上图左边所示。
而右图情况当确定各个feature的范围时,我们对x/scale,其就会变成个一个绝对值小于等于1的数字,这样寻找theta局部最优解时所花费的时间就要小很多。
所以我们的思想是:
在不影响正确结果的情况下,将x的范围尽量确定在一个比较小的范围内。
所用的方法为:mean normalization(均值归一化/特征缩放)
方法说明: 我们用 (x-average value of x)/(range ofx) range of x = max of x – min of x 。
技巧2:关于下降速率 alpha的技巧
学习速率也是保证梯度下降算法能快速准确聚合的一个关键因素。
确保梯度下降算法正常运行的技巧
如何选择正确的学习速率alpha.
如果学习速率选择正确的话,cost function在每次迭代以后都会减少,当迭代到一定地步的时候cost function J的大小将基本保持不变。确定一个阀值是关键并且是非常困难的,即当每次减少的数量小于多少时我们就认定J每次减少的大小可以忽略不计。
一些表现出costfunction没有正常工作的情况:
当J的值在每次迭代后,它的值持续增加说明alpha没有正确选择,正如上图右边所示,所以我们要做的是缩小alpha的值。
还有一次情况,当alpha的值选择的过于小的时候,cost function J需要花费过长时间去收敛到最低点。
总结:
如果学习速率选择过小的话,聚合过程将是一个非常漫长的过程,如果学习速率选择过大的话可能会出现J会随着每次迭代变得越来越大,Ng老师的建议是
措施按数量级选择alpha进行实验。每次十倍地增长alpha的值,多次试验选择最适合的alpha值。
Features andpolynomial regression(特征值和多项式回归)
根据实际情况,假设等式可能是一次方可能是二次方等等
Normal equation:
一种更好的方式寻找参数theta
Normal equation算法:
其主要用到的是线性代数求逆矩阵的思想。
Gradient descent算法和normal equation 算法比较:
当feature非常大,Ng老师给的建议是如果feature的纬度是100000时可能就要选择gradient descent 算法,因为矩阵运算也是一个比较费cpu和内存的运算。
Normal equationand non-invertibility(正规方程和不可逆性):
这节课讲的正好是我的迷惑所在,可能是当时大一的线性代数没有学好吧…好,让我们来看一下不可逆性:
在什么情况下可能出现X’X不可逆?
但是Ng老师指出,我们在训练数据的时候所用的是伪逆(另一种求逆矩阵的库),所以一般不会出问题(待学习)。
在实际情况下,房屋的价格不是单单与一个特征值相关,其往往更像下图这种情况:
它与房子的大小、房间的数量、楼层的数量、房屋的年龄等一系列因素有关。
所以其假设函数可能是以下形式:
形如上式:当假设函数预测者与多个features相关时,梯度下降函数编写如下:
多数情况下,X0会等于1,即假设函数通常会有一个常数项
下边是相应的梯度下降函数:
当feature的数量为1时:
当feature的数量>1时:
通常情况下theta0的所对应的X0通常为常数。
线性回归在多特征值的情况下,theta局部最佳值的寻找技巧:
左边情况,在对theta进行梯度下降计算时
由于
的值过大,所以导致寻找theta的路径过于抖动,所花时间过长,就如上图左边所示。
而右图情况当确定各个feature的范围时,我们对x/scale,其就会变成个一个绝对值小于等于1的数字,这样寻找theta局部最优解时所花费的时间就要小很多。
所以我们的思想是:
在不影响正确结果的情况下,将x的范围尽量确定在一个比较小的范围内。
所用的方法为:mean normalization(均值归一化/特征缩放)
方法说明: 我们用 (x-average value of x)/(range ofx) range of x = max of x – min of x 。
技巧2:关于下降速率 alpha的技巧
学习速率也是保证梯度下降算法能快速准确聚合的一个关键因素。
确保梯度下降算法正常运行的技巧
如何选择正确的学习速率alpha.
如果学习速率选择正确的话,cost function在每次迭代以后都会减少,当迭代到一定地步的时候cost function J的大小将基本保持不变。确定一个阀值是关键并且是非常困难的,即当每次减少的数量小于多少时我们就认定J每次减少的大小可以忽略不计。
一些表现出costfunction没有正常工作的情况:
当J的值在每次迭代后,它的值持续增加说明alpha没有正确选择,正如上图右边所示,所以我们要做的是缩小alpha的值。
还有一次情况,当alpha的值选择的过于小的时候,cost function J需要花费过长时间去收敛到最低点。
总结:
如果学习速率选择过小的话,聚合过程将是一个非常漫长的过程,如果学习速率选择过大的话可能会出现J会随着每次迭代变得越来越大,Ng老师的建议是
措施按数量级选择alpha进行实验。每次十倍地增长alpha的值,多次试验选择最适合的alpha值。
Features andpolynomial regression(特征值和多项式回归)
根据实际情况,假设等式可能是一次方可能是二次方等等
Normal equation:
一种更好的方式寻找参数theta
Normal equation算法:
其主要用到的是线性代数求逆矩阵的思想。
Gradient descent算法和normal equation 算法比较:
当feature非常大,Ng老师给的建议是如果feature的纬度是100000时可能就要选择gradient descent 算法,因为矩阵运算也是一个比较费cpu和内存的运算。
Normal equationand non-invertibility(正规方程和不可逆性):
这节课讲的正好是我的迷惑所在,可能是当时大一的线性代数没有学好吧…好,让我们来看一下不可逆性:
在什么情况下可能出现X’X不可逆?
但是Ng老师指出,我们在训练数据的时候所用的是伪逆(另一种求逆矩阵的库),所以一般不会出问题(待学习)。
相关文章推荐
- 机器学习:多变量线性回归(Linear Regression with Multiple Variables)
- 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”笔记
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Stanford ML - Linear regression with multiple variables 多变量线性回归
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
- Andrew Ng 《MachineLearning》第二讲——多变量线性回归(LinearRegression with Multiple Variables)&梯度下降
- python实现多变量线性回归(Linear Regression with Multiple Variables)
- 机器学习之2-多变量线性回归(Linear Regression with Multiple Variables)
- Standford 机器学习—第二讲 Linear Regression with multiple variables(多变量线性回归)
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
- 【Stanford机器学习笔记】2-Linear Regression with Multiple Variables
- 3. Linear Regression with Multiple Variables
- Coursera机器学习-Week 2-测验:Linear Regression with Multiple Variables
- Coursera-吴恩达-机器学习-(第2周笔记)Linear Regression with Multiple Variables
- Machine Learning - IV. Linear Regression with Multiple Variables多变量线性规划 (Week 2)
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable