
假设(基于二维)
训练集
⎣⎢⎢⎢⎡11⋮1x11x21⋮xm1⋯⋯⋱⋯x1nx2n⋮xmn⎦⎥⎥⎥⎤∗⎣⎢⎢⎢⎡θ0θ1⋮θn⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤
表达式
hθ(x)=θ0+θ1x1+...+θnxn...x为向量
定义代价函数
Jθ(θ0,θ1,θ2,...,θn)=2m1i=1∑m(hθ(xi)−y(xi))2
梯度下降法
minθ0...θnJ(θ0,θ1,θ2,...,θn)
θj=θj−α∂θj∂J(θ0,θ1,θ2,...,θn)...α为学习率
故
∂θj∂J(θ0,θ1,θ2,...,θn)=m1i=1∑m(hθ(xi)−y(xi))xi
带入得
θj=θj−αm1i=1∑m(hθ(xi)−y(xi))xi
梯度下降法实现
定义精度为P
当θjn−θjn−1<=P时递归停止
初始化
(θ0,θ1,θ2,...,θn)为(0,0,0,...,0)或者其他
执行递归
θj一步一步变化直到达到J(θ)最小值
为什么可以实现?

该图为取(θ0...θj−1,θj+1...θn)为固定值时J(θ)的切片
当
θj=x1时∂θj∂J(θ)<0故θj增加逐渐靠近h,同时精度P决定递归是否停止
当θj=x2时同理
学习率α
过大导致可能不收敛

过小导致收敛太慢
故多次实验,取合适的α
α=[0.0010.010.1110]
特征缩放
⎣⎢⎢⎢⎡x1ix2i⋮xni⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡10001001⋮1020⎦⎥⎥⎥⎤−>1000∗⎣⎢⎢⎢⎡1.0001.001⋮1.020⎦⎥⎥⎥⎤
若hθ=θ0+θ1x12+θ1x23+...
可令x12=t1,x23=t2... 即可实现
正则方程实现
θ=(XTX)−1XTY...(XT为X的转置,X−1为X的逆)