领导视察网站建设搜索引擎推广的三种方式
单变量回归问题
对于某房价问题,x为房屋大小,h即为预估房价,模型公式为:
hθ(x)=θ0+θ1xh_{\theta}(x)=\theta_{0}+\theta_{1}x hθ(x)=θ0+θ1x
要利用训练集拟合该公式(主要是计算θ0、θ1\theta_{0}、\theta_{1}θ0、θ1),需要代价函数(计算当前模型和测试集数据的误差),
J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2J(\theta_{0},\theta_{1})=\frac{1}{2m}\sum_{i=1}^{m}{(h_{\theta}(x^{(i)})-y^{(i)})^2} J(θ0,θ1)=2m1i=1∑m(hθ(x(i))−y(i))2
当代价函数得到最小值时,此时拟合的公式最好。一般利用梯度下降法来得到代价函数的局部(全局)最优解。批量梯度下降的公式为
θj:=θj−α∂∂θjJ(θ0,θ1)(forj=0andj=1)\theta_{j}:=\theta_{j}-\alpha\frac{\partial }{\partial \theta_{j}}J(\theta_{0},\theta_{1}) (for \quad j=0\quad and \quad j=1) θj:=θj−α∂θj∂J(θ0,θ1)(forj=0andj=1)
∂∂θjJ(θ0,θ1)=∂∂θj(12m∑i=1m(hθ(x(i))−y(i))2)\frac{\partial }{\partial \theta_{j}}J(\theta_{0},\theta_{1})=\frac{\partial }{\partial \theta_{j}}(\frac{1}{2m}\sum_{i=1}^{m}{(h_{\theta}(x^{(i)})-y^{(i)})^2}) ∂θj∂J(θ0,θ1)=∂θj∂(2m1i=1∑m(hθ(x(i))−y(i))2)
j=0时,∂∂θ0J(θ0,θ1)=1m∑i=1m(hθ(x(i))−y(i))j=0时,\frac{\partial }{\partial \theta_{0}}J(\theta_{0},\theta_{1})=\frac{1}{m}\sum_{i=1}^{m}{(h_{\theta}(x^{(i)})-y^{(i)})} j=0时,∂θ0∂J(θ0,θ1)=m1i=1∑m(hθ(x(i))−y(i))
j=1时,∂∂θ1J(θ0,θ1)=1m∑i=1m(hθ(x(i))−y(i))⋅x(i)j=1时,\frac{\partial }{\partial \theta_{1}}J(\theta_{0},\theta_{1})=\frac{1}{m}\sum_{i=1}^{m}{(h_{\theta}(x^{(i)})-y^{(i)})\cdot x^{(i)}} j=1时,∂θ1∂J(θ0,θ1)=m1i=1∑m(hθ(x(i))−y(i))⋅x(i)
α\alphaα为学习率,决定沿着代价函数下降程度最大的方向向下的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。
如果α\alphaα太小了,即我的学习速率太小,需要很多步才能到达最低点,可能会很慢;
如果α\alphaα太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛。
在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,这是因为当我们接近局部最低点时,很显然在局部最低时导数等于零,所以当我们接近局部最低时,导数值会自动变得越来越小,所以梯度下降将自动采取较小的幅度,这就是梯度下降的做法。所以实际上没有必要再另外减小α\alphaα。