獲得関数とは

獲得関数(Acquisition Function)とは、ベイズ最適化において、次の探索点(評価するパラメータ)を決定するために用いられる関数です。ベイズ最適化は、未知の関数(目的関数)の最適解を効率的に探索するための手法であり、機械学習におけるハイパーパラメータ最適化などで利用されます。

獲得関数の役割

ベイズ最適化では、目的関数の形状を直接知ることができないため、ガウス過程回帰などの手法を用いて目的関数の代理モデル(サロゲートモデル)を構築します。獲得関数は、このサロゲートモデルを用いて、次の探索点を決定するための指標となります。

獲得関数は、以下の2つの要素を考慮して、次の探索点を決定します。

  • 活用(exploitation):
    • サロゲートモデルにおいて、目的関数の値が高い(または低い)と予測される領域を探索します。
  • 探索(exploration):
    • サロゲートモデルにおいて、不確実性が高い領域(まだ十分に探索されていない領域)を探索します。

獲得関数は、この活用と探索のバランスを調整することで、効率的に最適解を探索します。

代表的な獲得関数

代表的な獲得関数として、以下のものが挙げられます。

  • 期待改善量(Expected Improvement、EI):
    • 現在の最適値よりも目的関数の値が改善すると期待される量を最大化します。
  • 改善確率(Probability of Improvement、PI):
    • 現在の最適値よりも目的関数の値が改善する確率を最大化します。
  • Upper Confidence Bound(UCB):
    • サロゲートモデルの予測値と不確実性を考慮し、上限値(予測値+不確実性)を最大化します。

獲得関数の選択

獲得関数の選択は、最適化の目的や問題の特性によって異なります。一般的に、EIは活用と探索のバランスが良く、多くの問題で有効であるとされています。UCBは、探索を重視する場合に適しています。

獲得関数は、ベイズ最適化において、次の探索点を決定するための重要な役割を担います。適切な獲得関数を選択することで、効率的に最適解を探索できます。

関連用語

ベイズ最適化 | 今更聞けないIT用語集
ハイパーパラメータ | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。