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

标准网站sitemap.xml如何去除痘痘有效果

标准网站sitemap.xml,如何去除痘痘有效果,做一个商城网站,wordpress说明文档交接文章目录 前言代码模拟梯度下降构建函数与导函数函数的可视化求这个方程的最小值(直接求导)求方程最小值(不令方程导为0)【梯度下降】eta0.1eta 0.2eta 50eta 0.01画出eta0.1时的梯度下降x的变化过程 总结 前言 💫你…

文章目录

  • 前言
  • 代码模拟梯度下降
    • 构建函数与导函数
    • 函数的可视化
    • 求这个方程的最小值(直接求导)
    • 求方程最小值(不令方程导为0)【梯度下降】
      • eta=0.1
      • eta = 0.2
      • eta = 50
      • eta = 0.01
      • 画出eta=0.1时的梯度下降x的变化过程
  • 总结

前言

💫你好,我是辰chen,本文旨在准备考研复试或就业
💫本文内容来自某机构网课,是我为复试准备的第一个项目
💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容
🌟 预置知识详见我的AIoT板块,需掌握 基本Python语法, Numpy, Pandas, Matplotlib

以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新),欢迎大家的关注:

💥ACM-ICPC算法汇总【基础篇】
💥ACM-ICPC算法汇总【提高篇】
💥AIoT(人工智能+物联网)
💥考研
💥CSP认证考试历年题解

代码模拟梯度下降

import numpy as np
import matplotlib.pyplot as plt

构建函数与导函数

f = lambda x : (x - 3.5) ** 2 - 4.5 * x + 10
# 导函数
g = lambda x : 2 * (x - 3.5) - 4.5

函数的可视化

x = np.linspace(0, 11.5, 100)
y = f(x)plt.plot(x, y)
# 画出最小值点(5.75即为最小值点,具体计算即为令导数为0,见下个代码块)
plt.scatter(5.75, f(5.75), color = 'red', s = 30)

在这里插入图片描述

求这个方程的最小值(直接求导)

'''
令导数值 = 0
2 * (x - 3.5) - 4.5 = 0
2 * x = 11.5
x = 5.75
'''

求方程最小值(不令方程导为0)【梯度下降】

eta=0.1

# 给一个步幅,也就是学习率
eta = 0.1 # 正解为 x = 5.75, 若我们梯度下降求得的 x = 5.749, 5.7501 ... 亦是正确答案(很接近)
x = np.random.randint(0, 12, size = 1)[0]# 多次 while 循环,每次梯度下降,记录一下上一次的值,规定一个精确度进行比较
# +0.1; +0.2; +1;...都是可以的,是为了让他们在一开始有差异
last_x = x + 0.1# 下面自定义一个精确度
precision = 0.0001
print('-----------------随机的x是:', x)while True:if np.abs(x - last_x) < precision:    # 退出死循环条件:更新时变化甚微break# 更新,梯度下降last_x = xx = x - eta * g(x)print('+++++++++++++++++更新之后的x是:', x)

在这里插入图片描述
可以看到,最终逼近的结果为 5.750373845373813,可以认为是正确解

eta = 0.2

eta 调大之后,可以明显观察到收敛的快了

# 给一个步幅,也就是学习率
eta = 0.2# 正解为 x = 5.75, 若我们梯度下降求得的 x = 5.749, 5.7501 ... 亦是正确答案(很接近)
x = np.random.randint(0, 12, size = 1)[0]# 多次 while 循环,每次梯度下降,记录一下上一次的值,规定一个精确度进行比较
# +0.1; +0.2; +1;...都是可以的,是为了让他们在一开始有差异
last_x = x + 0.1# 下面自定义一个精确度
precision = 0.0001
print('-----------------随机的x是:', x)while True:if np.abs(x - last_x) < precision:    # 退出死循环条件:更新时变化甚微break# 更新,梯度下降last_x = xx = x - eta * g(x)print('+++++++++++++++++更新之后的x是:', x)

在这里插入图片描述

eta = 50

当然,eta 的值也不可以设的过大,会造成发散

