過去の気象データを機械学習させて,その学習結果をもとに日々の気温と湿度を予測する,というニューラルネットワークによる予測プログラムを,O'REILLYの参考書を見ながら下記のように作成しました.
➀ニューラルネットワークのデータ範囲,中間層,出力層の定義
nn=nl.net.newff([[min, max]], [6, 1])
➁学習アルゴリズムとして最急降下法(train_gd)を選択する
nn.trainf=nl.train.train_gd
➂学習データを用いて機械学習する
error_progress=nn.train(data, label, epochs=2000, show=100, goal=0.01)
dataとlabelが学習データ,イタレーションを2000回,誤差表示を100回間隔,収束誤差を0.01という学習条件です.
➃学習結果を用いて予測する
output=nn.sim(data)
➄学習データと予測結果を散布図で表示する
plt.scatter(data, labels) → 学習データ
plt.scatter(data, output) → 予測結果
以上の➀~➄ステップまでのプログラムですが,うまく機械学習できており,特に問題はありません.
ただ,ここで疑問があるのは,一旦Pythonを閉じてしまうと,再度Pythonを立ち上げた場合に,再度➀から計算しなくてはならないのか,ということです.
例えば,➀~➂までの学習結果を記憶させておき,その後は➃と➄のみを実行して予測する,というようなことは可能なのでしょうか.
学習データを更新する場合は➀から実行する必要がありますが,頻繁に更新する必要がない場合,再度➀から計算するのは非効率だと思いました.学習データが膨大な場合などは,切実な問題かと思います.
おそらく,私が知らないだけだと思いますが,みなさんは,どのようにされているのか,ご教授いただけると助かります.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/17 03:48