前回の投稿で、Encog AI フレームワークを使用した時系列予測について質問しました。サポート ベクター マシンを使用して複数の出力を予測する可能性について、3 つの質問があります。
1) 明確にするために、前の 10 日間の deviceConsumption と TotalPower を使用して、次の 5 日間の deviceConsumption を予測したいと思います。出来ますか?
2) SVM は TotalPower と deviceConsumption を使用してパターンを構築しますか (人工ニューラル ネットワークのように)?
3) トレーニング セットで ANN または SVM をトレーニングし、トレーニング済みネットワーク (ANN の場合) または SVM トレーニング済み超平面を保存し、すぐにトレーニング セットの末尾に 1 つの値を追加して、この新しい値を送信することは可能ですか?以前にトレーニングされたネットワーク (または SVM) に設定されたトレーニングを実行し、以前にトレーニングされたネットワーク (または SVM) を再度トレーニングしても、得られた結果 (学習したヒューリスティック) を失うことはありませんか?
私の英語でごめんなさい;-)ありがとう
TemporalMLDataSet result = new TemporalMLDataSet(10,5);
TemporalDataDescription desc = new TemporalDataDescription(
TemporalDataDescription.Type.RAW,true,true);
result.addDescription(desc);
TemporalDataDescription desc2 = new TemporalDataDescription(
TemporalDataDescription.Type.RAW,false,true);
result.addDescription(desc2);
for(int year = TRAIN_START;year<TRAIN_END;year++)
{
TemporalPoint point = new TemporalPoint(2);
point.setSequence(year);
point.setData(0, this.deviceConsumption[year]);
point.setData(1, this.TotalPower[year]);
result.getPoints().add(point);
}
result.generate();
SVM svm = new SVM(windowSize,true);
SVMSearchTrain train = new SVMSearchTrain(svm,result);
do {
train.iteration();
System.out.println("Epoch #" + train.getIteration() + " Error:" + train.getError()+ " ");
} while(train.getError()> 0.01);
EncogUtility.evaluate(svm, result);
Encog.getInstance().shutdown();