TensorFlow05.3 神经网络反向传播算法-多层感知机梯度(理论知识)

更新于:2023-06-19

首先这个是链式法则:如果扩展到多层感知机的话:我们在学这个的时候首先知道一个东西:所以这个整体的步骤就是:1.2.3.函数优化实战首先是这么一个函数:然后我们需要找他它的最小值,或者极值import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import pyplot as pltimport

首先这个是链式法则:
image
image
如果扩展到多层感知机的话:
image
image
我们在学这个的时候首先知道一个东西:
image
image
image
image

image

所以这个整体的步骤就是:
1.
image
2.
image
3.
image

函数优化实战

image
首先是这么一个函数:
然后我们需要找他它的最小值,或者极值
image

import  numpy as np
from    mpl_toolkits.mplot3d import Axes3D
from    matplotlib import pyplot as plt
import  tensorflow as tf



def himmelblau(x):
    # himmelblau函数实现
    return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 - 7) ** 2


x = np.arange(-6, 6, 0.1)
y = np.arange(-6, 6, 0.1)
print('x,y range:', x.shape, y.shape)
# 生成x-y平面采样网格点,方便可视化
X, Y = np.meshgrid(x, y)
print('X,Y maps:', X.shape, Y.shape)
Z = himmelblau([X, Y]) # 计算网格点上的函数值

# 绘制himmelblau函数曲面
fig = plt.figure('himmelblau')
ax = fig.gca(projection='3d')
ax.plot_surface(X, Y, Z)
ax.view_init(60, -30)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()

# 参数的初始化值对优化的影响不容忽视,可以通过尝试不同的初始化值,
# 检验函数优化的极小值情况
# [1., 0.], [-4, 0.], [4, 0.]
# x = tf.constant([4., 0.])
# x = tf.constant([1., 0.])
# x = tf.constant([-4., 0.])
x = tf.constant([-2., 2.])

for step in range(200):# 循环优化
    with tf.GradientTape() as tape: #梯度跟踪
        tape.watch([x]) # 记录梯度
        y = himmelblau(x) # 前向传播
    # 反向传播
    grads = tape.gradient(y, [x])[0] 
    # 更新参数,0.01为学习率
    x -= 0.01*grads
    # 打印优化的极小值
    if step % 20 == 19:
        print ('step {}: x = {}, f(x) = {}'
               .format(step, x.numpy(), y.numpy()))

我们运行之后,我们会发现,你一开始不同的点,会导致它走向不同的地方(四个点)。

相关文档

推荐软件

网络调试专用工具GET/POST支持HTTPS 支持自定义请求头和POST数据
九戒网络助手

网络调试专用工具GET/POST支持HTTPS 支持自定义请求头和POST数据

直接下载

一键屏幕取色工具绿色版 网页取色建站必备神器
屏幕取色器

一键屏幕取色工具绿色版 网页取色建站必备神器

直接下载

高性能快速去除TXT文件中的重复文本行,支持两个文本合并后去重
TXT合并去重工具

高性能快速去除TXT文件中的重复文本行,支持两个文本合并后去重

直接下载

一键批量采集关键词,长尾词,下拉词,相关搜搜词
关键词采集器 [相关/下拉/长尾]

一键批量采集关键词,长尾词,下拉词,相关搜搜词

直接下载

TDK一键采集网站标题/关键词/描述支持unicode解码
网站TDK采集器

TDK一键采集网站标题/关键词/描述支持unicode解码

直接下载

多线程批量扫描指定服务器开放了哪些端口
批量端口扫描工具

多线程批量扫描指定服务器开放了哪些端口

直接下载

输入关键词批量搜索网站,支持导出为txt和excel表格,支持导出TDK
关键词网站域名采集器

输入关键词批量搜索网站,支持导出为txt和excel表格,支持导出TDK

直接下载

域名采集器,高速有效域名网址采集工具
域名采集器

域名采集器,高速有效域名网址采集工具

直接下载

站群推广利器SEO自动外链引蜘蛛工具
SEO自动外链工具

站群推广利器SEO自动外链引蜘蛛工具

直接下载

网址访问状态检查,网站漏洞扫描文件目录扫描
网址批量验证器

网址访问状态检查,网站漏洞扫描文件目录扫描

直接下载

批量将网址中的占位符替换成URL编码的关键词,保存导出最终网址列表
网址关键词合并工具

批量将网址中的占位符替换成URL编码的关键词,保存导出最终网址列表

查看详情

网站统计平台广告引流工具CNZZ/51.LA/百度统计通用
网站统计平台广告引流

网站统计平台广告引流工具CNZZ/51.LA/百度统计通用

查看详情

百度网盘批量分享工具,一键自动分享文件记录链接和密码
百度网盘批量分享

百度网盘批量分享工具,一键自动分享文件记录链接和密码

查看详情

Excel表格导入织梦文章,支持自定义模型和字段
Excel导入织梦系统

Excel表格导入织梦文章,支持自定义模型和字段

查看详情

txt文档批量导入织梦CMS文章工具
txt导入织梦文章

txt文档批量导入织梦CMS文章工具

查看详情

WORD文档带图片和格式发布到织梦CMS文章
WORD文档导入织梦

WORD文档带图片和格式发布到织梦CMS文章

查看详情

推荐专题