Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

フィードフォワード ニューラル ネットワークの作成と学習

この例では、気温を予測するフィードフォワード ニューラル ネットワークの学習方法を説明します。

メモ

この例を実行するには、Deep Learning Toolbox を使用するライセンスの与えられた MathWorks アカウントにログインしていなければなりません。

気象計の ThingSpeak チャネルからのデータの読み取り

ThingSpeak™ のチャネル 12397 には、マサチューセッツ州ネイティックにある MathWorks® の気象計のデータが含まれています。データは 1 分ごとに収集されます。Field 2、3、4、および 6 には、風速 (mph)、相対湿度、気温 (F)、および大気圧 (hg) のデータがそれぞれ含まれています。関数 thingSpeakRead を使用して、チャネル 12397 からデータを読み取ります。

data = thingSpeakRead(12397,'Fields',[2 3 4 6],'DateRange',[datetime('Sep 7, 2016'),datetime('Sep 9, 2016')],...
    'outputFormat','table');

% Assign input variables
inputs = [data.Humidity'; data.TemperatureF'; data.PressureHg'; data.WindSpeedmph']; 
% Calculate dew point from temperature and relative humidity to use as the target
% Convert temperature from Fahrenheit to Celsius
tempC = (5/9)*(data.TemperatureF-32);
% Specify the constants for water vapor (b) and barometric pressure (c)
b = 17.62;
c = 243.5;
% Calculate the intermediate value 'gamma'
gamma = log(data.Humidity/100) + b*tempC ./ (c+tempC);
% Calculate dew point in Celsius
dewPointC = c*gamma ./ (b-gamma);
% Convert to dew point in Fahrenheit
dewPointF = (dewPointC*1.8) + 32;

% Assign target values for the network
targets = dewPointF';

2 層フィードフォワード ネットワークの作成

関数 feedforwardnet を使用して、2 層フィードフォワード ネットワークを作成します。このネットワークには、10 単位のニューロンをもつ隠れ層が 1 つと出力層があります。

net = feedforwardnet(10);

フィードフォワード ネットワークの学習

関数 train を使用して、フィードフォワード ネットワークに学習させます。

[net,tr] = train(net,inputs,targets);

学習済みモデルを使用したデータの予測

ネットワークの学習と検証が完了すると、ネットワーク オブジェクトを使用して、任意の入力に対するネットワークの応答を計算できます。

output = net(inputs(:,5))
output =

   67.4813

参考

関数