机器学习笔记 // 创建并训练DNN来拟合和预测序列数据

DNN是"Deep Neural Network"的缩写,中文译为深度神经网络。

dataset = windowed_dataset(series, window_size, batch_size, shuffle_buffer_size)

model = tf.keras.models.Sequetial([

tf.keras.layers.Dense(10, input_shape=[window_size],

activation='relu'),

tf.keras.layers.Dense(10, activation='relu'),

tf.keras.layers.Dense(1)])

这是一个非常简单的DNN模型,它包含两个密集层,第一层接收的输入形状是window_size,第二个是包含预测值的输出层。

与之前一样,这个模型在编译时使用一个损失函数和一个优化器。在这个例子中损失函数被指定为mse(均方误差)​,优化器为sgd(随机梯度下降)​。SGD接收参数作为学习率(lr)和动量,这些参数调整优化器的学习方式。每一个数据集都不一样,因此最好能控制它们。在下一节中,你会看到如何求出最优值,但现在只需要像这样设置它们:

mdel.compile(loss="mse", optimizer=tf.keras.optimizaers.SGD(lr=1e-6,momentum=0.9))

接下来调用model.fit训练,将你的数据集传给它,然后指定训练的回合数:

model.fit(dataset,epochs=100,verbose=1)

训练好以后,就可以开始使用它进行预测。

print(series[start_point:start_point+window_size])

print(series[start_point+window_size])

print(model.predict(

series[start_point:start_point+window_size][np.newaxis]))

相关推荐
xier_ran13 小时前
深度学习:生成对抗网络(GAN)详解
人工智能·深度学习·机器学习·gan
卡提西亚13 小时前
C++笔记-34-map/multimap容器
开发语言·c++·笔记
海边夕阳200613 小时前
【每天一个AI小知识】:什么是循环神经网络?
人工智能·经验分享·rnn·深度学习·神经网络·机器学习
Salt_072814 小时前
DAY 19 数组的常见操作和形状
人工智能·python·机器学习
一个平凡而乐于分享的小比特14 小时前
UCOSIII笔记(十三)CPU利用率及栈检测统计与同时等待多个内核对象
笔记·ucosiii
摇滚侠15 小时前
2025最新 SpringCloud 教程,编写微服务 API,笔记08
笔记·spring cloud·微服务
智能交通技术16 小时前
iTSTech:自动驾驶技术综述报告 2025
人工智能·机器学习·自动驾驶
我的老子姓彭17 小时前
N32WB蓝牙芯片开发
笔记
历程里程碑18 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
hd51cc18 小时前
MFC多线程学习笔记三:线程间的通信
笔记·学习