ニューラルネットワークに基づく予測制御、ニューラルネットワーク予測システムの応用

コンピューターで訓練されたニューラルネットワークをアプリに移植する方法

Google AI Writing Project: ニューラルネットワーク疑似オリジナル

コンピューターで訓練されたニューラルネットワークをアプリに移植する方法

猫について書くには2 つの考え方があります

オンライン方式: モバイル端末が事前の前処理を行い、データをサーバーに送信して深層学習モデルを実行します。現在、多くの APP がこのアイデアに基づいています。利点は、この方式の導入が比較的簡単で、すぐに使用できることです。自作フレームワーク(caffe、theano、mxnet、Torch)でできる パッケージ化してすぐに使える サーバーの性能が高く、比較的大規模なモデルも扱える 欠点はインターネットに接続しなければならないこと

もう 1 つはオフライン方式で、ハードウェアの性能に応じて適切なモデルを導入します。オフラインでも実行できるのがメリットです。

欠点も明らかです: 1) ハードウェアが限られているため、モデルの去勢バージョンを実行する必要がある場合があり、これはモデルの精度に一定の影響を及ぼします; 2) 既製のフレームワークを移植するのは面倒です。 mxnet Android アプリの例 (Leliana/WhatsThis GitHub) があり、Torch 7 は soumith/torch-android GitHub の Android 版でもあるので、それを参照してください。もちろん、強力なプログラミング スキルがあれば、ネットワークの前編コードを自分で作成することもできます。

コンピューターで訓練されたニューラルネットワークをアプリに移植する方法

これは再プログラムする必要があります。コンピュータ上のプログラムが携帯電話のAPPプログラムと互換性がない場合は、どうすることもできません。

または、これらのファイルが一致する場合は、通常、APP プログラムの特定のファイルに書き込む必要があります。まず、コンピュータ プログラムによって書き込まれたファイルを見つけて、それをモバイルのプログラムが保存されている場所にコピーする必要があります。 APP は読みやすくするために書かれています。

NeuroSolutions for Excelの機能は複数のニューラルネットワークを実装できますか?

ニューラル ネットワークは、新しい環境に適応できるシステムであり、過去の経験 (情報) を繰り返し学習するための分析、予測、推論、分類の機能を備えており、人間の脳を模倣して複雑な問題を解決できるシステムです。従来のシステム(統計的手法、パターン認識、分類、線形または非線形手法を使用)と比較して、ニューラル ネットワーク ベースのシステムは、より強力な機能と分析問題スキルを備えており、信号処理、シミュレーション予測、複雑な問題の分析などに使用できます。意思決定として。

現在、ニューラル ネットワークはデータ集約型企業に広く適用されています。この記事では主にニューラル ネットワークの応用分野を紹介し、市場で最も強力なニューラル ネットワーク ソフトウェアである NeuroSolutions を推奨します。

ニューラル ネットワークのアプリケーション領域 プロセス モデリングと制御 (プロセス モデリングと制御) は、物理デバイスのニューラル ネットワーク モデルを作成し、このモデルを使用してデバイスの最適な制御設定を決定します。

マシン診断 (Machine Diagnostics) マシンの故障が検出された場合、システムはマシンを自動的にシャットダウンできます。

ポートフォリオ管理は、高リターンかつ低リスクの方法で投資用の有価証券資産を割り当てます。

ターゲット認識(Target Recognition)は、ビデオや赤外線画像データを通じて敵ターゲットの有無を検出し、軍事分野で広く使用されています。

Medical Diagnostics は、報告された症状や MRI、X 線画像データを分析することで医師の診断を支援します。信用格付け(信用格付け)は、企業や個人の財務状況に基づいて自動的に信用格付けを行います。

ターゲット市場 (ターゲット マーケティング) は、統計に基づいて、マーケティング活動に対する反応率が最も高いグループを見つけます。音声認識は音声を ASCII テキストに変換します。

経済予測(金融予測)は、過去の安全保障データに基づいて将来の経済活動の安全性を予測します。

品質管理では、カメラやセンサーを生産プロセスの最終段階に結びつけ、製品の欠陥を自動的にチェックします。

インテリジェントな検索 インターネット検索エンジンは、ユーザーの過去の行動に基づいて、最も関連性の高いコンテンツと広告を提供します。不正検出は、不正なクレジット カード取引を検出し、支払いを自動的に拒否します。

「人工ニューラル ネットワークと OCR ソフトウェア アプリケーションの例の紹介」の記事で説明されている光学式文字認識 (OCR) では、印刷された文書がスキャンされ、操作が容易になったり、保存がより効率的になったりするために、ASCII テキストなどの電子形式に変換されます。

ニューラル ネットワーク ソフトウェアの推奨事項 NeuroSolutions は、最も人気のあるニューラル ネットワーク シミュレーション ソフトウェアで、必要なニューラル ネットワークを迅速に構築し、ネットワークのトレーニングとテストを簡単に行うことができます。

NeuroSolutions は、90 種類以上のビジュアル ニューラル コンポーネントを提供し、ユーザーがさまざまなネットワーク アーキテクチャを任意に接続および合成して、ニューラル ネットワーク シミュレーションやプロフェッショナル アプリケーションを実現することができ、同レベルの他の製品では実現できないプロフェッショナル ソフトウェアです。

ニューラル ネットワークのアプリケーション フィールドとニューラル ネットワーク ソフトウェアの推奨事項 NeuroSolutions の機能: 1. オブジェクト指向の使いやすいグラフィカル マンマシン インターフェイス。ドラッグ アンド ドロップ方式を使用して必要なネットワーク モデルを構築できます。 2. 支援する NeuralWizard を提供します。必要なネットワークを見つけ、必要なモデルを自動的に構築します。 3. クエリによってネットワーク モデルの構築を支援する NeuralExpert エキスパート分析システムを提供します。 4. Excel を介してデータを入力し、ネットワークを構築し、モデルをテストする 5. 動的ニューラル ネットワーク モデル分析を行います。

BPニューラルネットワーク人口予測プログラム(MATLAB実装)

x=[54167 55196 56300 57482 58796 60266 61465 62828 64653 65994 67207 66207 65859 67295 69172 70499 72538 74542 76368 78534 1 11026 112704 114333 115823 117171 118517 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 13 0756 131448 132129 132802 134480 135030 135770 136460 13 7510]';% このスクリプトは NAR ニューラル ネットワーク予測に使用されます% 著者: Macer Cheng lag=3; % 自己回帰順序 iinput=x; % x は元のシーケンス (行ベクトル) n=length(iinput);% 入力を準備します出力データ inputs=zeros(lag,n-lag);for i=1:n-lag inputs(:,i)=iinput(i :i+lag-1)';endtargets=x(lag+1:end);% ネットワークの作成 hiddenLayerSize = 10; % 隠れ層ニューロンの数 net = fitnet(hiddenLayerSize);% 過学習を回避し、トレーニング、テスト、および検証のデータ比率を分割 net.divideParam.trainRatio = 70/100;net .divideParam.valRatio = 15/100; net.divideParam.testRatio = 15/100;% トレーニング ネットワーク [net,tr] = train(net,inputs,targets);%% チャートに従って適合の良し悪しを判断する yn=net ( inputs);errors=targets-yn;figure, plotercorr(errors) % エラー (20lags) の自己相関を描画します Figure, parcorr(errors) % 偏相関を描画します %[h,pValue,stat,cValue]= lbqtest(errors ) % Ljung-Box Q テスト (20lags) Figure,plotresponse(con2seq(targets),con2seq(yn)) % 予測されたトレンドと元のトレンドを表示%figure、ploterrhist(errors) % エラー ヒストグラム%figure、plotperform(tr) %Error下降線%% 以下の複数の期間の予測 fn=7; %予測ステップ数は fn です。tr] = train(net,inputs,targets);%% チャートに従って適合の良し悪しを判断する yn=net(inputs);errors=targets-yn;figure, ploterrcorr(errors) %プロットの自己相関エラー (20 ラグ) 図、parcorr(エラー) % 偏相関を描画 %[h,pValue,stat,cValue]= lbqtest(エラー) %Ljung-Box Q テスト (20 ラグ) 図,plotresponse(con2seq(targets),con2seq(yn) ))% 予測された傾向と元の傾向を確認します %figure、ploterrhist(errors) % エラー ヒストグラム %figure、plotperform(tr) % エラー ドロップ ライン %% 以下の予測は、将来のいくつかの期間を予測します fn=7; %予測ステップ数は fn です。tr] = train(net,inputs,targets);%% チャートに従って適合の良し悪しを判断する yn=net(inputs);errors=targets-yn;figure, ploterrcorr(errors) %プロットの自己相関エラー (20 ラグ) 図、parcorr(エラー) % 偏相関を描画 %[h,pValue,stat,cValue]= lbqtest(エラー) %Ljung-Box Q テスト (20 ラグ) 図,plotresponse(con2seq(targets),con2seq(yn) ))% 予測された傾向と元の傾向を確認します %figure、ploterrhist(errors) % エラー ヒストグラム %figure、plotperform(tr) % エラー ドロップ ライン %% 以下の予測は、将来のいくつかの期間を予測します fn=7; %予測ステップ数は fn です。Lotterrhist(errors) %error histogram%figure, Lotperform(tr) %error 下降線%% 以下のいくつかの期間の予測 fn=7; %予測ステップ数は fn です。Lotterrhist(errors) %error histogram%figure, Lotperform(tr) %error 下降線%% 以下のいくつかの期間の予測 fn=7; %予測ステップ数は fn です。

f_in=iinput(n-lag+1:end)';f_out=zeros(1,fn); %予測出力% マルチステップ予測の場合、次のループを使用して i=1:fn のネットワーク出力を再入力します。 f_out(i )=net(f_in); f_in=[f_in(2:end);f_out(i)];end% 予測値を描画する Figure,plot(1949:2013,iinput,'b',2013:2020, [iinput( end), f_out],'r') 図 1 自己相関 図 2 エラー 図 3 予測 上記のプログラムは、必要に応じて変更して他の場所で使用できる限り、普遍的です。基本的な考え方は、は、前のラグ年を使用します。人口は翌年の人口を予測するために使用されます。ラグについては、自分で変更できます。

また、結果の良し悪しを判断する際には、誤差グラフだけを見て判断するのではなく、自己相関グラフの0次自己相関を除いた他の自己相関係数が誤差グラフを超えていないことが必要です。信頼区間の上限と下限。

「%」の後には他の統計やグラフが書かれていますが、必要に応じて削除してご利用ください。

最終的な予測値は f_out で、私の予測値は 138701.065269972 139467.632609654 140207.209707364 141210.109373609 141981.285378849 142461.332139592 143056 です。 .0 73139776。

[ニューラル ネットワーク時系列] NAR ネットワーク予測に関する質問をしてください。ありがとうございます

NAR ネットワークには y(t) のみがあり、NARX ネットワークには x(t) と y(t) があります。NAR ネットワークの場合、遅延ベクトルに対する次の値のみを出力できます。したがって、タイム ステップを進めるには、ループを使用してコレクションを継続的に更新する必要があります。

T=tonndata(force,false,false); %入力行列と出力行列はセル型行列である必要があり、num2cell では変換できません 2 次元セル行列を使用した場合、2 つの入力とみなされます力データセットに 50 (1 行) しかないとします。

Force_raw=T(1:30); %遅延ベクトル 1:30 に対応する 1*30 Xi を作成します。は既知の行列です。

for j=1:50 %y1 の最初の 20 個が、force 内の 31 番目から 50 番目のデータと比較され、さらに次の 30 個のデータが予測されます。

y1(j)=net(T(10),force_raw); %ここではまだ神からのアドバイスが必要です、T(10) には現在の行列が含まれており、数値は任意に選択でき、結果は同じです。

1 次元行列を出力するためだけに、force_raw=[force_raw(2:end),y1(j)]; % 更新して新しい既知の行列 (次の行の最初の行 2,3~,30,31) を取得します。ステップは最初の 43 を取得することです。

予測値を取得するために常に更新されます。

Matlab ニューラル ネットワークのマルチステップ予測、ローリング予測の仕組み

簡単な BP ニューラル ネットワーク予測を行ってください。ありがとうございます。100

これは外挿能力が限られているためです。P=(データ 1~データ n) T=(データ n~データ n+m) の外挿モデルを使用して、範囲内でデータの入出力を行うことができます。 P=[一月間降水量、2月降水量 `5月降水量、2月降水量、3月降水量など。

`6月の降水量...] T=[6月の降水量, 7月の降水量...] 訓練後は、降水量が一定の範囲内にあるため、連続的に伸びる性質を持ちません。[6月の降水量, 7月の降水量。

「11月の降水量」は「12月の降水量」から導き出せるので、P=[1,2,3,4,5]、T=[1月の降水量、2月の降水量]のように拡張すればサンプル範囲付近で制御できますprecipitation` 5 月の降水量]; そうすると 6 は推測できないため、6 月の降水量がわからない場合は質問を続けてください。

コンピューターで訓練されたニューラルネットワークをアプリに移植する方法

トレーニングしているか、トレーニング済みのネットワークを使用していますか。トレーニングの場合は、トレーニング データのサイズによって異なります。以前は 100,000 個のデータ、22 個の入力、1 個の出力がありました。matlab を使ったトレーニングも一般的な家庭用コンピューターで行えます。

トレーニング済みのニューラル ネットワークを使用するだけの場合、構成の要件はまったくありません。各入力の予測は単純な算術演算です。「ニューラルネットワークの家」

 

おすすめ

転載: blog.csdn.net/aifamao6/article/details/127459748