予測アルゴリズム|ガウス過程回帰 GPR アルゴリズムの原理とその最適化実装

ここに画像の説明を挿入します
ここに画像の説明を挿入します

現在、一般的に使用されている機械学習手法には、主にサポート ベクター マシン (SVM) やバックプロパゲーション ニューラル ネットワーク (BPNN) などの非確率的手法と、ガウス過程回帰 (GPR) などの確率的手法が含まれます。

ノンパラメトリック確率カーネル モデル [1] として、GPR は予測に使用できるだけでなく、予測の各点に信頼区間を提供して、予測の不確実性を定量化することもできます。また、GPR には厳密な統計学習が備わっています。理論的基礎があり、高次元、小さなサンプル、非線形性などの複雑な問題に対処する優れた適応性を備えています。さらに、GPR は強力な汎化能力を備えており、ニューラル ネットワークやサポート ベクター マシンと比較して、実装が容易、ハイパーパラメータの適応的取得、柔軟なノンパラメトリック推論、出力の確率的な意味などの利点を持っています。

この記事では、GPR の原理とその最適化された実装 (ファンがずっと前から見たいと思っていたもの) を紹介します。

00カタログ

1 GPR モデルの原理

2 最適化アルゴリズムの概要とその改良点

3 最適化アルゴリズムと組み合わせた GPR 予測モデル

4 実験結果

5 ソースコードの取得

01 GPRモデルの原理

GPR は、ベイズ統計に根ざした人気のあるノンパラメトリック機械学習手法です。その理由は、小規模なデータセットに対して優れた予測精度を実現し、過剰適合または過小適合の問題 [3] がなく、データセットの不確実性に関する情報を提供できるためです。モデル出力[4]。

GPR には 3 つの主なステップがあります。

(1) 適切なカーネル関数を選択し、主観的な事前知識に基づいて初期ハイパーパラメータを定義します。

(2) 確率分布を使用してアプリオリ モデルを生成し、トレーニングします。つまり、トレーニング サンプルを通じて最適なハイパーパラメータを見つけます。

(3) テストサンプルを予測し、推定結果の平均と分散を求めます。

その中で、最適なハイパーパラメータをどのように取得するかは研究する価値のある問題であり、従来の勾配ベースのアルゴリズムや最新のインテリジェントな最適化アルゴリズムなどの一般的な手法が使用でき、通常は負の対数周辺尤度 (NLML) 値が目標として設定されます。関数。

以下は、GPR [5] の理論的内容の詳細な説明です。

1.1 予測

ガウス過程は、任意の点が結合ガウス分布に従う一連の確率変数として定義されます。これらの変数は、平均値 u(x) と共分散関数 (つまり、カーネル関数) k(x, x') によって決定されます。共分散関数は、任意の値に対応するランダム出力変数の中心モーメントとして表されます。空間内の 2 つのランダムな入力変数。GPR モデルの予測パフォーマンスに影響を与える重要な要素である、トレーニング セットとテスト セットの間の類似性または相関の程度を測定するために使用できます。それらは次のように定義されます。

ここに画像の説明を挿入します

ガウス過程 (GP) は次のように表現できます。

ここに画像の説明を挿入します

ガウス プロセスは柔軟であり、そのプロパティは主にカーネル関数によって決定されるため、一般にモデリングに GPR を使用する場合、その平均関数 μ (x) = 0 を仮定し、事前にカーネル関数の形式を選択できます。

実際のデータには通常、ある程度のノイズが含まれているため、回帰モデルの場合、観測対象データ y にノイズ ε を加算することで GPR モデルが得られます。
ここに画像の説明を挿入します

その中で: x は入力ベクトル、f は関数値、y はノイズによって汚染された観測値であり、さらにノイズを仮定します。
ここに画像の説明を挿入します

観測値 y の事前分布は次のように取得できます。

ここに画像の説明を挿入します

観測値 y と予測値 f* の同時事前分布は次のようになります。
ここに画像の説明を挿入します

その中には、K(X,X) は n 次の対称正定共分散行列、K(X, x*) = K(x*, 行列) があります。

これから、予測値 f* の事後分布は次のように計算できます。

ここに画像の説明を挿入します

で、

ここに画像の説明を挿入します

f-f の推定値、cov(f*) はテスト サンプルの共分散行列です。

1.2 トレーニング

GPR のトレーニングは、実際には、適切な共分散関数を選択し、その最適なハイパーパラメーターを決定するプロセスです。さまざまな共分散関数によって、この事前のガウス プロセスの下で目的関数の可能な特性が決定されます。たとえば、周期共分散関数は目的関数が周期的であることを示し、二乗指数共分散関数は目的関数が無限の導関数を持つ、つまりどこでも滑らかであることを示します。実際のアプリケーションでは、最も広く使用されているのは二乗指数共分散関数で、その具体的な形式は次のとおりです。

ここに画像の説明を挿入します

この式では、σ2f は信号の分散、S=dig(l^2)、l は入力ベクトルの各次元の帯域幅であり、分散スケールとも呼ばれます。それぞれの異なる共分散関数には、σ2f や l などのいくつかのハイパーパラメータがあります。ハイパーパラメータの値は、共分散関数の特定の形状を決定し、ガウス プロセスからサンプリングされた関数の特性も決定します。パラメーター セット θ={S,σ2f,σ2n} はハイパーパラメーターであり、通常、偏導関数後の負の対数周辺尤度 (NLML) を最小化する共役勾配降下法などの最適化手法を使用して最小化されます。NLML は次のように表現されます。
ここに画像の説明を挿入します

最適なハイパーパラメータを取得したら、予測部分の最後の図にある式を使用して、テスト ポイントの予測値とその分散を取得します。

理論部分は著者が独自の理解に基づいて簡単に説明したものであるため、誤りや不明瞭な点があるかもしれませんが、より深く学ぶために以下の文献も併せて読むことをお勧めします。

遺伝的アルゴリズムによって最適化されたガウス過程回帰に基づく操船運動のノンパラメトリック モデリング
MathWorks による GPR の導出: https://ww2.mathworks.cn/help/stats/gaussian-process-regression-models.html
資料 5

GPR を最適化できる領域の 1 つは、その最適化方法にあります。独自の共役勾配最適化方法は、初期値に大きく依存します。ただし、初期値の現在の設定には理論的根拠がありません。初期値が適切でない場合、適切に設定しないと、探索プロセス中に局所最適に陥り、収束に失敗する可能性があるため、この部分は最適化アルゴリズムを導入することで改善できます。

02 最適化アルゴリズムの概要とその改良点

前回の記事では、著者は多くの最適化アルゴリズムとその改良アルゴリズムを紹介しましたが、今回は PSO、GWO、WOA、SSA を例として説明します。

03 最適化アルゴリズムと組み合わせた GPR 予測モデル

最適化アルゴリズムの主な機能は、最適なハイパーパラメータを見つけることです。GWO の最適化プロセスを例として、GWO-GPR のフローチャートは次のとおりです。
ここに画像の説明を挿入します

04 実験結果

二乗平均平方根誤差 (Root Mean Square Error、RMSE)、平均絶対パーセント誤差 (Mean Absolute Percentage Error、MAPE)、平均絶対値誤差 (Mean Absolute Error、MAE)、および決定係数 (決定係数、R^ 2) を使用します。 ) 評価基準として。

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します

