Arg max

例として、正規化および非正規化基正弦函数 sinc はともに arg max = {0} を満たす。実際、両函数は x = 0 のみにおいて最大値 1 を達成する。他方、非正規基正弦函数(赤)は約 x = ±4.49 において二度、最小値約 −0.217 を取るから、arg min ≈ {−4.49, 4.49} である。しかし正規化基正弦函数(青)は、最小値は同じく約 −0.217 だが、arg min ≈ {−1.43, 1.43} である。

数学において、最大値を与える引数: arguments of the maxima)あるいは最大点集合は、関数がその最大値をとる定義域の元全体の成す集合である[note 1]。省略してarg max (もしくは argmax) と書かれる。最大値が函数の出力のうち最も大きいものを指すのと対照に、最大点は最大値を出力する入力の値を指す。

最大点集合は一般に複数の元を含むが、それは有限集合であることも無限集合であることも起こり得るし、となることもあり得る。

定義

最大点作用素

関数 f に対する最大点作用素 arg max

a r g m a x x P f ( x ) := { x P y P : f ( y ) f ( x ) } {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in P}f(x):=\{x\in P\mid \,\forall y\in P:f(y)\leq f(x)\}}

(ただし P は最大をとる範囲に入るために x が満たすべき条件) で定義される。即ちその値は f(x) がその最大値を達成する点 x 全体の成す集合である。 同じことだが、f の最大値 M が既知であるならば、arg max を最大値に対する等位集合(最大値 M引き戻し

a r g m a x x P f ( x ) = { x P f ( x ) = M } =: f 1 ( M ) {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in P}f(x)=\{x\in P\mid f(x)=M\}=:f^{-1}(M)}

としても定義できる。

最小点作用素

最小値を与える引数、最小点作用素 arg min (argmin) が同様に定義される。

a r g m i n x P f ( x ) := { x P y P : f ( y ) f ( x ) } {\displaystyle \mathop {\rm {arg\,min}} \limits _{x\in P}f(x):=\{x\in P\mid \,\forall y\in P:f(y)\geq f(x)\}}

すなわち arg minx f(x)f(x) が最小値を達成する点 x 全体の成す集合である。もちろん、最小値作用素 min に対を成す。

最大値作用素との比較

最大点作用素は、与えられた関数に対してその最大値を返す最大値作用素 max と自然に対を成すものである(最大値作用素は最大値を達成する点ではなくて最大値自体を返す。すなわち

max x f ( x ) { f ( x ) y : f ( y ) f ( x ) } {\displaystyle \max _{x}f(x)\in \{f(x)\mid \forall y:f(y)\leq f(x)\}}

である。右辺の集合は空集合となり得る(最大値がない場合がある)が、空でなければ必ずただ一つの元(つまり最大値)しか持たない。

注意

最大点集合はとなることも、一つの元からなることも、多数の元を含むことも起こり得る。例えば f(x) = 1 − |x| (−1 ≤ x ≤ 1)とすれば、最大値 1 を達成するのは x = 0 ただ一つであるから

a r g m a x 1 x 1 ( 1 | x | ) = { 0 } {\displaystyle \mathop {\rm {arg\,max}} \limits _{-1\leq x\leq 1}(1-|x|)=\{0\}}

が成り立つ。最大点がただ一つの場合はしばしば単集合でなく値そのものを返すものと扱われる。例えば、

a r g m a x x R ( 1 | x | ) = 0 {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in \mathbb {R} }(1-|x|)=0} ,
a r g m a x x R ( x ( 10 x ) ) = 5 {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in \mathbb {R} }(x(10-x))=5} .

しかし複数の点で最大値を取る場合は集合が返ることを忘れてはならない。例えば、

a r g m a x x [ 0 , 4 π ] cos ( x ) = { 0 , 2 π , 4 π } {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in [0,4\pi ]}\cos(x)=\{0,2\pi ,4\pi \}} ,
a r g m a x x R cos ( x ) = { 0 , 2 π , 2 π , 4 π , } = { 2 n π n Z } {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in \mathbb {R} }\cos(x)=\{0,2\pi ,-2\pi ,4\pi ,\dots \}=\{2n\pi \mid n\in \mathbb {Z} \}} .

一般には関数が最大値を有するとは限らないので、arg max空集合を返し得る。例えば、

a r g m a x x R x 3 = {\displaystyle \mathop {\rm {arg\,max}} \limits _{x\in \mathbb {R} }x^{3}=\emptyset } x3R 上非有界).

但し、最大値・最小値の定理によって(もしくはコンパクト空間の基礎的な定理によって)、コンパクト集合上連続な関数については arg max が空でないことが保証される[1]

関連項目

注釈

  1. ^ 混同を避けるため、臨界点と臨界値(英語版)のように、入力 x のことは「点」、出力 y のことは「値」と呼び分けることは便利である。

参考文献

  1. ^ 有界閉とコンパクト 東京大学基礎数理の授業の講義資料。コンパクト空間の基礎的な定理によってコンパクト集合ならば有界閉集合になることを示している。
  • An Introduction to Mathematical Optimization トリニティ大学の講義資料。
  • ArgMax—Wolfram言語ドキュメント 数理処理システムMathematicaにおける、arg maxの関数仕様。

外部リンク