4.多元线性回归
4 多元线性回归
多特征
设有n个特征,
特征有多个时,我们可以假设

梯度下降更新参数,左图为只有1个特征,右图为有多个特征时:

如何让梯度下降收敛更快:(1)特征缩放Feature Scaling(2)学习率
特征缩放
当特征值的取值范围差距很大时,会相应的导致梯度差距很大,参数更新可能左右横跳,导致收敛速度变慢,如左图;
我们可以让变量除以极差(max-min)来进行特征缩放,让变量取值范围相近,缓解这一问题

左右横跳是因为θ1的偏导相对θ2太大,相对的θ1下降步数太大,从山谷这头一下子迈到山谷那头,永远没头。
均值归一化(Mean Normalization):将数据的每个特征调整为均值为 0,范围标准化为固定区间(通常是 [-1, 1])
标准化(Standardization):调整为均值为 0,标准差为 1,适合于分布接近正态分布的数据
学习率
如何确保梯度下降正常工作?(1)绘制损失函数随迭代次数的曲线图。损失函数逐步下降说明正常工作;当损失函数较为平坦时,说明已经收敛(2)自动收敛测试,当某次迭代后,学习率下降很少

当损失函数曲线逐步上升或成屁股形时,说明学习率取值过大,应调小学习率

当学习率充分小时,损失函数的值会逐步下降。但梯度下降算法会收敛的很慢。
总结:学习率太小会收敛很慢;学习率太大,损失会增加;可能不收敛;可能收敛很慢。
如何选择学习率:先确定学习率的最小最大值,再在区间内尝试找到可以快速收敛的学习率。可以每3倍3倍的尝试。

特征和多项式回归
设计特征:我们可以不使用
多项式回归:分析数据点的分布情况,我们可以使用某个特征的根号项、二次项、三次项来作为函数的类型来进行拟合。注意:在有多次项的时候,特征缩放显得更加重要。

正规方程
求解参数
思想:令损失函数的偏导为0,解出

方法:在数据中加入

梯度下降vs正规方程:(1)梯度下降需要选择学习率,并且需要迭代多次;而正规方程不需学习率,不需迭代。(2)梯度下降当n很大时仍有效,而正规方程时间复杂度较高。
计算逆矩阵的复杂度为

当(1)含有多余特征时,其中某些特征存在线性相关关系(2)特征太多时,样本数<=特征数。会出现矩阵

矢量化

在梯度下降更新参数
我们可以将参数更新的公式记为
下面说明为什么
求和号中的
将求和号展开,即$\sum^{m}{i=1}{(h{\theta}(x^{(i)})-y^{(i)})(x^{i})}=(h_{\theta}(x^{(1)})-y^{(1)})x^{(1)}+(h_{\theta}(x^{(2)})-y^{(2)})x^{(2)}+…
其中将
