①代价函数:
∂∂θjJ(θ0,θ1)(1)\boldsymbol{\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1)} \tag{1}∂θj∂J(θ0,θ1)(1)
θj\theta_jθj 中 j=1,0j =1,0j=1,0
将代价函数展开:
∂∂θj[12∗m∑i=0m(hθ(xi)−yi)2](2)\frac{\partial}{\partial \theta_j} [ \frac{1}{2*m}\sum_{i=0}^m (h_\theta (x^i)-y^i)^2 ]\tag{2}∂θj∂[2∗m1i=0∑m(hθ(xi)−yi)2](2)
接着展开:
∂∂θj[12∗m∑i=0m(θ0+x⋅θ1−yi)2](3)\frac{\partial}{\partial \theta_j}[\frac{1}{2*m}\sum_{i=0}^m (\theta_0+ x\cdot\theta_1-y^i)^2 ]\tag{3}∂θj∂[2∗m1i=0∑m(θ0+x⋅θ1−yi)2](3)
之所以这样展开,是根据之前我们求出来②假设函数:
hθ(xi)=θ0+x⋅θ1(4)h_\theta (x^i)=\theta_0+ x \cdot\theta_1 \tag{4}hθ(xi)=θ0+x⋅θ1(4)
最后我们要将式子 (3)(3)(3) 中的偏导数 求解出来得到下面两个式子:
∂∂θ0J(θ0,θ1)=1m∑i=0m(θ0+x⋅θ1−yi)=1m∑i=0m(hθ(xi)−yi)(5)\frac{\partial}{\partial \theta_0}J(\theta_0,\theta_1)=\frac{1}{m}\sum_{i=0}^m (\theta_0+ x\cdot\theta_1-y^i) = \frac{1}{m}\sum_{i=0}^m (h_\theta(x^i)-y^i) \tag{5}∂θ0∂J(θ0,θ1)=m1i=0∑m(θ0+x⋅θ1−yi)=m1i=0∑m(hθ(xi)−yi)(5)
∂∂θ1J(θ0,θ1)=1m∑i=0m(hθ(xi)−yi)⋅xi(6)\frac{\partial}{\partial \theta_1}J(\theta_0,\theta_1)=\frac{1}{m}\sum_{i=0}^m (h_\theta(x^i)-y^i)\cdot x^i \tag{6}∂θ1∂J(θ0,θ1)=m1i=0∑m(hθ(xi)−yi)⋅xi(6)
代价函数和假设函数是回归模型问题中两个主要的式子
③梯度下降法:
我们就是利用梯度下降法找函数最小值。
梯度下降法我们共同认为 θ0和θ1\theta_0和\theta_1θ0和θ1同时变化的 是梯度下降法。
我用一个循环来表示θ0和θ1\theta_0和\theta_1θ0和θ1同时更新
for(j=0;j<=1;j++)for(j=0;j<=1;j++) for(j=0;j<=1;j++)
θj:=θj−α∂∂θjJ(θ0,θ1)(7){ \theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1) }\tag{7}θj:=θj−α∂θj∂J(θ0,θ1)(7)
解释一下:=:=:=这个符号就是赋值好和C语言里面的等号意义一样。
最低点的导数等于零:
θ0:=θ0\theta_0:=\theta_0θ0:=θ0
θ1:=θ1\theta_1:=\theta_1θ1:=θ1
可以看出θ0和θ1\theta_0和\theta_1θ0和θ1的值均不再变化。这时候就是找到了函数最小值。
把上面的式子(7)(7)(7)展开:
θ0:=θ0−α1m∑i=0m(θ0+x⋅θ1−yi)(8)\theta_0:=\theta_0-\alpha\frac{1}{m}\sum_{i=0}^m (\theta_0+ x\cdot\theta_1-y^i) \tag{8}θ0:=θ0−αm1i=0∑m(θ0+x⋅θ1−yi)(8)
θ1:=θ1−α1m∑i=0m(θ0+x⋅θ1−yi)⋅xi(9)\theta_1:=\theta_1-\alpha\frac{1}{m}\sum_{i=0}^m (\theta_0+ x\cdot\theta_1-y^i)\cdot x^i \tag{9}θ1:=θ1−αm1i=0∑m(θ0+x⋅θ1−yi)⋅xi(9)
上面的式子(8)(9)(8)(9)(8)(9)就是我们得到的终结版梯度下降法。
以上就是观看吴恩达机器学习第一节的公式笔记。