このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
フィードフォワード ニューラル ネットワークの作成と学習
この例では、気温を予測するフィードフォワード ニューラル ネットワークの学習方法を説明します。
メモ
この例を実行するには、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
参考
関数
train
(Deep Learning Toolbox) |feedforwardnet
(Deep Learning Toolbox) |thingSpeakRead