机器学习之多变量线性回归
一、多变量问题
-
要解决的问题与多个因素有关,如下图:
-
假设函数:
令,x不同于上图标记应为横向量,这样取数据的时候不用转置。也为横向量,则有
-
二、梯度下降
-
代价函数:
-
更新参数:
三、梯度下降训练技巧
-
特征缩放
-
主要思想:确保各个特征有相近的值,梯度下降路径更短,从而减少梯度下降时间。
-
缩放目标:一般将每一个特征值缩放到[-1,1]范围,[-3,3],[-1/3,1/3]也可以接受,但别太大也别太小
-
一般方法:均值归一化处理
其中,s表示特征变化范围,但是还要找出最大值最小值相减;而使用标准差比较方便,第二个公式将一般正态分布转化成标准正态分布。
-
-
设置与调整学习率:
-
检查梯度下降算法是否收敛:
通过绘制迭代过程中的损失函数变化趋势
- 如果为上升趋势或者不断震荡应考虑减小学习率
- 但学习率过小收敛的速度很慢
-
取值方法:不断尝试:… 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1 …
-
四、选择特征和多项式回归
-
选择特征,创建新的特征:
例如,给出房子的长度和宽度,可以创造出新的特征面积,变成了单变量线性回归
-
设置特征的一次方,二次方,三次方可以实现多项式回归:
注意:要对这三个特征归一化
同时,也可以选用这样的假设函数
-
后面介绍可以自动选择特征的算法
五、正规方程
根据导数为0,直接求出: