2023.11.28 使用tensorflow进行“三好“权重分析

2023-12-01 12:45

本文主要是介绍2023.11.28 使用tensorflow进行“三好“权重分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2023.11.28 使用tensorflow进行"三好"权重分析

这是最基础的一个神经网络问题。许久没有再使用,用来做恢复训练比较好。

x1w1 + x2w2 +x3*w3 = y,已知x1,x2,x3和y,求w1,w2,w3
这是一个三元一次方程,正常需要三组数据就能准确求出解,但是如果要在仅有两组数据的情况下进行求解,除使用暴力法外,采用神经网络是一个不错的选择,网络模型图如下
在这里插入图片描述

'''尝试最基础的tensorflow应用:三好学生的"三好"权重分析问题:"三好"指的是品德好,学习好,体育好,有两组分数和各组分数综合值,求每个分数的权重
'''import tensorflow.compat.v1 as tf      # tf2.0版本改动太大,如果要按1.X版本的格式写需要调用这个库
tf.disable_v2_behavior()               # tf2.0版本改动太大,如果要按1.X版本的格式写需要调用这个库x1 = tf.placeholder(dtype=tf.float32)
x2 = tf.placeholder(dtype=tf.float32)
x3 = tf.placeholder(dtype=tf.float32)
yTrain = tf.placeholder(dtype=tf.float32)
'''在TensorFlow 1.X中,创建占位符并在tf.Session实例化时为其提供实际值。但是,从TensorFlow2.0开始,默认情况下启用了Eager Execution,因此“占位符”的概念没有意义,因为操作是立即计算的(而不是与旧范例不同)
'''w1 = tf.Variable(0.1,dtype=tf.float32)                  # 0.1是w1的初始化参数
w2 = tf.Variable(0.1,dtype=tf.float32)
w3 = tf.Variable(0.1,dtype=tf.float32)n1 = x1 * w1
n2 = x2 * w2
n3 = x3 * w3y = n1 + n2 + n3loss = tf.abs(y - yTrain)           # 使用.abs(绝对值),是使实际值和目标值差距最小,而不是损失函数数字最小
learning_rate = 0.001optimizer = tf.train.RMSPropOptimizer(learning_rate)        # 选择优化器/分类器train = optimizer.minimize(loss)                # 训练模型,目标是loss最小sess = tf.Session()
init = tf.global_variables_initializer()        # 初始化前述张量(tf.)
sess.run(init)for i in range(5000):result = sess.run([train,x1,x2,x3,w1,w2,w3,y,yTrain,loss],feed_dict={x1:90,x2:80,x3:70,yTrain:85})print(result)result = sess.run([train, x1, x2, x3, w1, w2, w3, y, yTrain, loss], feed_dict={x1: 98, x2: 95, x3: 87, yTrain: 96})print(result)

循环5000次,输出结果
在这里插入图片描述

# 输出结果解释
第一个元素 None 表示训练操作 train 的执行结果为空。
第二个元素 array(98., dtype=float32) 表示输入占位符 x1 的值为 98。
第三个元素 array(95., dtype=float32) 表示输入占位符 x2 的值为 95。
第四个元素 array(87., dtype=float32) 表示输入占位符 x3 的值为 87。
第五个元素 0.5828438 表示权重变量 w1 的值为 0.5828438。
第六个元素 0.2860972 表示权重变量 w2 的值为 0.2860972。
第七个元素 0.13144642 表示权重变量 w3 的值为 0.13144642。
第八个元素 96.03325 表示模型输出 y 的值为 96.03325。
第九个元素 array(96., dtype=float32) 表示目标输出占位符 yTrain 的值为 96。
最后一个元素 0.0332489 表示损失函数 loss 的值为 0.0332489。

对比循环500次,输出结果,循环500次loss尚未稳定,和最终结果存在较大偏差
在这里插入图片描述

这篇关于2023.11.28 使用tensorflow进行“三好“权重分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/441209

相关文章

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监