• tensorflow入门01——搭建简单的线性回归模型


    这两天跟着老师发的视频开始入门深度学习,虽然之前有过一段时间的接触,但并没有什么有效的进展,现在算是正式开始整了,希望可以通过这一个多月的寒假有所收获吧。

    ·Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型。Tensorflow程序一般分为图的构建和图的执行两个阶段。图的构建阶段也称为图的定义阶段,该过程会在图模型中定义所需的运算,每次运算的的结果以及原始的输入数据都可称为一个节点。

    ·线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w'x+e,e为误差服从均值为0的正态分布。 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

    下面用tensorflow搭建了一个简单的线性回归模型。

    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    import numpy as np
    import matplotlib.pyplot as plt
    import os
    os.environ["CUDA_VISIBLE_DEVICES"]="0"
    #训练参数
    learn_rate=0.1
    training_epochs=200
    display_step=50
    
    train_x=[]
    train_y=[]
    
    #生成训练数据
    for i in range(training_epochs):
        x=np.random.normal(0.0,0.55)
        y=0.3*x+2+np.random.normal(0.0,0.05)
        train_x.append(x)
        train_y.append(y)
    
    train_x=np.asarray(train_x)
    train_y=np.asarray(train_y)
    n_samples=train_x.shape[0]
    
    #初始权重
    w=tf.Variable(np.random.randn(),name="weight")
    b=tf.Variable(np.random.randn(),name="bias")
    
    #构造线性回归模型
    pred=w*train_x+b
    
    #lost
    lost=tf.reduce_sum(tf.pow(pred-train_y,2))/(2*n_samples)
    
    #tf自带的梯度下降算法
    optimizer=tf.train.GradientDescentOptimizer(learn_rate).minimize(lost)
    
    #初始化
    init=tf.global_variables_initializer()
    
    #创建tfsession
    with tf.Session() as sess:
        sess.run(init)
    
        #开始训练
        for epoch in range(training_epochs):
                sess.run(optimizer)
                print("cost=", sess.run(lost), "W=", sess.run(w), "b=", sess.run(b))
    
        train_lost=sess.run(lost)
        print("cost=",train_lost,"W=",sess.run(w),"b=",sess.run(b))
    
        plt.plot(train_x,train_y,'ro')
        plt.plot(train_x,sess.run(w)*train_x+sess.run(b))
        plt.legend()
        plt.show()
  • 相关阅读:
    人脸识别(Unseen Domains)
    人脸识别(Unseen Domains)
    人脸聚类
    人脸聚类
    人脸聚类
    人脸检测和识别以及检测中loss学习
    Embedding-based Retrieval in Facebook Search
    Spring Cloud Alibaba(1)---入门篇
    2020Android面经,历时一个半月,斩获3个大厂offer
    【算法总结】递归和非递归实现二叉树的先序,中序,后序遍历
  • 原文地址:https://www.cnblogs.com/XiaoGao128/p/14247235.html
Copyright © 2020-2023  润新知