捋一捋概念
基础栗子
房屋面积 | 房价 |
---|---|
2104 | 400 |
1600 | 330 |
… | … |
房屋面积 → 输入/特征 x →
x(i)
,
房价 → 输出/目标变量 y →
y(i)
,
一对x,y叫做训练样本 ,第i个为
(x(i),y(i))
m为样本大小,m个训练样本叫做训练集,
{(x(i),y(i));i=1,...,m}
从样本中得到x和y的关系叫做假设函数,用h表示。
y=h(x)=θ0+θ1x
进阶栗子
房屋面积 | 卧室数 | 房价 |
---|---|---|
2104 | 3 | 400 |
1600 | 2 | 330 |
… | … |
在基础栗子中,影响房价的因素只有一个。而在这个栗子中,我们有两个x,函数变为
hθ(x)=θ0+θ1x1+θ2x2
其中 θ 称为 参数or权重。
n个输入or特征时,(设 x0=1 )
h(x)=∑i=0nθixi=θTx
cost function
判断训练出来的函数好坏与否,就看h(x)是否足够靠近y,也就是说要让二者差值尽量小。根据这个想法得到cost function:
J(θ)=12∑i=1m(hθ(x(i))−y(i))2.
这实质上就是 普通最小二乘法。
梯度下降
为了让J(θ)尽量小,我们就需要选择合适的θ,因此使用梯度下降算法。
θj:=θj−α∂∂θjJ(θ)
其中α称为learning rate,也叫步长。
如果我们只有一对训练样本 (x,y) ,带入计算:
∂∂θjJ(θ)=∂∂θj12(hθ(x)−y)2=2⋅12(hθ(x)−y)⋅∂∂θj(hθ(x)−y)=(hθ(x)−y)⋅∂∂θj(∑i=0nθixi−y)=(hθ(x)−y)⋅xj
如果我们有一个训练集 {(x(i),y(i));i=1,...,m}
θj:=θj+α(y(i)−hθ(x(i)))⋅x(i)j.
这叫做 LMS算法