一.多元线性
在上一节中提到了线性回归,不过特征量x只有1个,当特征量大于1个时,如下表:
住房面积 | 层数 | 卧室个数 | 住宅年数 | 售出价格y |
---|---|---|---|---|
2104 | 5 | 1 | 45 | 460 |
1416 | 3 | 2 | 40 | 232 |
1534 | 3 | 2 | 30 | 315 |
852 | 2 | 1 | 36 | 178 |
… | … | … | … | … |
这时我们的假设函数成为 ,所有的参数组成向量 ,所有特征组成向量x,那么假设函数简化为 ,这样转化成矩阵相乘运算,而代价函数还是 .
二.梯度下降
对代价函数求偏导,使得代价值递减:
三.特征缩放
当两个不同特征之间的值范围相差太大(例如上述的住宅面积和层数两个特征量)时,收敛速度太慢,可以从下图(以后加)中直观的看出:
解决方法
特征缩放:即将所有特征量x缩放至
的范围,以住宅面积为例,具体方法如下:
1.
2.
四.α的取值策略
1.α取值
- α过大,可能导致代价函数震荡甚至无法收敛
- α过小,收敛速度过慢
2.α取值技巧
尝试多个α值,并观察代价函数的收敛,不断调整α值使得收敛速度和准确度达到平衡.
五.拟合非线性函数
当训练数据用线性函数无法较好拟合时,出现非线性函数.例如假设函数变为
这时我们如何继续使用线性回归来解决该问题呢,方法很简单,就是将 当做特征量 ,这样假设函数变成了
但是这样 和 的值相差较大,此时特征缩放就起到了很好的作用.