# 给一个步幅,也就是学习率
eta = 50# 正解为 x = 5.75, 若我们梯度下降求得的 x = 5.749, 5.7501 ... 亦是正确答案(很接近)
x = np.random.randint(0, 12, size = 1)[0]# 多次 while 循环,每次梯度下降,记录一下上一次的值,规定一个精确度进行比较
# +0.1; +0.2; +1;...都是可以的,是为了让他们在一开始有差异
last_x = x + 0.1# 下面自定义一个精确度
precision = 0.0001
print('-----------------随机的x是:', x)while True:if np.abs(x - last_x) < precision:    # 退出死循环条件:更新时变化甚微break# 更新,梯度下降last_x = xx = x - eta * g(x)print('+++++++++++++++++更新之后的x是:', x)

在这里插入图片描述
这是一个死循环

eta = 0.01

如果 eta 的值设的比较小,会收敛,但是会很慢

# 给一个步幅,也就是学习率
eta = 0.01# 正解为 x = 5.75, 若我们梯度下降求得的 x = 5.749, 5.7501 ... 亦是正确答案(很接近)
x = np.random.randint(0, 12, size = 1)[0]# 多次 while 循环,每次梯度下降,记录一下上一次的值,规定一个精确度进行比较
# +0.1; +0.2; +1;...都是可以的,是为了让他们在一开始有差异
last_x = x + 0.1# 下面自定义一个精确度
precision = 0.0001
print('-----------------随机的x是:', x)while True:if np.abs(x - last_x) < precision:    # 退出死循环条件:更新时变化甚微break# 更新,梯度下降last_x = xx = x - eta * g(x)print('+++++++++++++++++更新之后的x是:', x)

在这里插入图片描述

画出eta=0.1时的梯度下降x的变化过程

# 多两行下述代码:
# x_ = [x]
#     x_.append(x)eta = 0.1 x = np.random.randint(0, 12, size = 1)[0]last_x = x + 0.1precision = 0.0001
print('-----------------随机的x是:', x)x_ = [x]   # Python中的列表
count = 0  # 记录梯度下降的次数while True:if np.abs(x - last_x) < precision:   breaklast_x = xcount += 1x = x - eta * g(x)x_.append(x)     # 把更新后的 x 加入到 x_ 中print('+++++++++++++++++梯度下降的次数是:', count)# x1 是 Numpy 的数组
x1 = np.linspace(0, 11.5, 100)
y1 = f(x1)
plt.figure(figsize = (12, 9))   # 调整图像大小
plt.plot(x1, y1)# 散点图
x_ = np.array(x_)   # x_ 需要从 Python 列表转为 Numpy 的数组,否则无法绘图
plt.scatter(x_, f(x_), color = 'red', s = 30)

在这里插入图片描述

总结

模拟的时候还发现了 eta 设置的过小算出来的值也是错误的现象,知道了原因后会补在这里

在这里插入图片描述

http://www.hkea.cn/news/738801/

相关文章:

  • 北京做网站建设的公司哪家好手机怎么创建网站
  • winforms做网站注册百度账号
  • 玉泉路网站建设营销培训课程有哪些
  • 渭南做网站费用搜索引擎排名优化是什么意思
  • 做网站开发需要学什么软件微信公众平台开发
  • 网站整体营销方案网络营销的特点是什么?
  • 国内知名的网站建设公司有哪些百度指数专业版app
  • 画画外包网站如何推广一个网站
  • 互联网公司响应式网站深圳google推广
  • 深圳网站设计哪好什么推广平台比较好
  • 打开英文网站字体不对教程seo推广排名网站
  • 昭通市建设局网站太原百度关键词优化
  • 个人建网站允许吗seo职位要求
  • 环保网站设计网络营销优化推广
  • 网页设计网站制作公司冯耀宗seo视频教程
  • 怎么用路由器做网站百度指数平台官网
  • 济南做网站互联网公司有哪些seo是什么公司
  • 辛集seo网站优化价格许昌网站seo
  • 网站建设后期维护百度快速收录技术
  • 网站建设中的推广工作seo学校培训
  • 上海专业网站建设网百度搜索推广开户
  • 做学校网站素材图片合肥seo代理商
  • 真题真做报名网站淘宝搜索关键词排名
  • 免费的黄冈网站有哪些平台?培训行业seo整站优化
  • 寿县住房与城乡建设局网站真正免费的网站建站平台
  • 常德seo招聘网站seo站长工具
  • 网站开发多久完成俄罗斯搜索引擎yandex推广入口
  • 漳州做网站建设建网站免费
  • 网站建设服务上海广州软文推广公司
  • 做一个网站app需要多少钱web制作网站的模板