当前位置: 首页 > news >正文

人才招聘网站模板wordpress相册滑动

人才招聘网站模板,wordpress相册滑动,域名怎么拿来做网站,WordPress挂在虚拟站点Gradient Descent for Linear Regression 1、梯度下降2、梯度下降算法的实现(1) 计算梯度(2) 梯度下降(3) 梯度下降的cost与迭代次数(4) 预测 3、绘图4、学习率 首先导入所需的库#xff1a; import math, copy import numpy as np import matplotlib.pyplot as plt plt.styl… Gradient Descent for Linear Regression 1、梯度下降2、梯度下降算法的实现(1) 计算梯度(2) 梯度下降(3) 梯度下降的cost与迭代次数(4) 预测 3、绘图4、学习率 首先导入所需的库 import math, copy import numpy as np import matplotlib.pyplot as plt plt.style.use(./deeplearning.mplstyle) from lab_utils_uni import plt_house_x, plt_contour_wgrad, plt_divergence, plt_gradients1、梯度下降 使用线性模型来预测 f w , b ( x ( i ) ) f_{w,b}(x^{(i)}) fw,b​(x(i)): f w , b ( x ( i ) ) w x ( i ) b (1) f_{w,b}(x^{(i)}) wx^{(i)} b \tag{1} fw,b​(x(i))wx(i)b(1) 在线性回归中, 利用训练数据来拟合参数 w w w, b b b通过最小化预测值 f w , b ( x ( i ) ) f_{w,b}(x^{(i)}) fw,b​(x(i)) 与实际数据 y ( i ) y^{(i)} y(i) 之间的误差来实现。 这种衡量为 cost, 即 J ( w , b ) J(w,b) J(w,b)。 在训练中可以衡量所有样例 x ( i ) , y ( i ) x^{(i)},y^{(i)} x(i),y(i)的cost J ( w , b ) 1 2 m ∑ i 0 m − 1 ( f w , b ( x ( i ) ) − y ( i ) ) 2 (2) J(w,b) \frac{1}{2m} \sum\limits_{i 0}^{m-1} (f_{w,b}(x^{(i)}) - y^{(i)})^2\tag{2} J(w,b)2m1​i0∑m−1​(fw,b​(x(i))−y(i))2(2) 梯度下降描述为: repeat until convergence: { w w − α ∂ J ( w , b ) ∂ w b b − α ∂ J ( w , b ) ∂ b } \begin{align*} \text{repeat}\text{ until convergence:} \; \lbrace \newline \; w w - \alpha \frac{\partial J(w,b)}{\partial w} \tag{3} \; \newline b b - \alpha \frac{\partial J(w,b)}{\partial b} \newline \rbrace \end{align*} repeatwb}​ until convergence:{w−α∂w∂J(w,b)​b−α∂b∂J(w,b)​​(3)​ 其中参数 w w w, b b b 同时更新。 梯度定义为: ∂ J ( w , b ) ∂ w 1 m ∑ i 0 m − 1 ( f w , b ( x ( i ) ) − y ( i ) ) x ( i ) ∂ J ( w , b ) ∂ b 1 m ∑ i 0 m − 1 ( f w , b ( x ( i ) ) − y ( i ) ) \begin{align} \frac{\partial J(w,b)}{\partial w} \frac{1}{m} \sum\limits_{i 0}^{m-1} (f_{w,b}(x^{(i)}) - y^{(i)})x^{(i)} \tag{4}\\ \frac{\partial J(w,b)}{\partial b} \frac{1}{m} \sum\limits_{i 0}^{m-1} (f_{w,b}(x^{(i)}) - y^{(i)}) \tag{5}\\ \end{align} ∂w∂J(w,b)​∂b∂J(w,b)​​m1​i0∑m−1​(fw,b​(x(i))−y(i))x(i)m1​i0∑m−1​(fw,b​(x(i))−y(i))​(4)(5)​ 这里的 同时 意味着在更新任何一个参数之前同时计算所有参数的偏导数。 2、梯度下降算法的实现 包含一个特征的梯度下降算法需要三个函数来实现 compute_gradient 执行上面的等式(4)和(5)compute_cost 执行上面的等式(2)gradient_descent利用 compute_gradient 和 compute_cost 其中包含偏导数的 Python 变量的命名遵循以下模式 ∂ J ( w , b ) ∂ b \frac{\partial J(w,b)}{\partial b} ∂b∂J(w,b)​ 为 dj_db. (1) 计算梯度 compute_gradient 实现上面的 (4) 和 (5) 返回 ∂ J ( w , b ) ∂ w \frac{\partial J(w,b)}{\partial w} ∂w∂J(w,b)​, ∂ J ( w , b ) ∂ b \frac{\partial J(w,b)}{\partial b} ∂b∂J(w,b)​. def compute_gradient(x, y, w, b): Computes the gradient for linear regression Args:x (ndarray (m,)): Data, m examples y (ndarray (m,)): target valuesw,b (scalar) : model parameters Returnsdj_dw (scalar): The gradient of the cost w.r.t. the parameters wdj_db (scalar): The gradient of the cost w.r.t. the parameter b # Number of training examplesm x.shape[0] dj_dw 0dj_db 0for i in range(m): f_wb w * x[i] b dj_dw_i (f_wb - y[i]) * x[i] dj_db_i f_wb - y[i] dj_db dj_db_idj_dw dj_dw_i dj_dw dj_dw / m dj_db dj_db / m return dj_dw, dj_db使用 compute_gradient 函数来找到并绘制cost函数相对于参数 w 0 w_0 w0​ 的一些偏导数。 plt_gradients(x_train,y_train, compute_cost, compute_gradient) plt.show()上面的左图显示了 ∂ J ( w , b ) ∂ w \frac{\partial J(w,b)}{\partial w} ∂w∂J(w,b)​即在三个点处关于 w w w 的 cost 曲线的斜率。在图的右侧导数为正而在左侧为负。由于“碗形”的形状导数将始终引导梯度下降朝着梯度为零的最低点前进。 左图中的 b b b 被固定为 100。梯度下降将同时利用 ∂ J ( w , b ) ∂ w \frac{\partial J(w,b)}{\partial w} ∂w∂J(w,b)​ 和 ∂ J ( w , b ) ∂ b \frac{\partial J(w,b)}{\partial b} ∂b∂J(w,b)​ 来更新参数。右侧的“矢量图”提供了查看两个参数梯度的方式。箭头的大小反映了该点梯度的大小。箭头的方向和斜率反映了该点处 ∂ J ( w , b ) ∂ w \frac{\partial J(w,b)}{\partial w} ∂w∂J(w,b)​ 和 ∂ J ( w , b ) ∂ b \frac{\partial J(w,b)}{\partial b} ∂b∂J(w,b)​ 的比例。梯度指向远离最小值的方向。将缩放后的梯度从当前的 w w w 或 b b b 值中减去这将使参数朝着降低cost的方向移动。 (2) 梯度下降 现在可以计算梯度了梯度下降方法如上面公式3所描述可以在下面的 gradient_descent 函数中实现。使用这个函数在训练数据上找到参数 w w w 和 b b b 的最优值。 def gradient_descent(x, y, w_in, b_in, alpha, num_iters, cost_function, gradient_function): Performs gradient descent to fit w,b. Updates w,b by taking num_iters gradient steps with learning rate alphaArgs:x (ndarray (m,)) : Data, m examples y (ndarray (m,)) : target valuesw_in,b_in (scalar): initial values of model parameters alpha (float): Learning ratenum_iters (int): number of iterations to run gradient descentcost_function: function to call to produce costgradient_function: function to call to produce gradientReturns:w (scalar): Updated value of parameter after running gradient descentb (scalar): Updated value of parameter after running gradient descentJ_history (List): History of cost valuesp_history (list): History of parameters [w,b] w copy.deepcopy(w_in) # avoid modifying global w_in# An array to store cost J and ws at each iteration primarily for graphing laterJ_history []p_history []b b_inw w_infor i in range(num_iters):# Calculate the gradient and update the parameters using gradient_functiondj_dw, dj_db gradient_function(x, y, w , b) # Update Parameters using equation (3) aboveb b - alpha * dj_db w w - alpha * dj_dw # Save cost J at each iterationif i100000: # prevent resource exhaustion J_history.append( cost_function(x, y, w , b))p_history.append([w,b])# Print cost every at intervals 10 times or as many iterations if 10if i% math.ceil(num_iters/10) 0:print(fIteration {i:4}: Cost {J_history[-1]:0.2e} ,fdj_dw: {dj_dw: 0.3e}, dj_db: {dj_db: 0.3e} ,fw: {w: 0.3e}, b:{b: 0.5e})return w, b, J_history, p_history #return w and J,w history for graphing# initialize parameters w_init 0 b_init 0 # some gradient descent settings iterations 10000 tmp_alpha 1.0e-2 # run gradient descent w_final, b_final, J_hist, p_hist gradient_descent(x_train ,y_train, w_init, b_init, tmp_alpha, iterations, compute_cost, compute_gradient) print(f(w,b) found by gradient descent: ({w_final:8.4f},{b_final:8.4f}))从上面打印的梯度下降过程可以看出偏导数 dj_dw和dj_db逐渐变小开始变得很快然后变慢。当过程接近“碗底”时由于该点的导数值较小进度会变慢。 (3) 梯度下降的cost与迭代次数 cost 与迭代次数的图是梯度下降中进展的一个有用指标。在成功的运行中cost 应该始终降低。cost的变化在最初阶段非常迅速因此将初始阶段的下降与最后阶段的下降绘制在不同的比例尺上是很有用的。在下面的图中请注意坐标轴上cost的刻度和迭代步骤。 # plot cost versus iteration fig, (ax1, ax2) plt.subplots(1, 2, constrained_layoutTrue, figsize(12,4)) ax1.plot(J_hist[:100]) ax2.plot(1000 np.arange(len(J_hist[1000:])), J_hist[1000:]) ax1.set_title(Cost vs. iteration(start)); ax2.set_title(Cost vs. iteration (end)) ax1.set_ylabel(Cost) ; ax2.set_ylabel(Cost) ax1.set_xlabel(iteration step) ; ax2.set_xlabel(iteration step) plt.show()(4) 预测 现在已经找到了参数 w w w 和 b b b 的最优值可以使用这个模型根据学到的参数来预测房屋价格。如预期的那样对于相同的房屋预测值与训练值几乎相同。此外对于没有在预测中的值它与预期值是一致的。 print(f1000 sqft house prediction {w_final*1.0 b_final:0.1f} Thousand dollars) print(f1200 sqft house prediction {w_final*1.2 b_final:0.1f} Thousand dollars) print(f2000 sqft house prediction {w_final*2.0 b_final:0.1f} Thousand dollars)3、绘图 通过在cost函数的等高线图上绘制cost随迭代次数的变化来展示梯度下降执行过程。 fig, ax plt.subplots(1,1, figsize(12, 6)) plt_contour_wgrad(x_train, y_train, p_hist, ax)在上面的等高线图中展示了 c o s t ( w , b ) cost(w,b) cost(w,b) 在一系列 w w w 和 b b b 值上的变化。cost 水平由环状图表示。用红色箭头叠加在图中表示梯度下降的路径。这条路径向着目标稳步单调地前进最初的步长比接近目标时的步长要大得多。 将梯度下降的最后步进行放大随着梯度接近零步之间的距离会缩小。 fig, ax plt.subplots(1,1, figsize(12, 4)) plt_contour_wgrad(x_train, y_train, p_hist, ax, w_range[180, 220, 0.5], b_range[80, 120, 0.5], contours[1,5,10,20],resolution0.5)4、学习率 α \alpha α 越大梯度下降就会更快地收敛到一个解。但是如果 α \alpha α 太大梯度下降可能会发散。上面的例子展示了一个很好地收敛的解。如果增加 α \alpha α 的值看看会发生什么 # initialize parameters w_init 0 b_init 0 # set alpha to a large value iterations 10 tmp_alpha 8.0e-1 # run gradient descent w_final, b_final, J_hist, p_hist gradient_descent(x_train ,y_train, w_init, b_init, tmp_alpha, iterations, compute_cost, compute_gradient)在上面的情况下 w w w 和 b b b 在正值和负值之间来回跳动其绝对值在每次迭代中增加。此外每次迭代 ∂ J ( w , b ) ∂ w \frac{\partial J(w,b)}{\partial w} ∂w∂J(w,b)​ 都会改变符号并且cost不是减小而是增加。这明显表明学习率过大导致解发散。通过图形来可视化这个情况。 plt_divergence(p_hist, J_hist,x_train, y_train) plt.show()上面的左图显示了梯度下降的前几步中 w w w 的变化情况。 w w w 在正值和负值之间振荡并且cost迅速增长。梯度下降同时对 w w w 和 b b b 进行操作因此需要右边的三维图来得到完整的图像。
http://www.zqtcl.cn/news/444906/

