矩阵和向量
大写字母-矩阵,小写字母-向量(特殊的矩阵)
- 加减,数乘
- 数据矩阵乘参数向量
- 矩阵乘矩阵-大量运算打包,有结合律无交换律
多变量线性回归
特征量,训练样本数
定义第0个向量
多元梯度下降法
特征缩放:使不同特征的取值在相近的范围内(例如-1~+1),梯度下降法能更快收敛,减少迭代次数。
方法:
- 将特征除以最大值
- 均值归一化,使特征值的均值为0 <= 减均值,除以范围。
解决细长的椭圆等高线,梯度下降时来回波动,速度较慢的问题。Debug
根据代价函数随迭代步数增加的变化曲线,判断是否已经收敛。或自动判断,选择合适阈值。
若发散或反复升降,选择更小的学习率。选择学习率α
大致按3的倍数取值,结合代价函数随迭代步数增加的变化曲线。
特征选择—多项式回归
使数据与模型更好的拟合。
特征缩放更显重要。
正规方程
不再像梯度下降中,迭代地求最优解,而是直接一次性求解0最优解。–> 求导,导数置零。
加额外的特征变量x_0,用所有的特征变量构造矩阵
设计矩阵(特征矩阵的转置)
不需要做特征缩放!
在Octave中使用命令:
1 | pinv(x'*x)*x'*y |
对比梯度下降法与正规方程法:
梯度下降法 | 正规方程法
—|—
需要选择学习率α | 无需选择学习率α
需要多次迭代 | 无需多次迭代
适用于大样本量 | 样本较多时速度较慢,O(n^3)
当样本量大于10^6时,更适合采用梯度下降法。样本量较小时,正规方程法更优。
正规方程法适用于线性回归,不适合复杂的算法。
正规方程以及不可逆性
不可逆的矩阵(奇异或退化矩阵),很少发生,在软件中可得到正解。–>数值计算问题
原因:可能是因为我们使用了冗余的特征,或是我们使用了太多的特征(特征的数量超过了样本的数量)
解决:去掉多余特征或使用正规化方法