技術資料

勾配情報を考慮した粒子群最適化による制約付き多目的最適化問題の解の探索.

目次 

目的 

複雑で高次元な最適化問題を解決する

上下制約付き多目的最適化問題に対して,勾配情報を追加した上下制約を有する勾配MOPSOアルゴリズムを提案する.

使うモジュールのインストール 

使用するモジュール 

モジュールversion用途
numpy数値計算を効率的に行うための拡張モジュール
matplotlibグラフ描写の為のライブラリ
randomランダムな値を作成

モジュールのインストールはコマンドプロンプトでpip install モジュール名

バージョンまで指定する場合はコマンドプロンプトでpip install モジュール名==指定するバージョン でインストールする

Pythonのバージョンは3.10.14(指定しなくてもいいかもしれない)

↓動作環境(また置き換える)

動作環境(また貼りかえる)

プログラムの動かし方 

使用するテキストエディタ 

テキストエディタはatomを使用する.

ダウンロードはこのページ( https://atom-editor.cc/ )から行う.

atomの設定は各自好きな拡張機能入れてもらえれば

実行前準備 

[RBFN] 

動径基底関数ネットワーク(RBFN)とは任意の非線形関数(η)に対して,基底関数(ξ:一般的にガウス関数が用いられる)に重み(w)を乗算し,足し合わせることによって推定するニューラルネットワークのこと.

入力ベクトル(X)がN個の変数から成る場合,j(j=1,2,...,M)番目のガウス関数ξ(X)は中心位置パラメータ(m)とξの広がりを表すパラメータ(Σ)を用いて以下のように表される.

#ref(): File not found: "xi.png" at page "柴原さん卒論_backup"

STEP1 ニューラルネットワークのパラメータ更新 

1.シナプス結合荷重wの更新 競争を考慮したシナプス可塑性方程式(適者生存型学習則) に従って更新する。

#ref(): File not found: "パラメータw.png" at page "柴原さん卒論_backup"

ここでαj(ϕ)は内的自然増加率、γjk(ϕ) は競争係数を示し以下のような式で成り立つ

#ref(): File not found: "内的自然増加率.png" at page "柴原さん卒論_backup"

#ref(): File not found: "競争係数.png" at page "柴原さん卒論_backup"

2.動径基底関数の中心𝑚𝑗の更新 従来のRBFNにおける更新式は以下の通りである

#ref(): File not found: "RBFNのmパラメータ.png" at page "柴原さん卒論_backup"

RC-RBFNでは自由エネルギーを考慮します。更新式は条件付確率密度関数𝑝𝛽′(𝑥𝑖∣𝑚𝑗[𝑖]) を用いて最急降下方向に従って更新されます。

#ref(): File not found: "RCRBFNにおけるパラメータm.png" at page "柴原さん卒論_backup"

3.共分散行列Σ𝑗の更新

#ref(): File not found: "共分散行列.png" at page "柴原さん卒論_backup"

従来のRBFNと同様に最急降下法を適用。

STEP2 収束判定 

#ref(): File not found: "累積二乗誤差関数.png" at page "柴原さん卒論_backup"

累積二乗誤差関数がある閾値以下になった場合、学習を終了。もし、ある閾値 𝜖>0より大きな値で収束 した場合は、次のステップへ。 Lyapunov関数により学習が進むにつれて誤差関数E(w,ϕ) は単調に減少する ことが保証されている。

#ref(): File not found: "誤差の単調減少を保証するLyapunov関数.png" at page "柴原さん卒論_backup"

STEP3 新たなニューロンの複製位置の決定 

新しい動径基底関数をどこに追加するべきかを確率密度関数を用いて決定する。

1.確率密度関数 𝑝𝛽′(𝑥𝑖∣𝑚𝑗[𝑖])を計算 既存の動径基底関数を用いて、教師信号 𝜂(𝑥)を近似できていない領域を特定し、条件付き確率密度関数 を利用し、動径基底関数の新しい中心𝑚𝑗を追加する位置を決定。

#ref(): File not found: "条件付き確率密度関数.png" at page "柴原さん卒論_backup"

2.温度パラメータ𝛽′の調整 β ′を増やすことで、誤差の大きい部分に動径基底関数を配置するための影響を強くするため0 から徐々に増加させる。

温度パラメータの役割: ・低いとき:データ全体を均等に考慮 ・高いとき:誤差が大きい部分を優先的に修正

3.新たな安定点を見つける 温度パラメータ𝛽′の変化に伴い、新たな安定な収束点が現れるかどうかを確認する。安定な収束点𝑚𝑗が増えた場合、新たな動径基底関数を追加する。この点が新しい動径基底関数の複製位置となる。

STEP4 動径基底関数の複製 

RCRBFN(複製・競合動径基底関数ネットワーク)を環境の変化に適応できるようにSTEP3で決定した新たな安定点に基づいて、動径基底関数(ニューロン)を複製し、ネットワークに追加 します。

1.既存の動径基底関数のパラメータを引き継ぐ 新しい動径基底関数をスムーズにネットワークへ組み込むため新たに追加する動径基底関数𝑚𝑝のシナプス結合荷重𝑤𝑝と共分散行列Σ𝑝は、既存の動径基底関数の値を引き継ぐ。

2.ネットワークへ新しい動径基底関数を追加 新しい動径基底関数をネットワークに組み込む。

3.学習を継続(STEP1に戻る) 新しい動径基底関数を追加した後、再び STEP1(学習の更新)に戻り、ネットワーク全体の再学習を行う。このプロセスを繰り返すことで、環境の変化に適応しながら、最適な動径基底関数の配置を行う。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS