21年9月8日——tensorflow
传统的编程思路是设计好函数(function),设置好输入,求得输出。
而机器学习的思维是输入和输出都是数据集,计算机通过学习得出模型(model)。
import keras
import numpy as np
#input_shape:张量的维度
model = keras.Sequential([keras.layers.Dense(units = 1, input_shape = [1])])
#sgd:随机梯度下降, mean_squared_error:最小均方误差
model.compile(optimizer = 'sgd', loss = 'mean_squared_error')
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0], dtype=float)
ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0, 9.0, 11.0], dtype=float)
model.fit(xs, ys, epochs = 10000)
print(model.predict([10.0]))
optimizer = 'sgd' #sgd指的是stochastic gradient descent,随机梯度下降法。
oss = 'mean_squared_error' #最小均方误差求得loss function
model.fit(xs, ys, epochs = 10000) #epochs指的是更新10000轮
从结果可以看出loss已经足够小了,但是接近19却得不到19,原因是数据太少,只有8组数据。
代码:https://colab.research.google.com/drive/14LjW8k7iUFP8MOIpN7AU3fx64eoRBrL_#scrollTo=jqlz7zkePnkQ