线性回归(linear regression)
梯度下降(gradient descent)
通过不断迭代使得cost function最小化,选择出我们需要的parameter θ
hypothesis:
hθ(x)=θ0∗x0+θ1∗x1+⋅⋅⋅+θn∗xn=θTx,x0=1
cost function:
J(θ)=J(θ0,θ1,...,θn)=12m∑i=1m(hθ(x(i))−y(i)))2
update:
θj:=θj−α∂∂θjJ(θ)
- learning rate α 的选择: α 大,收敛快,但可能会发散; α 小,收敛慢。所以不同的 α 值,做实验,画出cost function与iteration的函数图,看哪个 α 既使cost function下降快,又不会发散或振荡
- 加快收敛:特征缩放(feature scaling)、均值归一化(mean normalization)
标准方程(normal equation)
一步得到parameter
θ
的最优值,并且不需要归一化
求解方法
θ
:
θ=(XTX)−1XTy
X=⎛⎝⎜x0,0...xm,0x0,1...xm,1.........x0,n...xm,n⎞⎠⎟y=[y1,y2,...,ym]T
X 是
todo:推导该式子
对比梯度下降和标准方程:
梯度下降 | 标准方程 |
---|---|
需要选择 α | 不需要选择 α |
需要迭代 | 不需要迭代 |
在 n 很大时表现很好 | 因为需要计算 |