TensorFlow1.x入门(5)——构建非线性回归模型

本文详细介绍如何使用TensorFlow构建非线性回归模型,包括数据生成、模型搭建、训练及预测全过程。通过具体实例,展示如何利用激活函数、优化器等关键组件实现模型训练,并最终绘制出预测结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章

本教程有同步的github地址

0. 统领篇

1. 计算图的创建与启动

2. 变量的定义及其操作

3. Feed与Fetch

4. 线性回归

5. 构建非线性回归模型

6. 简单分类问题

7. Dropout与优化器

8. 手动调整学习率与TensorBoard

9. 卷积神经网络(CNN)

10. 循环神经网络(RNN)

11. 模型的保存与恢复

构建非线性回归模型

知识点

np.linsapce(-0.5, 0.5, 200)生成从-0.5到0.5的均匀分布的200个数据点。包含首尾
numpy中花式索引的一个实例——数据升维,即原来是1维的数据列表,经过升维后形成每个数值为1维列表的2为列表。结果类似如下:

[1, 2, 3, 4] ==> [[1], [2], [3]]

arr = arr[:, np.newaxis]

np.random.normal(mean, stddev, shape)用于生成一个随机正态分布(高斯分布)的数据,正态分布的均值为mean,方差为stddev,数据的维度为shape
tf.random_normal([1,10])在tensorflow中形成[1,10 ]大小的张量,数据服从高斯分布。默认的均值为0,方差为0.1。
tf.nn.tanh()是激活函数,图形类似于sigmod,但是tanh比sigmod更陡。
tf.global_variables_initializer()初始化整个计算图中的变量。

示例

#%% md
# 回归模型
#%%
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as p