深度学习之tensorflow实现简单的线性回归案例

    科技2026-01-20  9

    1. tensorflow实现简单的线性回归案例

    1.1 线性回归知识复习

    1.2 相关API

    import tensorflow as tf import os os.environ['TF_CPP_MIN_LOG_LEVEL']='2' def myregression(): """ 自实现一个线性回归预测 :return: None """ # 1、准备数据,x 特征值 [100, 1] y 目标值[100] x = tf.random_normal([100, 1], mean=1.75, stddev=0.5, name="x_data") # 矩阵相乘必须是二维的 y_true = tf.matmul(x, [[0.7]]) + 0.8 # 2、建立线性回归模型 1个特征,1个权重, 一个偏置 y = x w + b # 随机给一个权重和偏置的值,让他去计算损失,然后再当前状态下优化 # 用变量定义才能优化 weight = tf.Variable(tf.random_normal([1, 1], mean=0.0, stddev=1.0), name="w") bias = tf.Variable(0.0, name="b") y_predict = tf.matmul(x, weight) + bias # 3、建立损失函数,均方误差 loss = tf.reduce_mean(tf.square(y_true - y_predict)) # 4、梯度下降优化损失 leaning_rate: 0 ~ 1, 2, 3,5, 7, 10 train_op = tf.train.GradientDescentOptimizer(0.1).minimize(loss) # 定义一个初始化变量的op init_op = tf.global_variables_initializer() # 通过会话运行程序 with tf.Session() as sess: # 初始化变量 sess.run(init_op) # 打印随机最先初始化的权重和偏置 print("随机初始化的参数权重为:%f, 偏置为:%f" % (weight.eval(), bias.eval())) # 循环训练 运行优化 for i in range(100): sess.run(train_op) print("第%d次优化的参数权重为:%f, 偏置为:%f" % (i, weight.eval(), bias.eval())) return None if __name__ == "__main__": myregression()

    输出的结果为:

    Processed: 0.014, SQL: 9