2018-03-17 (线性回归)

#线性回归

import numpyas np

import  tensorflowas tf

import matplotlib.pyplotas plt#绘图库

plt.rcParams["figure.figsize"] = (14,8)#设置画布的长宽为14,8

#加载数据  实际的数据可以通过pandas读入

n_observations =100 #产生的点的个数为100个

xs = np.linspace(-3, 3, n_observations)#随机产生x值,取值区间为【-3,3】

ys = np.sin(xs) + np.random.uniform(-0.5, 0.5, n_observations)#y值为sin(x)加上正负0.5的随机扰动

plt.scatter(xs, ys)#绘制图

plt.show()#显示图

#准备好placeholder(占位符),容器

X=tf.placeholder(tf.float32,name='X')

Y=tf.placeholder(tf.float32,name='Y')

#初始化权重和偏置

W=tf.Variable(tf.random_normal([1]),name='Weight')

b=tf.Variable(tf.random_normal([1]),name='bias')

#计算预测结果

Y_pred=tf.add(tf.multiply(X,W),b)

#计算损失函数的值

loss=tf.square(Y-Y_pred,name='loss')

#初始化optimizer(优化器)

learning_rate=0.01

optimizer=tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)

#指定迭代的次数,并在session中执行graph

n_samples = xs.shape[0]#样本的数量

with tf.Session()as sess:

sess.run(tf.global_variables_initializer())#初始化所有变量

    writer = tf.summary.FileWriter('./graphs/linear_reg', sess.graph)#将graph(图)写入到本地日志

#训练模型

    for iin range(50):#训练50次

        total_loss =0

        for x,yin zip(xs,ys):

_,l=sess.run([optimizer,loss],feed_dict={X:x,Y:y})

total_loss+=l #所有的损失

        if i%5==0:#每隔5轮输出一下平均的loss

            print('Epoch {0}: {1}'.format(i,total_loss/n_samples))

writer.close()#关闭writer

    W,b=sess.run([W,b])

print(W,b)

print('W:'+str(W[0]))

print("b:"+str(b[0]))

#可视化

plt.plot(xs,ys,'bo',label='Real_data')

plt.plot(xs,xs*W+b,'r',label='Predicted data')

plt.legend()

plt.show()



loss


matplotlib.pyplotas可视化


tensorboard可视化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单线性回归 import tensorflow as tf import numpy # 创造数据 x_dat...
    CAICAI0阅读 3,573评论 0 49
  • 1.给下周课堂讨论的热点24个问题准备好答案 ,参考链接 1. 货从哪里来?为什么这么便宜,质量也还行? 绝大部分...
    cb6028db333e阅读 158评论 0 0
  • 我总是被一种什么东西无辜地 卷进人群 我总是恐惧潮汐般涌动的人群 我为何总是恐惧一群人? 某一天 我在人群中看到了...
    青衣戏子阅读 207评论 0 0
  • 囿于别离的大雁,死后会成为境。 它一生执着于分别的爱人,死后的记忆只有无尽思念。 它会永远徘徊在...
    第十二章阅读 227评论 0 1