第二周(多变量线性回归 +Matlab使用)-【机器学习-Coursera Machine Learning-吴恩达】
目录:
多变量线性回归(模型、梯度下降技巧)
特征选择和多项式回归
正规方程
- 代价函数:和单变量回归一样
解:在Octave中实用pinv求逆矩阵,总可以给出一个值,即使不可逆
从原因中找解决办法,造成不可逆的原因在于:
(1)冗余的特征,2个特征关系非常密切
2)数据移动:装载数据文件、数据保存、矩阵简单操作
3)数据的计算:针对矩阵数据的个各种运算与方法
4)图数据:plot、
5)控制语句、函数
6)向量化
多变量线性回归(模型、梯度下降技巧)
特征选择和多项式回归
正规方程
Matlab学习
1 多变量线性回归
1)模型- 假设函数:
- 代价函数:和单变量回归一样
- 梯度下降:
2)梯度下降算法的实用技巧
- 特征缩放(Feature Scaling)
均值归一化
u为该特征平均值;s为范围,也就是max-min
- 学习率 alpha
0.001,0.01,0.1……直到开始发散(alpha太小,收敛太慢;alpha太大可能会发散)
2 特征选择和多项式回归
特征是有很多选择的,利用一些多项式,可以实现非线性回归(特别注意特征缩放)
3 正规方程(Normal equation)
直接一次性利用公式求 参数theta在某些线性回归中,用正规方程法求最多参数theta的最优值更好。
Octave:theta = pinv(x' * x) * x' *y
(在n达到一万左右时,考虑换成梯度下降法,其它时间用正规方程比较好)
- 如果出现XTX不可逆怎么办?解:在Octave中实用pinv求逆矩阵,总可以给出一个值,即使不可逆
从原因中找解决办法,造成不可逆的原因在于:
(1)冗余的特征,2个特征关系非常密切
(2)太多的特征值了(eg:m<=n)
4 Octave/Matlab学习:
1)基本操作:包含输入变量、矩阵2)数据移动:装载数据文件、数据保存、矩阵简单操作
3)数据的计算:针对矩阵数据的个各种运算与方法
4)图数据:plot、
5)控制语句、函数
6)向量化