相关文章:

  • 网站建设的栏目策划长沙网站制作价
  • h5商城网站怎么建立建设银行网站号
  • 养殖舍建设网站网站设计建设流程图
  • 麦包包的网站建设分析陕西城乡建设部网站
  • 网站测评必须做灯笼制作手工简单又漂亮
  • 购物网站建设的意义与目的wordpress 插件 加速
  • 大型html5浅蓝色网站设计公司dede模板网店怎么开店详细教程
  • 一个阿里云怎么做两个网站吗樱花16q808a
  • 如何利用服务器做网站网站建设朝阳
  • 比邻店网站开发企查查企业信息查询在线
  • 家乡网站建设策划案专业建设专题网站
  • 网站建设公司挣钱吗wordpress评论内容密码保护
  • 上海专业建站最低价网站程序模板
  • 蚌埠网站建设哪家好创客贴官网
  • php网站建设参考文献wordpress 头像 很慢
  • 大连seo网站推广phpcmsv9手机网站源码
  • 公司做推广做网站好还是俄文网站引擎
  • 上海市建设咨询协会网站asp网站源码
  • 大家都在哪些网站上做医药招商wordpress po文件
  • 国外主题网站兰州app
  • 建设项目自主验收公示网站dedecms英文外贸网站企业模板下载
  • 做网站要服务器吗前端企业网站开发
  • 用html写一个个人介绍多网站怎么做seo
  • 做网站打广告犯法吗中国建设投资集团 网站首页
  • 怎么免费申请个人网站职业技能培训有哪些
  • 小型的企业网站湖南备案网站建设方案书
  • 现在做网站公司seo怎么做教程
  • asp化妆品网站windows优化大师有必要安装吗
  • 网站流量分析系统制作图片网站
  • 做网站技术路线广州番禺发布公众号