机器学习笔记 // 创建并训练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]))

相关推荐
AI_567813 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
wdfk_prog13 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
ouliten13 小时前
cuda编程笔记(36)-- 应用Tensor Core加速矩阵乘法
笔记·cuda
孞㐑¥14 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
mango_mangojuice15 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
小鸡吃米…15 小时前
机器学习的商业化变现
人工智能·机器学习
工程师老罗15 小时前
YOLOv1 核心知识点笔记
笔记·yolo
半壶清水17 小时前
[软考网规考点笔记]-软件开发、项目管理与知识产权核心知识与真题解析
网络·笔记·压力测试
tq108617 小时前
先探索,后设计
笔记
hnult17 小时前
2026 在线培训考试系统选型指南:核心功能拆解与选型逻辑
人工智能·笔记·课程设计