300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 吴恩达《cs229-机器学习》:1 梯度下降法与一元线性回归

吴恩达《cs229-机器学习》:1 梯度下降法与一元线性回归

时间:2019-12-07 18:36:18

相关推荐

吴恩达《cs229-机器学习》:1 梯度下降法与一元线性回归

1. 泰勒级数的一阶展开

泰勒级数(Taylor series)用级数来表示一个函数,这些相加的项由函数在某一点的导数求得。泰勒级数是以于17发表了泰勒公式的英国数学家布鲁克·泰勒(Sir Brook Taylor)的名字来命名的,在近似计算中有重要作用。

【定义】如果函数f(x)f(x)f(x)在点x=x0x=x_0x=x0​具有任意阶导数,则可以得到f(x)f(x)f(x)在x0x_0x0​点的泰勒级数为

f(x)=∑n=0∞f(n)(x0)n!(x−x0)n=f(x0)+f′(x0)(x−x0)+f′′(x0)2(x−x0)2+⋯+f(n)(x0)n!(x−x0)n+⋯\begin{aligned} f(x)&=\sum_{n=0}^{\infty}\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n\\ &=f(x_0)+f'(x_0)(x-x_0)+\frac{f''(x_0)}{2}(x-x_0)^2+\cdots+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n+\cdots \end{aligned} f(x)​=n=0∑∞​n!f(n)(x0​)​(x−x0​)n=f(x0​)+f′(x0​)(x−x0​)+2f′′(x0​)​(x−x0​)2+⋯+n!f(n)(x0​)​(x−x0​)n+⋯​显然,如果xxx非常接近x0x_0x0​,即x−x0x-x_0x−x0​很小时,我们可以用泰勒级数的一阶展开来近似表示f(x)f(x)f(x),即

f(x)≈f(x0)+f′(x0)(x−x0).f(x)\approx f(x_0)+f'(x_0)(x-x_0). f(x)≈f(x0​)+f′(x0​)(x−x0​).

2. 梯度下降法

(1)问题描述

对于某函数:J(θ0,θ1)J(\theta_0,\theta_1)J(θ0​,θ1​)

希望:min⁡θ0,θ1J(θ0,θ1)\min \limits_{\theta_0,\theta_1}J(\theta_0,\theta_1)θ0​,θ1​min​J(θ0​,θ1​)

步骤:

从某个θ0,θ1\theta_0,\theta_1θ0​,θ1​的初值开始(例如θ0=0\theta_0=0θ0​=0,θ1=0\theta_1=0θ1​=0);持续改变θ0,θ1\theta_0,\theta_1θ0​,θ1​来减小J(θ0,θ1)J(\theta_0,\theta_1)J(θ0​,θ1​),直到得到我们希望的最小值。

(2)梯度下降算法

重复直至收敛{\{{

θj:=θj−α∂∂θjJ(θ0,θ1)(forj=0andj=1)\theta_j:=\theta_j-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1)\quad ({\rm for}\ j=0\ {\rm and}\ j=1)θj​:=θj​−α∂θj​∂​J(θ0​,θ1​)(forj=0andj=1)

}\}}

正确的方法:同时更新

temp0:=θ0−α∂∂θjJ(θ0,θ1):=\theta_0-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1):=θ0​−α∂θj​∂​J(θ0​,θ1​)

temp1:=θ1−α∂∂θjJ(θ0,θ1):=\theta_1-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1):=θ1​−α∂θj​∂​J(θ0​,θ1​)

θ0:=\theta_0:=θ0​:=temp0

θ1:=\theta_1:=θ1​:=temp1

不正确的方法:分别更新

temp0:=θ0−α∂∂θjJ(θ0,θ1):=\theta_0-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1):=θ0​−α∂θj​∂​J(θ0​,θ1​)

θ0:=\theta_0:=θ0​:=temp0

temp1:=θ1−α∂∂θjJ(θ0,θ1):=\theta_1-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0,\theta_1):=θ1​−α∂θj​∂​J(θ0​,θ1​)

θ1:=\theta_1:=θ1​:=temp1

α\alphaα:学习速率,更新参数的幅度大小

3. 梯度下降线性回归

对于一元线性回归问题,有

hθ(x)=θ0+θ1xJ(θ0,θ1)=12m∑i=1m[hθ(x(i))−y(i)]2\begin{aligned} h_{\theta}(x)&=\theta_0+\theta_1x\\ J(\theta_0,\theta_1)&=\frac{1}{2m}\sum_{i=1}^m[h_{\theta}(x^{(i)})-y^{(i)}]^2 \end{aligned} hθ​(x)J(θ0​,θ1​)​=θ0​+θ1​x=2m1​i=1∑m​[hθ​(x(i))−y(i)]2​

对代价函数求偏导,可以得到

∂∂θ0J(θ0,θ1)=1m∑i=1m[hθ(x(i))−y(i)]∂∂θ1J(θ0,θ1)=1m∑i=1m[hθ(x(i))−y(i)]x(i)\begin{aligned} \frac{\partial}{\partial \theta_0}J(\theta_0,\theta_1)&=\frac{1}{m}\sum_{i=1}^m[h_{\theta}(x^{(i)})-y^{(i)}]\\ \frac{\partial}{\partial \theta_1}J(\theta_0,\theta_1)&=\frac{1}{m}\sum_{i=1}^m[h_{\theta}(x^{(i)})-y^{(i)}]x^{(i)}\end{aligned} ∂θ0​∂​J(θ0​,θ1​)∂θ1​∂​J(θ0​,θ1​)​=m1​i=1∑m​[hθ​(x(i))−y(i)]=m1​i=1∑m​[hθ​(x(i))−y(i)]x(i)​

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。