斯坦福大学机器学习第三课“多变量线性回归“
来源:互联网 发布:淘宝联盟一个月赚多少 编辑:程序博客网 时间:2024/06/05 14:35
斯坦福大学机器学习第三课“多变量线性回归(Linear Regression with Multiple Variables)”
斯坦福大学机器学习第四课”多变量线性回归“学习笔记,本次课程主要包括7部分:
1) Multiple features(多维特征)
2) Gradient descent for multiple variables(梯度下降在多变量线性回归中的应用)
3) Gradient descent in practice I: Feature Scaling(梯度下降实践1:特征归一化)
4) Gradient descent in practice II: Learning rate(梯度下降实践2:步长的选择)
5) Features and polynomial regression(特征及多项式回归)
6) Normal equation(正规方程-区别于迭代方法的直接解法)
7) Normal equation and non-invertibility (optional)(正规方程在矩阵不可逆情况下的解决方法)
以下是每一部分的详细解读:
1) Multiple features(多维特征)
第二课中我们谈到的是单变量的情况,单个特征的训练样本,单个特征的表达式,总结起来如下图所示:
对于多维特征或多个变量而言:以房价预测为例,特征除了“房屋大小外”,还可以增加“房间数、楼层数、房龄”等特征,如下所示:
定义:
n = 特征数目
对于Hypothesis,不再是单个变量线性回归时的公式:
而是:
为了方便,记
其中
2) Gradient descent for multiple variables(梯度下降在多变量线性回归中的应用)
对于Hypothesis:
其中参数:
对于Cost Function:
梯度下降算法如下:
对
当特征数目为1,也就是n=1时:
当特征数目大于1也就是n>1时,梯度下降算法如下:
3) Gradient descent in practice I: Feature Scaling(梯度下降实践1:特征归一化)
核心思想:确保特征在相似的尺度里。
例如房价问题:
特征1:房屋的大小(0-2000);
特征2:房间数目(1-5);
1. 简单的归一化,除以每组特征的最大值,则:
目标:使每一个特征值都近似的落在
举例:因为是近似落在这个范围内,所以只要接近的范围基本上都可以接受,例如:
0<=x1<=3, -2<=x2<=0.5, -3 to 3, -1/3 to 1/3 都ok;
但是:-100 to 100, -0.0001 to 0.0001不Ok。
2.Mean Normalization(均值归一化):
用
其中
对于房价问题中的两个特征,均值归一化的过程如下:
4) Gradient descent in practice II: Learning rate(梯度下降实践2:步长的选择)
对于梯度下降算法:
需要注意两点:
-“调试”:如何确保梯度下降算法正确的执行;
-如何选择正确的步长(learning rate):
第二点很重要,它也是确保梯度下降收敛的关键点。要确保梯度下降算法正确运行,需要保证
如果梯度下降算法不能正常运行,考虑使用更小的步长
1)对于足够小的
2)但是如果
总结:
1)如果
2)如果
如何选择
…, 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1…
约3倍于前一个数。
5) Features and polynomial regression(特征及多项式回归)
例子-房价预测问题:
特征
同时
即
多项式回归:
很多时候,线性回归不能很好的拟合给定的样本点,例如:
所以我们选择多项式回归:
对于特征的选择,除了n次方外,也可以开根号,事实上也是1/2次方:
6) Normal equation(正规方程-区别于迭代方法的直接解法)
相对于梯度下降方法,Normal Equation是用分析的方法直接解决
正规方程的背景:
在微积分里,对于1维的情况,如果
求其最小值的方法是令:
然后得到
同理,在多变量线性回归中,对于
求取
对于有4组特征(m=4)的房价预测问题:
其中X 是m * (n+1)矩阵:
y是m维向量:
则Normal equation的公式为:
注:这里直接给出了正规方程的公式,没有给出为什么是这样的,如果想知道原因,建议看看MIT线性代数 第4章4.3节“最小二乘法”的相关内容,这里面最关键的一个点是:
“The partial derivatives of
举例可见官方的PPT,此处略;
Octave公式非常简洁:pinv(X’ * X) * X’ * y
对于m个样本,n个特征的问题,以下是梯度下降和正规方程的优缺点:
梯度下降:
需要选择合适的learning rate
需要很多轮迭代;
但是即使n很大的时候效果也很好;
Normal Equation:
不需要选择
不需要迭代,一次搞定;
但是需要计算
如果n很大,就非常慢
7) Normal equation and non-invertibility (optional)(正规方程在矩阵不可逆情况下的解决方法)
对于Normal Equation,如果
1) 去掉冗余的特征(线性相关):
例如以平方英尺为单位的面积x1, 和以平方米为单位的面积x2,其是线性相关的:
2) 过多的特征,例如m <= n:
删掉一些特征,或者使用regularization–之后的课程会专门介绍。
参考资料:
- 斯坦福大学机器学习第三课“多变量线性回归“
- Stanford 机器学习 第三讲------- 多变量线性回归
- 机器学习:多变量线性回归
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
- 斯坦福大学机器学习课程二线性回归编程作业3(多变量)
- 斯坦福大学机器学习课程线性回归编程作业二(多变量2)
- 斯坦福大学机器学习笔记——多变量的线性回归以及梯度下降法注意事项(内有代码)
- Python学习(机器学习_多变量线性回归)
- 【机器学习】coursera学习笔记(三) 多变量线性回归
- 机器学习实战:多变量线性回归的实现
- 机器学习实战:多变量线性回归的实现
- Coursera2014 机器学习第二周 多变量线性回归
- 机器学习(3)——多变量线性回归
- 机器学习之——多变量线性回归
- 机器学习之——多变量线性回归
- Coursera_机器学习_week2_多变量线性回归
- 【云快讯】之二十五《微软将在Windows Server中支持“Docker”容器》
- [LeetCode]Find Minimum in Rotated Sorted Array II
- 解决psql客户端汉字乱码的一种方法
- java面试题
- java基础---Java关键字this与super
- 斯坦福大学机器学习第三课“多变量线性回归“
- POJ1273 Drainage Ditches【最大流】【SAP】
- STM32L0xx_HAL_Driver库的使用——UART续
- ViewPager中添加和删除Fragment
- 第三章作业3.22
- POJ 1080 Human Gene Functions(DP)
- Android弹出窗口PopuWindow
- 【Jsp】把Java写到Respond输出流里面供用户下载
- IOS 记录用户登陆状态 第二次免登陆