吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


线性回归处理多个特征值

(Linear Regression with multiple variables)



1、多特征值线性回归的假设函数形式


在之前的房价预测例子中,我们看到只有房屋面积一个特征值,现在增加特征值,比如,房屋使用时间,房间的数量,房屋楼层数等等n个features。吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)就表示第i个样本的特征向量,吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)表示第j个特征在第i个样本中的值。

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


假设函数就变成了吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation) ,这里假设第一个特征值x0为1.所以可以写成参数向量的转置乘以样本特征向量。

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


2、梯度下降


(1)Gradient descent for multiple variables


吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


(2)特征规模(Feature Scaling)


如果特征规模差别很大的画,得到的损失函数的图像不光滑,导致不利于函数的收敛,可以采用均值归一化的方法对其进行缩放

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


 

(3)学习率(Learning rate)


一般看到吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)不再变小就证明已经收敛,

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


当学习率太小,会让收敛速度很慢,学习率太大会让吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)有可能不是每一个迭代都会变小,还有可能不会收敛。对于学习率一般这么选择:0.001~0.003~0.01~0.03~0.1~0.3这样三倍选择。

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


(4)特征和多项式回归(Features and polynomial regression)


对于房价预测的例子,如果有两个特征分别表示房屋地基的长和宽,那么我们可以用一个特征值s表示长和宽的乘积来设置假设函数

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)

关于房价预测,如果是一个三次多项式能比较好的拟合数据的话,可以把特征值转换成吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)这样又变成了吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)的线性回归形式。但是要注意归一化处理,因为特征值之间规模差别太大。

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


当然还有一些特征值的选择可能能更好拟合数据

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)


3、标准方程法(Normal equation)


只用一次数学意义上的计算就能把所有的 θ 值都求出,当θ是标量时,就直接求出导数为 0 的点即可,当θ是向量时,要分别求出向量中的每个元素的偏导数令其为0

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)



依然是房价预测的例子,构造如下的矩阵:X,参数向量吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)即为所求。也不需要考虑特征规模的问题。

吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)




吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)公式证明:(这里要注意只有方阵才有逆矩阵,所以不能直接乘以X的逆,X转置乘以X为方阵)


假设函数:                                                                y=Xθ



首先在等式两边同时左乘一个 XT,得到:              XTy=XTXθ



已知:                                                                     A×A1=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

因为 1m=3.28feet,所以 x1=(3.28)2x2。我们知道线性代数中出现这种线性相关的情况,其行列式值为0,所以不可逆,我们只需确保不会出现冗余特征即可。 
2.特征数量 n 过多,而训练样本数 m 过少。 
解决方法为删除一部分特征,或者增加样本数量。



4、梯度下降和Normal equation的比较


梯度下降:需要选择学习率,需要很多次迭代,但是当样本数量很多的时候表现很好
Normal equation:不需要学习率,不用迭代,要计算吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation),但是当样本很大时表现不好(时间复杂度就为 O(n3) 
样本数大于10000时最好用梯度下降,反之用Normal equation。
吴恩达 机器学习笔记四(lecture 4)(多特征值,梯度下降与Normal equation)



PPT地址:http://download.****.net/download/cheneykl/10127716