1.监督学习
训练集:
{(X(i),Y(i));i=1,2,⋯,m}
X:
表示输入值
Y:
表示输出值
i:
表示训练集中的样本索引。
学习结果:函数
h:X→Y
,使得
h(X)
能够很好的预测
Y
由于历史原因
如果目标变量是连续的值,我们称这个学习问题是一个回归问题。
如果目标变量是很少的几个离散的值,我们称它为分类问题。
2.线性回归
形如关于
X
的线性函数:
θi 是参数
hθ(x) 在不造成困惑的前提下可以简写为 h(x)
x0=1 这是截距项
上式可以写为:
h(x)=∑i=0nθixi=θTx
右边把 θ,x 视为向量
n 是输入的变量的个数(不算
我们通过给的训练集,去学习选择 θ
训练集:eg:房屋售价问题
面积 x1 | 卧室数 x2 | 价格y |
---|---|---|
2104 | 3 | 400 |
1600 | 3 | 330 |
2400 | 3 | 369 |
⋮ | ⋮ | ⋮ |
我们训练的目标就是要让
h(x)
尽量与
y
相符。
为了达到这个目标,我们需要一个代价函数来评估。
普通最小二乘法(OLS),代价函数为:
其中 12 是为了方便在求导的时候约掉系数。
i: 样本索引
m: 样本总数
3.LMS 算法(least mean squares algorithm)
θj:=θj−α∂∂θjJ(θ)
当只有一个样本时,即 m=1 , 计算简化得到:
θj:=θj+α(y(i)−hθ(x(i)))x(i)j
j 为第j个参数
这个就是LMS更新规则,它有几个属性似乎是自然的直观的。更新误差项是均衡的,误差项越小相应参数的改变越小,误差项越大,相应参数的改变越大
4.梯度下降法
当很多样本时,怎么样来更新迭代 θ 值
批量梯度下降(batch gradient descent)
∂∂θjJ(θ)=1m∑i=1m(hθ(xi)−yi)xij=−1m∑i=1m(yi−hθ(xi))xij
求得每个 θj,j∈(1,2,⋯,n)
θj:=θj+1m∑i=1m(yi−hθ(xi))xij
计算出新的 hθ(X) 然后再迭代下一步。
最终得到全局最优解。
可以看到每一步迭代bgd都要遍历全部的样本,速度较慢。增量(increment)梯度下降 (随机(stochastic)递度下降法)
θj:=θj+α(y(i)−hθ(x(i)))x(i)j
每一步迭代只利用一个样本,比bgd快,但不一定能聚焦收敛到最小值,可能会在最小值附近摆动,但是由于通常情况下局部最小值都接近全局最小值,所以当样本量特别大的时候,首选随机梯度下降法。