吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)
2017-11-25 17:25
363 查看
线性回归处理多个特征值
(Linear Regression with multiple variables)
1、多特征值线性回归的假设函数形式
在之前的房价预测例子中,我们看到只有房屋面积一个特征值,现在增加特征值,比如,房屋使用时间,房间的数量,房屋楼层数等等n个features。就表示第i个样本的特征向量,表示第j个特征在第i个样本中的值。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/0d1ff78659727007c9cbe9bbc04a758c)
假设函数就变成了 ,这里假设第一个特征值x0为1.所以可以写成参数向量的转置乘以样本特征向量。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/22b90cb611482b072724caacb69ecc1e)
2、梯度下降
(1)Gradient descent for multiple variables
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/4fae1163ae153474259b068b83f92187)
(2)特征规模(Feature Scaling)
如果特征规模差别很大的画,得到的损失函数的图像不光滑,导致不利于函数的收敛,可以采用均值归一化的方法对其进行缩放
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/4100422b46842ed1ce45a5d9a4f00e8d)
(3)学习率(Learning rate)
一般看到不再变小就证明已经收敛,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/ec71b04a01a422b70222bd3ec656632f)
当学习率太小,会让收敛速度很慢,学习率太大会让有可能不是每一个迭代都会变小,还有可能不会收敛。对于学习率一般这么选择:0.001~0.003~0.01~0.03~0.1~0.3这样三倍选择。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/860aa386e58b6dc255d82d4d4475063e)
(4)特征和多项式回归(Features and polynomial regression)
对于房价预测的例子,如果有两个特征分别表示房屋地基的长和宽,那么我们可以用一个特征值s表示长和宽的乘积来设置假设函数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/82c508bee0dabc8602ab43c7b40b4433)
关于房价预测,如果是一个三次多项式能比较好的拟合数据的话,可以把特征值转换成、、这样又变成了的线性回归形式。但是要注意归一化处理,因为特征值之间规模差别太大。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/3a0167a3927577bf610e34e6b8105259)
当然还有一些特征值的选择可能能更好拟合数据
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/0ee9760aa63a63364ed27877301bcdb3)
3、标准方程法(Normal equation)
只用一次数学意义上的计算就能把所有的 θ 值都求出,当θ是标量时,就直接求出导数为
0 的点即可,当θ是向量时,要分别求出向量中的每个元素的偏导数令其为0
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/f668fd1723e5cb290253fb255aa99558)
依然是房价预测的例子,构造如下的矩阵:X,参数向量即为所求。也不需要考虑特征规模的问题。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/dce79fba339859d099692e0d4bc903e0)
公式证明:(这里要注意只有方阵才有逆矩阵,所以不能直接乘以X的逆,X转置乘以X为方阵)
假设函数:
y=X⋅θ
首先在等式两边同时左乘一个 XT,得到:
XTy=XTX⋅θ
已知:
A×A−1=E
再在等式两边同时左乘一个 (XTX)−1,得到: (XTX)−1XTy=(XTX)−1(XTX)⋅θ
求得:
θ=(XTX)−1XTy
最后编程求出θ
Octave: pinv(X’*X)*X’*y
如果矩阵 (XTX) 不可逆,原因:
1.存在冗余特征。
比如有两个特征
因为 1m=3.28feet,所以 x1=(3.28)2⋅x2。我们知道线性代数中出现这种线性相关的情况,其行列式值为0,所以不可逆,我们只需确保不会出现冗余特征即可。
2.特征数量 n 过多,而训练样本数 m 过少。
解决方法为删除一部分特征,或者增加样本数量。
4、梯度下降和Normal
equation的比较
梯度下降:需要选择学习率,需要很多次迭代,但是当样本数量很多的时候表现很好
Normal equation:不需要学习率,不用迭代,要计算,但是当样本很大时表现不好(时间复杂度就为 O(n3) )
样本数大于10000时最好用梯度下降,反之用Normal equation。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/1f2549f1d7358784a8772c6d3ac695be)
PPT地址:http://download.csdn.net/download/cheneykl/10127716
(Linear Regression with multiple variables)
1、多特征值线性回归的假设函数形式
在之前的房价预测例子中,我们看到只有房屋面积一个特征值,现在增加特征值,比如,房屋使用时间,房间的数量,房屋楼层数等等n个features。就表示第i个样本的特征向量,表示第j个特征在第i个样本中的值。
假设函数就变成了 ,这里假设第一个特征值x0为1.所以可以写成参数向量的转置乘以样本特征向量。
2、梯度下降
(1)Gradient descent for multiple variables
(2)特征规模(Feature Scaling)
如果特征规模差别很大的画,得到的损失函数的图像不光滑,导致不利于函数的收敛,可以采用均值归一化的方法对其进行缩放
(3)学习率(Learning rate)
一般看到不再变小就证明已经收敛,
当学习率太小,会让收敛速度很慢,学习率太大会让有可能不是每一个迭代都会变小,还有可能不会收敛。对于学习率一般这么选择:0.001~0.003~0.01~0.03~0.1~0.3这样三倍选择。
(4)特征和多项式回归(Features and polynomial regression)
对于房价预测的例子,如果有两个特征分别表示房屋地基的长和宽,那么我们可以用一个特征值s表示长和宽的乘积来设置假设函数
关于房价预测,如果是一个三次多项式能比较好的拟合数据的话,可以把特征值转换成、、这样又变成了的线性回归形式。但是要注意归一化处理,因为特征值之间规模差别太大。
当然还有一些特征值的选择可能能更好拟合数据
3、标准方程法(Normal equation)
只用一次数学意义上的计算就能把所有的 θ 值都求出,当θ是标量时,就直接求出导数为
0 的点即可,当θ是向量时,要分别求出向量中的每个元素的偏导数令其为0
依然是房价预测的例子,构造如下的矩阵:X,参数向量即为所求。也不需要考虑特征规模的问题。
公式证明:(这里要注意只有方阵才有逆矩阵,所以不能直接乘以X的逆,X转置乘以X为方阵)
假设函数:
y=X⋅θ
首先在等式两边同时左乘一个 XT,得到:
XTy=XTX⋅θ
已知:
A×A−1=E
再在等式两边同时左乘一个 (XTX)−1,得到: (XTX)−1XTy=(XTX)−1(XTX)⋅θ
求得:
θ=(XTX)−1XTy
最后编程求出θ
Octave: pinv(X’*X)*X’*y
如果矩阵 (XTX) 不可逆,原因:
1.存在冗余特征。
比如有两个特征
x1 | x2 | |
---|---|---|
meaning | size in feet2 | size in m2 |
2.特征数量 n 过多,而训练样本数 m 过少。
解决方法为删除一部分特征,或者增加样本数量。
4、梯度下降和Normal
equation的比较
梯度下降:需要选择学习率,需要很多次迭代,但是当样本数量很多的时候表现很好
Normal equation:不需要学习率,不用迭代,要计算,但是当样本很大时表现不好(时间复杂度就为 O(n3) )
样本数大于10000时最好用梯度下降,反之用Normal equation。
PPT地址:http://download.csdn.net/download/cheneykl/10127716
相关文章推荐
- 吴恩达 机器学习笔记二(lecture 2)(损失函数、梯度下降)
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(4.梯度下降)
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
- 机器学习笔记03:Normal equation与梯度下降的比较
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第二周(1.多元线性回归及多元线性回归的梯度下降)
- 吴恩达 机器学习笔记六(lecture 6)(逻辑回归LR)
- 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- 斯坦福大学机器学习课程笔记: 逻辑回归以及梯度下降
- 机器学习笔记2-梯度下降(Gradient decent)
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)
- 机器学习笔记三:梯度下降
- Andrew Ng 机器学习笔记 02 :线性回归与梯度下降
- 机器学习笔记(1)-线性回归,梯度下降,logistic回归
- 机器学习深度学习基础笔记(2)——梯度下降之手写数字识别算法实现
- 机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)
- 机器学习笔记二:监督学习应用:梯度下降
- 机器学习--吴恩达(线性回归,梯度下降,正规方程法)
- 吴恩达 机器学习笔记三(lecture 3)(矩阵和向量)
- 机器学习笔记一二 - 线性规划 梯度下降 正规方程
- 机器学习笔记1——线性回归,梯度下降