Linear Regression with multiple variables
1.Multiple features(多特征)
1.1multiple variables(多变量)
通过多变量来进行预测的问题。各种记法如上图所示。
相应的,假设函数也应变化为一个多变量的函数形式。
定义=1,分别用n+1维的向量来表示x的集合,根据向量运算可以把假设函数转变为向量乘法形式。而以上这种形式的问题称为多元线性回归问题。
1.2 gradient descent for multiple variables(多元梯度下降)
可以看到假设函数变成了一个多变量问题,将n+1个θ参数表示为一个n+1维的向量;
代价函数中,J(θ)中θ是向量(n+1维);
梯度下降公式中,J(θ)也作相应改变。
在这张图中, 对比了单变量和多变量下梯度函数的区别(事实上仅是多了些参数的偏导求解)。此外,将定义为1也将公式在形式上进行了统一。
但需要注意的是,θ的更新,仍然是需要同步进行的。
1.3 feature scaling(特征缩放)
在多变量的梯度下降中,如果参数θ彼此的尺度差距过大,则会很大程度上影响梯度下降算法的运行效率,所以在这个前提下,我们可以通过特征缩放的方法,来消除不利影响。
确保特征的尺度在一个相近的规模;如上图例子,左侧为未处理的特征情况,房屋大小的范围为0-2000,而卧室数量为0-5,其等高线图也如左侧所示。
当进行了特征缩放(将房屋大小除以2000,卧室数量除以5)后,的范围都缩放到了0-1之间,这时梯度下降的效果是较好的。
特征缩放的标准是尽量将每一个特征缩放至(-1)—1区间附近,无需特别精准,如上图右侧范围就是典型的好的特征范围。
均值归一化也是特征缩放的常用技巧。
其中是的平均值,既可定义为range(区间最大值减去最小值),也可定义为standard deviation(标准差)。
1.4 learning rate(学习率)
这一小节的内容有关如何选择合适的学习率α。
通过绘制一张迭代次数(横坐标);与代价函数J(θ) (纵坐标);的图像,可以判断这个二梯度下降算法是否正常工作(收敛)的。
也可以定义一个极小的值来判敛,而吴老师更倾向于绘制一张直观的坐标图。
当图像呈上图中模样时,我们应该选择更小的α值,因为函数图像的发散可能预示着,我们由于选择了大步长,而越过了局部最优解,像上图右侧般地左右横跳。
如之前提到的,α值太小可能会导致收敛过慢;太大则可能会导致每次迭代是非下降的,甚至无法收敛,所以作者给出的建议值如上0.001......等。
2.Features and polynomial regression(特征与多项式回归)
2.1 choose features
上图的假设函数选择特征时,frontage和depth特征的乘积事实上恰是房屋面积,也即是影响房屋价格预测的根本性质,所以不妨合并两个属性,设x为二特征的乘积来简化。
多项式回归(polynomial regression):通过二次函数或三次函数对数据进行拟合,根据其大概趋势的判断来选择合适的多项式,二次函数或可较好的拟合此例(房屋价格随尺寸涨幅)前半段,但随尺寸增长反而再次下降是不符合常理的,故三次函数或平方根函数或可较好的拟合之后的趋势。
图中,可以将定义为房屋大小值得一次二次三次方来将其变回为线性回归问题,但此时需要注意的是,要进行合适的特征缩放来减少量级变化的影响。
3.Normal equation(正规方程)
3.1definition
正规方程法是一种自动求得θ最小值的方程法;其公式:
在求解二次函数最小值时,我们常用的数学方法是对函数求导并令其为零;对于多变量的函数则是求偏导数并分别令每个偏导数为零计算求解。
在这个例子中,数据集的行数为4;列数为5( ),自变量下标对应着不同特征,即n个特征,将其特征部分构造为一个矩阵 ,价格预测部份定义为一个m维的向量。
则使得代价函数最小的值即为上述公式:
解释:
的上标m,代表的是第m条数据,即这个为index,来标定某一条数据,这条数据包含的是。而其中表示第m条数据的第n个特征的值。
上图下方举例:
若记录为一个2维的,即只有一个特征的向量(定义为1是方便后续计算,其值定义为1)。
则矩阵是一个的矩阵。(但是个人感觉这个上标及下标的记录好像有手误,应以上半部分的示例为准)。
3.2 compared with gradient descent(与梯度下降算法对比)
综合而言,当特征数量过于巨大时,即n=10000甚至更多时,其矩阵的计算时相当大的规模,所以这种情况下梯度下降算法是更好的选择,而当特征的数量并不是过于多时,正规方程则提供了一种简单有效的直接算法,来求目标的值,且不像梯度下降算法需要多次迭代。