吴恩达《机器学习》课程笔记——第四章:多变量线性回归
4.1 多维特征
在之前的内容中,只探讨了单一特征的回归模型,也就是 m 个样本实例中,每个样本实例 x 只有一个特征,比如房价预测中的 m 个样本中,每个样本只有“房间尺寸”这一个特征。
在实际情况中,更多的是涉及到多维特征模型,比如影响房价的因素(即特征)除了房间尺寸外,还有房间数、楼层等等。这时就需要引入多维特征。
多维特征:在 m 个样本实例中,每个样本实例 x 都有 n 个特征。注释表示为:x j(i),代表特征矩阵中的第 i 行的第 j 个特征,也就是第 i 个训练实例的第 j 个特征。
支持多变量的假设函数 h 可以表示为:hθ(x) = θ0x0+θ1x1+θ2x2+…+θnxn ,其中 x0 为人为引入,x0 = 1。此时模型中的参数 θ 是一个 n+1 维的向量,任何一个训练实例也都是 n+1 维的向量,特征矩阵X的维度是 m*( n+1 )。 因此公式可以简化为:hθ(x) = θTX,其中上标T代表矩阵转置。
4.2 多元梯度下降法
与单变量线性回归类似,在多变量线性回归中,我们也构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:
接下来就是要通过梯度下降的方法来使得代价函数最小:
公式中的 ( hθ(x(i)) – y(i) ) * xj(i) 是代价函数 J(θ) 对 θ 的导数。
matlab代码示例:
theta = theta – alpha * ( 1 / m ) * X’ * ( ( theta’ * X’ )’ – y ) 其中X:( m , n + 1 ) ,theta:( n + 1 , 1 ) ,y:( m , 1 ) ,m 代表样本数,n代表特征数。
4.3 (归一化)特征缩放
在我们面对多维特征问题的时候,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。
归一化(特征缩放)的优点:
(1)归一化后加快了梯度下降求最优解的速度。
(2)归一化有可能提高精度(归一化是让不同维度之间的特征在数值上有一定的比较性)。
下图能更清晰的体现归一化和未归一化时最优解寻解过程的区别:
未归一化:
归一化:
从上面可以看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。
两种归一化的方法:
(1)min-max标准化
定义:也称为离差标准化,是对原始数据的线性变换,使得结果映射到0-1之间。
本质:把数变为【0,1】之间的小数。
转换函数:(X-Min)/(Max-Min)
如果想要将数据映射到-1,1,则将公式换成:(X-Mean)/(Max-Min)
其中:max为样本数据的最大值,min为样本数据的最小值,Mean表示数据的均值。
(2)Z-score(0均值)标准化方法
定义:这种方法给与原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1.
本质:把有量纲表达式变成无量纲表达式。
转换函数:(X-Mean)/(Standard deviation)
其中,Mean为所有样本数据的均值。Standard deviation为所有样本数据的标准差。
4.4 学习率
梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
梯度下降算法的每次迭代受到学习率的影响,如果学习率