【问题标题】:How to predict temperature for the 4th day, given temperatures for previous days, using a linear perceptron?如何使用线性感知器预测第 4 天的温度,给定前几天的温度?
【发布时间】:2017-03-15 23:41:23
【问题描述】:

我有四组数据(3 组用于训练,1 组用于测试),包括一天中的小时和温度,格式如下:
时间 | 温度
5、60
6、63
7,70
8,73
9,78
10,81.5
11,85.1
12,87
13,90
我需要训练和测试感知器,然后预测第二天同一时间的温度。
我正在尝试使用 Matlab 来执行此操作,并且我知道我应该对数据进行规范化并使用时间序列预测。但是我不知道如何开始。
我不明白输入和输出是什么,以及使用什么激活函数来使输出从 -infinity 线性变为 +infinity。

【问题讨论】:

    标签: matlab neural-network prediction training-data perceptron


    【解决方案1】:

    我很确定您不必为此任务使用感知器,因为您想要执行回归而不是分类。 (感知器是一个二元分类器,见Matlab documentation.

    从标准化开始:您需要调整数据以使均值为零且标准差等于 1。例如:

    data = rand(1,100);
    data = (data - mean(data))/sqrt(var(data));
    

    您可以如下解释您的输入和输出: 您有一个基础函数,可将您的时间值映射到温度值 (f:time->temperature)。时间是自变量,温度是因变量(参见例如Wikipedia)。并且您想根据输入数据找到 f 的近似值。

    对于时间序列回归,您将找到一个详细的示例here。如果你 需要使用前馈网络你也可以看看this

    【讨论】:

    • 感谢您的回答!我是标准化两列还是仅标准化温度校准?还有我用什么激活函数?
    • 您只对因变量(温度)进行标准化。
    • 对于上面的 Matlab 函数,您不必指定激活函数。然而,常见的激活函数是 sigmoid、tangens 和 ReLU 函数。
    • 抱歉一直问问题。所以我只训练3次,测试一次,然后预测?如何查看训练或测试错误?再次感谢:)
    • Matlab 函数可让您将训练数据作为一个矩阵输入,因此您只需训练一次。
    猜你喜欢
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2022-07-28
    • 2018-09-16
    相关资源
    最近更新 更多