以下代码利用tensorflow2.1中的keras API做了一个简单的模型(简单到输入层和输出层都只有一个神经元),利用这个模型学习出y=2x+2的规律。
from tensorflow import keras
model=keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])
model.compile(optimizer='sgd',loss='mean_squared_error')
import numpy as np
xs=np.array([2.0,1.0,-2.0,3.0,4.0,7.5],dtype=np.float32)
ys=np.array([6.0,4.0,-2.0,8.0,10.0,17.0],dtype=np.float32)
model.fit(xs,ys,epoches=500)
print(model.predict([3.5])
#输出[[8.997003]]
机器学习与传统的编程方法有一点不同之处在于,传统的编程方法是将数据和规则写到代码中,代码就是规则,例如想要得到y=2x+2这样的答案,对于传统的编程来说就是return 2*x+2。当然x就是我们收集的数据。
而机器学习则是将数据以及答案送进模型,让模型学习到输出=输入*2+2这样的规则
m0_45478865 发布了21 篇原创文章 · 获赞 0 · 访问量 357 私信 关注