05 ソースコード取得

コード コメントは詳細です。通常、データ セットを置き換えるだけで済みます。データの行はサンプルであり、列は変数であることに注意してください。ソース コードには 2 つのバージョンが提供されています。

1. 無料版

これは主に GPR 予測モデルです。データは入力命令と出力の大部分を占めます。これは Matlab で書かれています。単純な予測を行う必要がある学生や、GPR アルゴリズムの MATLAB 実装を学びたい学生には十分です。

入手方法 - 公式アカウント(KAUのクラウド実験プラットフォーム)バックエンド返信**:GPR**

しかし、MATLAB を介して GPR モデルを呼び出したときに、Kaka は一部のデータ セットで予測値に NaN の問題があることがわかりました。現時点では、この問題を解決できません。この問題に詳しい友人も教えてくれます。改善が成功すれば、 、カカはミルクティーをご馳走します。

2. 有料版

BP、GPR、PSO-GPR、GWO-GPR、WOA-GPR、SSA-GPR 予測モデル プログラム (MATLAB) が含まれています。プログラムには詳細な注釈が付いており、Kaka が以前紹介したように、最適化アルゴリズムをこのプログラムに置き換えることが容易です。インテリジェントな最適化アルゴリズムとその改良点は置き換えることができます。

前述の NaN 値の問題のため、このバージョンを購入する前に、無料版を試してデータ セットが利用可能かどうかを確認し、効果を観察してから決定することをお勧めします。

入手方法 - 公式アカウント(KAUのクラウド実験プラットフォーム)バックエンド返信:IGPR または記事末尾の「原文を読む」をクリック

ここに画像の説明を挿入します

ここに画像の説明を挿入します

[1] ラスムッセン、CE、2004。機械学習におけるガウス過程。

[2] A. Kamith、RA Vargas-Hern´andez、RV Krems、T. Carrington、S. Manzhos、位置エネルギー面を表すためのニューラル ネットワークとガウス プロセス回帰: 適合品質と振動スペクトル精度の比較研究、J.化学物理学。148 (2018)。

[3] CFGD Santos、JP Papa、過学習の回避: 畳み込みニューラル ネットワークの正則化手法に関する調査、ACM Comput。生き残る。(CSUR) 54 (2022)1–25。

[4] Wenqi, F.、Shitia, Z.、Hui, H.、Shaobo, D.、Zhejun, H.、Wenfei, L.、Zheng, W.、Tianfu, S.、Huiyun, L.、2018 年。自動運転のための小さなデータを使用して意思決定を行う方法を学びます:ディープガウスプロセスとフィードバック制御。J.Adv. トランスペアレント、8495264。

[5] He Zhikun、Liu Guangbin、Zhao Xijing など、ガウス過程回帰法のレビュー [J]. Control and Decision、2013、28(8): 1121-1129、1137。

もう 1 つのメモ: (分野を問わず) 解決すべき最適化問題がある場合は、私に送っていただければ、これらの問題を解決するために最適化アルゴリズムを使用する記事を選択的に更新します。

この記事が役に立ったり、インスピレーションを与えたりした場合は、右下隅にある「いいね/読んでいます (ง •̀_•́)ง」をクリックしてください (クリックする必要はありません)。

おすすめ

転載: blog.csdn.net/sfejojno/article/details/134807094