2021-09-24 案例-线性回归实现

import tensorflow.compat.v1 as tf
tf.compat.v1.disable_eager_execution()
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

def linearregression():
    """
    tensorflow实现线性回归
    :return:
    """
    #生成一个100个一维数据
    X = tf.random_normal([100, 1], mean=0.0, stddev=1.0)
    #用100个一维数据生成一个符合 y=0.8x+0.7分布的[100,1]矩阵
    y_true = tf.matmul(X, [[0.8]]) + [[0.7]]

    #随机初始化w,b
    weights = tf.Variable(initial_value=tf.random_normal([1, 1]))
    bias = tf.Variable(initial_value=tf.random_normal([1, 1]))
    #构建预测线性关系的计算矩阵
    y_predict = tf.matmul(X, weights) + bias
    #构造损失函数
    loss = tf.reduce_mean(tf.square(y_predict - y_true))
    #剃度下降优化损失,指定学习率
    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)
    #初始化变量
    init_op = tf.global_variables_initializer()
    #开启会话进行训练
    with tf.Session() as sess:
        sess.run(init_op)
        for i in range(1000):
            sess.run(optimizer)
            print("loss:", sess.run(loss))
            print("weights:", sess.run(weights))
            print("bias:", sess.run(bias))


    return None


if __name__ == '__main__':
    linearregression()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值