(5) 简单线性模型训练案例

import tensorflow as tf
import numpy as np

#生成100个随机点,这些是样本,即训练数据
xData=np.random.rand(100)
#参数 k=2,b=5
yData=xData*2+5

#构造一个线性模型,用训练数据(xData)进行模型训练,使线性模型的参数k,b接近我们上面给出的
#构造线性模型时,先给 k,b 赋初值 0
k=tf.Variable(0.)
b=tf.Variable(0.)
y=k*xData+b

#定义代价函数/损失函数;reduce_mean()是求平均值,square()是求平方
loss=tf.reduce_mean(tf.square(yData-y))

#用梯度下降法作训练的优化器,括号的参数是学习率
optimizer=tf.train.GradientDescentOptimizer(0.5)

#使损失函数最小,此处用optimizer代表的优化器最小化loss
train=optimizer.minimize(loss)

#初始化变量
init=tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for i in range(200):
        sess.run(train)
        if(i%2==0):
            print(i,sess.run([k,b]))
    print("final:",sess.run([k,b]))
0 [3.0928364, 5.981744]
2 [2.4417188, 4.8713665]
4 [2.3541281, 4.8213973]
6 [2.309128, 4.838627]
8 [2.271673, 4.8578157]
10 [2.2388775, 4.8749557]
12 [2.210049, 4.8900447]
14 [2.1847003, 4.903314]
16 [2.1624107, 4.9149823]
18 [2.1428108, 4.9252424]
20 [2.1255763, 4.934264]
22 [2.1104217, 4.9421973]
24 [2.097096, 4.949173]
26 [2.0853784, 4.9553065]
28 [2.075075, 4.9607]
30 [2.066015, 4.965443]
32 [2.0580482, 4.9696136]
34 [2.0510428, 4.9732804]
36 [2.044883, 4.976505]
38 [2.0394666, 4.97934]
40 [2.0347037, 4.9818335]
42 [2.0305157, 4.984026]
44 [2.026833, 4.985954]
46 [2.0235949, 4.987649]
48 [2.0207472, 4.9891396]
50 [2.0182433, 4.99045]
52 [2.0160418, 4.9916024]
54 [2.014106, 4.9926157]
56 [2.0124037, 4.993507]
58 [2.010907, 4.9942904]
60 [2.0095906, 4.9949794]
62 [2.0084333, 4.9955854]
64 [2.0074158, 4.996118]
66 [2.0065207, 4.9965863]
68 [2.005734, 4.9969983]
70 [2.005042, 4.9973607]
72 [2.0044334, 4.997679]
74 [2.0038984, 4.997959]
76 [2.003428, 4.9982057]
78 [2.0030143, 4.998422]
80 [2.0026505, 4.9986124]
82 [2.0023308, 4.99878]
84 [2.0020494, 4.998927]
86 [2.0018022, 4.999057]
88 [2.0015845, 4.9991703]
90 [2.0013933, 4.9992704]
92 [2.001225, 4.9993587]
94 [2.0010772, 4.9994364]
96 [2.000947, 4.999504]
98 [2.0008328, 4.999564]
100 [2.0007322, 4.9996166]
102 [2.000644, 4.999663]
104 [2.0005662, 4.9997034]
106 [2.0004978, 4.999739]
108 [2.0004377, 4.9997706]
110 [2.000385, 4.9997983]
112 [2.0003386, 4.9998226]
114 [2.0002978, 4.999844]
116 [2.000262, 4.999863]
118 [2.0002303, 4.9998794]
120 [2.0002024, 4.999894]
122 [2.0001779, 4.999907]
124 [2.0001564, 4.999918]
126 [2.0001376, 4.999928]
128 [2.000121, 4.9999366]
130 [2.0001066, 4.999944]
132 [2.0000937, 4.999951]
134 [2.0000823, 4.9999566]
136 [2.0000725, 4.999962]
138 [2.000064, 4.9999666]
140 [2.0000563, 4.9999704]
142 [2.0000496, 4.9999743]
144 [2.0000436, 4.999977]
146 [2.0000384, 4.99998]
148 [2.0000339, 4.9999824]
150 [2.0000298, 4.9999843]
152 [2.0000265, 4.999986]
154 [2.0000231, 4.9999876]
156 [2.0000205, 4.999989]
158 [2.0000181, 4.9999905]
160 [2.000016, 4.999992]
162 [2.0000138, 4.999993]
164 [2.0000122, 4.999994]
166 [2.0000107, 4.9999943]
168 [2.0000093, 4.999995]
170 [2.000008, 4.9999957]
172 [2.0000072, 4.999996]
174 [2.0000062, 4.9999967]
176 [2.0000055, 4.999997]
178 [2.000005, 4.9999976]
180 [2.0000043, 4.9999976]
182 [2.0000036, 4.999998]
184 [2.000003, 4.9999986]
186 [2.0000026, 4.9999986]
188 [2.0000024, 4.999999]
190 [2.000002, 4.999999]
192 [2.0000017, 4.999999]
194 [2.0000017, 4.999999]
196 [2.0000017, 4.999999]
198 [2.0000017, 4.999999]
final: [2.0000017, 4.999999]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值