4.1多维特征Multiple Features
m:样本个数
n:特征的数量
第i个训练实例的第j个特征;i表示行,j表示列
支持多变量的假设h表示为:
为了化简,变为:
x0=1
特征矩阵X 的维度是m∗(n+1),化简为:
4.2多变量梯度下降
与单变量线性回归类似,在多变量线性回归中,构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:
4.3 梯度下降法实践1-特征缩放
面对多维度特征问题,我们需要保证这些特征具有相近的尺度,帮助梯度下降算法更快地收敛。
以房价问题为例,假设仅用两个特征,房屋的尺寸和数量,以两个参数分别为横纵坐标,假设尺寸在0-2000平方英尺,数量在0-5之间。
对应的代价函数等高线图会显得很扁,梯度下降算法需要非常多次的迭代才能收敛(左图)。
把房屋尺寸除以2000,房屋数量除以5,尝试将所有特征的尺度都尽量缩放到 -1 到 1 之间,得到了近乎圆形的等高线(右图)。
最简单的方法是均值归一化 Mean normalization,令:
μi是平均值,si 是标准差
4.4 梯度下降法实践2-学习率
为保证梯度下降算法正确运行,可以绘制 迭代次数 iteration numbers 和 代价函数的图表,观测算法在何时趋于收敛
随着迭代次数增加,代价函数应该呈下降趋势。如果上升或者频繁升降,说明 α 取得太大,可能导致不能收敛。如果 α 取值太小,算法会运行的很慢,但还是下降的,通常会迭代很多次后收敛。
常用学习率包含:α=0.01,0.03,0.1,0.3,1,3,10
4.5 特征和多项式回归
不一定非要用已有特征,可以创造新的特征,例如:面积 = 长 * 宽。这时二次函数变成了单变量函数。
因为实际生活中,随着房屋面积上升、房价不可能减小,而二次曲线会先上升后下降。选择三次方模型,引入另外的变量替换高次幂,将其转换为线性回归模型。
这样会使特征缩放变得很麻烦
为了和曲线拟合的更好,还可以使用 平方根
4.6正规方程
正规方程的思想:假设代价函数 J(Θ) 的偏导数等于0,求解方程,得到使代价函数 J(Θ) 最小的参数 Θ。即求曲线的最低点(切线斜率为0)。
假设训练集特征矩阵为 X(包含x0 = 1),结果为向量y,则解Θ可以通过公式求出:
正规方程方法中,不用进行特征缩放
梯度下降法和正规方程的比较
1、梯度下降需要选择学习率 α,迭代很多步,正规方程只需要一步。
2、正规方程依赖于矩阵计算。由于计算逆矩阵的时间复杂度是 O(n3),当n比较大时(一般在n=10000区别两种方法),计算过程会特别慢
3、某些算法(例如分类算法中的逻辑回归)不能使用正规方程法,只能使用梯度下降。
θ求解过程