如何使用线性感知器在给定前几天的温度的情况下预测第 4 天的温度?
How to predict temperature for the 4th day, given temperatures for previous days, using a linear perceptron?
我有四组数据(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 documentation.)
从标准化开始:您需要调整数据,使均值为零,标准差等于 1。例如:
data = rand(1,100);
data = (data - mean(data))/sqrt(var(data));
您可以按如下方式解释您的输入和输出:
您有一个基础函数,可将您的时间值映射到温度值 (f:time->temperature)。时间是自变量,温度是因变量(参见示例 Wikipedia)。并且您想根据您的输入数据找到 f 的近似值。
我有四组数据(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 documentation.)
从标准化开始:您需要调整数据,使均值为零,标准差等于 1。例如:
data = rand(1,100);
data = (data - mean(data))/sqrt(var(data));
您可以按如下方式解释您的输入和输出: 您有一个基础函数,可将您的时间值映射到温度值 (f:time->temperature)。时间是自变量,温度是因变量(参见示例 Wikipedia)。并且您想根据您的输入数据找到 f 的近似值。