本文主要是介绍机器学习第二周--Multiple features Normal equation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 多变量的线性回归
- 多变量
- 特征缩放
- 均值归一化
- 学习速率
- 多项式回归
- 常规方程
- 常规方程和梯度下降比较
多变量的线性回归
第一周内容针对单变量,也就是一个feature。这此考虑多变量,即多个features。
仍然与预测房价为例,影响房价的因素不只有面积,我们加入卧室数量、楼层、房龄,这些可看作新加入的feature。由此我们有以下表示:
m是样本数目,n是特征数目,X的上标表示第i个训练样本;X的下标表示第j个特征。
多变量
相应的推导多特征下的各种函数如下:
(为了方便向量化运算,取 x1 =1)
把损失函数带入化简(化简过程见第一周):
分解求 θ 具体步骤如下:
注意:这里x下标为0为1,是我们方便向量化在 θ0 项乘 x0 并置 x0 =1(见上)。计算 θ1 时,只取第一个feature即 x1 计算。
特征缩放
特征缩放(feature scaling):以预测房价为例,一个特征为房屋面积,如2000,而一个是房间内的卧室数量2间,很明显这俩个特征不在一个数量级别上,如果直接以这俩个特征进行运算,则迭代的速度非常慢,“以螺旋方式迭代收敛”,为加快迭代速度,采用特征缩放,来确保所有特征在相似的尺度,最好是每个特征缩放后的范围在[-1,1],如本例,缩放房屋面积, 2000max(size) ,卧室数量, 2max(numbers) 。
均值归一化
对特征缩放后,我们再采用归一化操作:
这里采用的是均值归一化( x0 不作归一化),均值归一化的结果是数据都转化到[0,1]内;以房屋面积为例, x1=size1−mean(size)max(size)−min(size) 。当分母用标准差代替,我们称为0均值归一化,0均值归一化的结果是均值为0,方差为1的数据集
学习速率
学习速率( α ):同单特征一样,学习速率的选择尤为重要,以{0.001,0.01,0.1,1……}为标准,每项乘3穿插选择。
多项式回归
多项式回归:当线性回归拟合数据效果不好时,考虑多项式回归,其中假设函数选取不同,其他函数跟线性回归一样的。
考虑以下数据:
很明显随着size的不断增大,线性回归不能很好的拟合price了,这是考虑多项式,当采用第一个假设函数时,是一个二次函数,随着size的增大,price反而下降,明显不对,由数学知识, x√ 的图像能很好的反应price的变化,所以用第二个函数做假设函数。
常规方程
常规方程(另一种计算 θ 的方法):损失函数一般是常规方程,如二次方程,三次方程等。以二次方程为例,对损失函数求偏导可得到theta。如下:
当然,用常规方程时我们给出一个通过公式求theta,以及具体的例子:
注意:这里的X矩阵包括 x0 !
常规方程和梯度下降比较
这里对常规方程和梯度下降作个比较:
总的来说:采用常规方程不用选择 α ,不用进行特征缩放,也不用迭代,在特征小于10000维时可以考虑,当特征超过10000维,建议采用梯度下降。
这篇关于机器学习第二周--Multiple features Normal equation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!