【tensorflow】通过机器学习求解二元一次方程的参数

来源:互联网 发布:如何查看手机端口命令 编辑:程序博客网 时间:2024/05/23 07:25
最近都比较忙,学习的时间也被压缩得很惨,总是有烦心事啊,=。=啥时候又来这吐槽吐槽。
这里是一个最最简单的tensorflow的运用的例子,其中y=1.1x+0.5,此处要预测的就是1.1以及0.5的值,y还有x为变量。基本流程上来说就是:1、定义训练数据;2、定义训练规则;3、定义误差计算方法;4、定义训练算法;5、开始训练。具体的说明见注释。
import tensorflow as tfimport numpy as np#初始化x_data的值与y_data的值,这两个值为训练数据,是进行机器学习的基础数据x_data = np.random.rand(1000).astype(np.float32)y_data = x_data*1.1 + 0.5#初始化想要预测的值,其中weight用来预测1.1,biases用来预测0.5weight = tf.Variable(tf.zeros([1]))biases = tf.Variable(tf.zeros([1]))#通过预测的值来求出预测的y值y = weight * x_data + biases#通过预测的y值与真实的y_data值进行对比得出误差loss = tf.reduce_mean(np.square(y - y_data))#定义训练时采用的算法opmizer = tf.train.GradientDescentOptimizer(0.1)train = opmizer.minimize(loss)#初始化相关变量init = tf.initialize_all_variables()sess = tf.Session()sess.run(init)#训练1000次,每训练20次,输出一次训练的结果for i in range(1000):    sess.run(train)    if i % 20 == 0:        print(i, sess.run(weight), sess.run(biases))
以下为输出后的具体结果
0 [ 0.12241732] [ 0.20977269]20 [ 0.60314673] [ 0.76242435]40 [ 0.71632892] [ 0.70446223]60 [ 0.80314684] [ 0.6582014]80 [ 0.87031776] [ 0.62240416]100 [ 0.92228931] [ 0.59470707]120 [ 0.96250111] [ 0.57327706]140 [ 0.9936139] [ 0.55669618]160 [ 1.01768672] [ 0.54386711]180 [ 1.03631234] [ 0.53394103]200 [ 1.05072331] [ 0.52626091]220 [ 1.06187344] [ 0.52031869]240 [ 1.07050061] [ 0.51572114]260 [ 1.07717574] [ 0.5121637]280 [ 1.08234024] [ 0.50941139]300 [ 1.08633649] [ 0.50728178]320 [ 1.08942842] [ 0.50563395]340 [ 1.09182048] [ 0.50435913]360 [ 1.09367096] [ 0.50337291]380 [ 1.09510314] [ 0.50260967]400 [ 1.09621119] [ 0.50201917]420 [ 1.09706855] [ 0.5015623]440 [ 1.09773195] [ 0.50120872]460 [ 1.09824514] [ 0.5009352]480 [ 1.09864235] [ 0.5007236]500 [ 1.09894943] [ 0.50055993]520 [ 1.09918702] [ 0.50043321]540 [ 1.09937108] [ 0.50033516]560 [ 1.09951341] [ 0.50025934]580 [ 1.09962344] [ 0.50020069]600 [ 1.09970868] [ 0.50015527]620 [ 1.09977448] [ 0.50012022]640 [ 1.09982538] [ 0.5000931]660 [ 1.09986484] [ 0.50007206]680 [ 1.09989536] [ 0.50005579]700 [ 1.09991896] [ 0.50004327]720 [ 1.09993708] [ 0.50003362]740 [ 1.09995103] [ 0.50002605]760 [ 1.09996176] [ 0.50002038]780 [ 1.0999701] [ 0.50001591]800 [ 1.0999769] [ 0.50001234]820 [ 1.09998167] [ 0.50000989]840 [ 1.09998596] [ 0.50000751]860 [ 1.09998846] [ 0.5000062]880 [ 1.09999084] [ 0.50000501]900 [ 1.09999323] [ 0.50000381]920 [ 1.09999514] [ 0.50000262]940 [ 1.09999561] [ 0.50000232]960 [ 1.09999561] [ 0.50000232]980 [ 1.09999561] [ 0.50000232]
原创粉丝点击