机器学习week2-线性回归加强
1. 多类特征
多个输入变量,将所有变量向量化
特征维度:n=4,有4个特征共同控制房价
多元线性回归:有多个输入特征的线性回归模型,使用点积简写模型
2. 向量化
- 使代码更加简洁
- 速度更快
- 向量化能更高效地实现线性回归
3. 多元线性回归的梯度下降法
- 正规方程 Normal Equation :仅适用于线性回归
- 正规方程 vs 梯度下降
特性 | 正规方程 | 梯度下降 |
计算复杂度 | O(n3)O(n3)(矩阵求逆代价高) | O(kn2)O(kn2)(k为迭代次数) |
适用数据规模 | n<104 | 任意规模 |
是否需要学习率 | 否 | 是 |
特征缩放需求 | 否 | 是 |
解的性质 | 精确解 | 近似解 |
优点 | 不需迭代 | 适用模型多 |
4. 特征缩放
将数据的不同特征/变量转换到相同或相近的数值范围的过程,比如把所有特征缩放到 [0,1] 或标准化为均值为0、方差为1。
根本原因:每个特征的学习率是固定的
- 加速梯度下降收敛:梯度下降等优化算法在特征尺度不同时收敛慢(一个特征范围0-1,另一个0-10000)
- 提高模型精度:特别是对基于距离的算法(如KNN、SVM)和正则化模型
- 防止数值不稳定:避免某些特征因数值过大而主导模型训练
4.1. 最大值归一化
将特征值除以最大值:如果一个特征x1 的取值范围是300 到 2000,那么一种特征缩放的方法就是除以最大值,将x1/2000,缩放后x1的取值范围在0.15到1之间。
- 将特征归一化到-1和1的范围内,其中前者适用于正数特征,方法简单且非常适合讲座中的示例
4.2. 均值归一化
- 公式:
x_new = (x - 均值) / (max - min)
- 重新计算训练数据,使它们都在0 附近,取值范围在(-1,1)间
- 适用于任何特征
- 公式:
4.3. z-score 归一化
- 公式:
x_new = (x - 均值) / 标准差
- 将特征缩放为均值为0,标准差为1的分布。结果范围不固定(通常 ≈ [-3, 3])
- 标准差的求法:
- 公式:
- 计算平均值 u1
- 计算方差,将每个数据减去平均值,取平方,再除以数据的个数
- 将方差开平方,得到的结果就是标准差
5. 检查梯度下降是否收敛
梯度下降时,怎么判断是否收敛,是否能帮助找到使代价函数全局最小值的参数
5.1. 学习曲线
尝试找出何时停止训练模型
- 纵轴:代价 j
- 横轴:迭代次数(每次迭代改变w、b值)
迭代次数增加,代价 j 应减小,如果增大则学习率ɑ太大、代码错误
5.2. 自动收敛测试
设变量ɛ 为小数,如0.001
如果在一次迭代中,代价 j 减小量 < ɛ ,则可能位于学习曲线的曲线平坦部分,收敛
6. 学习率的选择
绘制多个迭代次数的代价图
- 代价 j 时升时降,梯度下降法未工作,代码错误 or 学习率 ɑ 太大
- 代价 j 持续上升,学习率 ɑ 太大
- 代价 j 持续下降,下降缓慢,学习率太小
调试时将学习率设置非常非常小,代价仍增加,则代码错误
选择学习率时,可以先选一个很小的学习率 0.001,选择三倍的学习率 0.003,再次三倍 0.01,根据学习曲线变化,得到一个很小、很大的学习率,再选择适中学习率。
7. 特征工程
如何选择、设计最合适的特征用于学习算法:转化、组合问题的原始特征
房屋价格原始特征:长、宽
根据现实,房屋面积也影响房屋价格,且影响很大,面积=长*宽 成为新特征
8. 多项式回归
多元线性回归 + 特征工程 = 多项式回归算法
引入特征的高次项来建模非线性关系