博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线性回归:代码实现
阅读量:3950 次
发布时间:2019-05-24

本文共 1216 字,大约阅读时间需要 4 分钟。

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltnum_points=1000vectors_set=[] for i in range(num_points):    x1= np.random.normal(0.0, 0.05)#均值为0,标准差为0.05的随机值    y1= x1*0.2+0.6+np.random.normal(0.0, 0.01) #加上小范围的数据浮点    vectors_set.append([x1,y1])  #将x,y的值统一到向量中#生成的样本点x_data=[v[0] for v in vectors_set]y_data=[v[1] for v in vectors_set]plt.scatter(x_data,y_data,c='r')plt.show()

在这里插入图片描述

#初始化1维矩阵W,取值在[-1,1]之间W = tf.Variable(tf.random_uniform([1],-1.0,1.0), name='W')#初始化1维矩阵b,取值为0b = tf.Variable(tf.zeros([1]), name='b')#计算预测值yy = W*x_data+b#计算损失值(预测值与真实值间的均方差)loss = tf.reduce_mean(tf.square(y-y_data),name='loss')#采用梯度下降优化参数(W,b)optimizer = tf.train.GradientDescentOptimizer(0.5)#学习率为0.5#最小化损失值train = optimizer.minimize(loss,name='loss')init_op = tf.global_variables_initializer()with tf.Session() as sess:    sess.run(init_op)    print("W = " ,sess.run(W),"b = " ,sess.run(b),"loss = ", sess.run(loss))    #训练1000次训练    for step in range(1000):  #迭代步数      sess.run(train)      print("W = " ,sess.run(W),"b = ", sess.run(b),"loss = " ,sess.run(loss))    plt.scatter(x_data,y_data,c='r') #描绘样本点    plt.scatter(x_data,sess.run(W)*x_data+sess.run(b))#描绘回归结果    plt.show()

在这里插入图片描述……

在这里插入图片描述
在训练中loss不断减少,W和b逐渐趋于稳定。

转载地址:http://fohwi.baihongyu.com/

你可能感兴趣的文章
凡事必定不少于三个以上的解决方法
查看>>
带团队的点滴心经
查看>>
五种力量让你如虎添翼
查看>>
你害怕创新吗
查看>>
创新服务的七要素
查看>>
虚伪的奉承也有效
查看>>
蒂姆·库克的五项核心领导力
查看>>
你为何没有成为领导者
查看>>
一切悲剧都源于不当激励
查看>>
别把用户的高期望混同于好体验
查看>>
动机和机会:推动商业发展的引擎
查看>>
4个信号表明你是一个失败的领导
查看>>
成功谈判 你需要几个锦囊?
查看>>
一个人的宽度决定了他的高度
查看>>
善于拜访是另一种经营智慧
查看>>
打造新老员工双赢机制变对立为统一
查看>>
企业如何避免用错人
查看>>
打掉苹果“无与伦比”的傲慢(人民时评)
查看>>
Creating an Android Project
查看>>
Running Your App (android)
查看>>