热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

单层神经网络下求一元线性回归值

单层神经网络下的


已知我们的训练数据集在坐标轴上是线性分布的,求数据集的分布规律,也就是求 Y = wX + b 函数中w和b的值,使得真实值Y1 和求得的值 wX1 + b,误差最小。


手动生成训练数据集:Y = X * 4 + 1 + noise


在训练一千遍之后,我们得到了w的值为4.00232605,b的值为0.99968383,测试集验证x1=1,y1=5.00200989,x2=2,y2= 9.00433594x3=3,y3=13.00666,基本符合Y X * 4 + 1规律。


代码:

import tensorflow as tf
import numpy as np


# 随机生成 3000行,1列向量
inputX = np.random.rand(3000,1)
# numpy.random.normal(loc=0.0, scale=1.0, size=None)
# 标准正态分布(μ=0, σ=1),对应loc=0.0, scale=1.0
# loc:此概率分布的均值(对应着整个分布的中心centre)
# scale:此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
# size:输出的shape,默认为None,只输出一个值
noise = np.random.normal(0,0.05,inputX.shape)
# y=4x + 1
outputY = inputX * 4 + 1 + noise
# 第一层
# inputX.shape = (3000, 1)
# inputX.shape[1] = 1
# w 的shape实际是 (1, 4)
weight1 = tf.Variable(np.random.rand(inputX.shape[1],4))
bias1 = tf.Variable(np.random.rand(inputX.shape[1],4))
# x和w的shape行列值正好是相反,原因请看矩阵的线性变换
x1 = tf.placeholder(tf.float64, [None, 1])
# Y = w * X + b 一元线性回归模型
# tf.matmul是矩阵相乘
y1_ = tf.matmul(x1, weight1) + bias1
y = tf.placeholder(tf.float64, [None, 1])
# tf.reduce_sum(tf.square((y1_ - y)) 最小二乘的累加
# tf.reduce_mean 对矩阵降维
loss = tf.reduce_mean(tf.reduce_sum(tf.square((y1_ - y)),reduction_indices=[1]))
# 选择学习率为0.25的梯度下降法
train = tf.train.GradientDescentOptimizer(0.25).minimize(loss)
# 初始化全部变量
init = tf.initialize_all_variables()
sees = tf.Session()
sees.run(init)


# 训练一千遍
for i in range(1000):
sees.run(train, feed_dict={x1:inputX, y:outputY})


print(weight1.eval(sees))
print("====================")
print(bias1.eval(sees))
print("====================")


x_data = np.matrix([[1.],[2.],[3.]])
print(sees.run(y1_,feed_dict={x1: x_data}))



结论:

w值:
[[4.00232605 4.00232605 4.00232605 4.00232605]]
b值:
[[0.99968383 0.99968383 0.99968383 0.99968383]]
计算结果:
[[ 5.00200989 5.00200989 5.00200989 5.00200989]
[ 9.00433594 9.00433594 9.00433594 9.00433594]
[13.006662 13.006662 13.006662 13.006662 ]]


感觉今天的推文有点划水,但其实经典的神经网络模型,也就一百多行代码,随便写个脚本都比这多。神经网络、tensorflow太难了,,2021年立下的flag,要发够12篇深度学习的推文,后悔了,不想学了,太难了。





推荐阅读
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • pytorch Dropout过拟合的操作
    这篇文章主要介绍了pytorchDropout过拟合的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Givenasinglylinkedlist,returnarandomnode'svaluefromthelinkedlist.Eachnodemusthavethe s ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
author-avatar
SIX道仙人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有