您的位置:首页 > 大数据 > 人工智能

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

2017-11-25 17:25 363 查看
线性回归处理多个特征值

(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.存在冗余特征。 

比如有两个特征
x1x2
meaningsize in feet2size in m2
因为 1m=3.28feet,所以 x1=(3.28)2⋅x2。我们知道线性代数中出现这种线性相关的情况,其行列式值为0,所以不可逆,我们只需确保不会出现冗余特征即可。 

2.特征数量 n 过多,而训练样本数 m 过少。 

解决方法为删除一部分特征,或者增加样本数量。

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


梯度下降:需要选择学习率,需要很多次迭代,但是当样本数量很多的时候表现很好
Normal equation:不需要学习率,不用迭代,要计算,但是当样本很大时表现不好(时间复杂度就为 O(n3) )

样本数大于10000时最好用梯度下降,反之用Normal equation。



PPT地址:http://download.csdn.net/download/cheneykl/10127716
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