- Outline 本节概要
- Linear Regression 线性回归
- Gradient Descent 梯度下降
- Normal Equations 正规方程组
- 监督学习的一个例子:Alvin自动驾驶
图片大小为30*30pixel。
学习算法会根据图片给出一个方向盘偏转角度。
同时与司机操作的实际方向盘偏转角度进行比较,并不断改进算法的参数。
因为算法预测行驶方向连续的值,所以这是一个Regression problem。
- 监督学习一个大致步骤
- 符号说明
x —— input variables/features
y —— output variables/target variables
(x y) —— one training example
ith training example —— (x(i) y(i))
n —— the number of features
- 课程用到的例子:
第一个特征是房子面积;第二个特征是卧室数量;之后的是output variabls,房子价格。
这些是已有的样本集,现在的问题是:给定一个面积和卧室数量,要求预测一个合理的房价。
x1=size, x2=number of bedrooms假设(hypothesis)为
For conciseness,define x0=1
更一般地,假设有n个特征:
写成向量的形式:
其中,
叫做parameters,现在的任务是调整以使得
最小
定义
问题:minimize
- Minimize 的方法1: Gradient descent
Keep changing to reduce
1.定义
随机选取一个,(一个n维向量)。
每次选择能使减少最大的方向移动。
得到一个新的。
不断迭代直到最小。
每次选择的方向就是梯度方向,所以称为梯度下降法。
可以看出梯度下降法的最终结果与初始位置以及学习速率(下山的时候步伐大小)有关。
对于,能使减下最快的方向肯定是偏导方向,所以有:
,通过运算可以得到,其中就是learning rate。
称为Batch Gradient Descent,缺点:更新迭代时,需要遍历整个样本集,当样本集过大时,Batch Gradient Descent时间复杂度将很高。
解决方法是选用Stochastic Gradient Descent(随机梯度下降法),也被称为Incremental Gradient Descent(增量梯度下降法)
Repeat {
For i = 1 to m {
For j = 0 to n {
}
}
}
算法中,每次只用一个样本对进行迭代计算。缺点:不会准确收敛到全局最小值。
- Minimize 的方法2: Normal Equation
1.定义
2.对,定义
3.: , 称为trace of A,矩阵A的迹
4.几个定理:
4.1
trAB=trBA
trABC=trCAB=trBCA
4.2
如果f(A)=trAB,则
4.3
4.4
4.5
5.如果z是一个向量(vector),那么
回到原始问题:
定义样本集:,每一个样本都有一个。
参数:
于是可以得到:, ,
令,得到:
因为是一个实数,所以
所以
由定理4.1和4.5知:
由定理4.1,4.2和4.3知:
因此,最终得到
这个就是Normal Equations
可以求得: