更新:2024/10/10

argmax、argminの定義・具体例・例題について

はるか
はるか
急にargmaxっていうのが数式に現れた・・・なにこれ
ふゅか
ふゅか
これはmaxとは違う概念ね!argminもあるから見ていこう!

1. argmaxとargminについて

argmaxは関数の最大値を与える引数(変数)の集合を指します。 \[ \underset{x \in X}{\text{argmax}} f(x) =\{ x\in X |  \forall y \in X : f(y) \leq f(x)\}\]

argminは関数の最小値を与える引数(変数)の集合を指します。 \[ \underset{x \in X}{\text{argmin}} f(x) =\{ x\in X |  \forall y \in X : f(y) \geq f(x)\}\]

  • argmax・・・argument of the maximum(最大点集合の略。最大化する引数について。
  • argmin・・・argument of the minimum(最小点集合)の略。最小化する引数について。
はるか
はるか
argmaxって、最大値を与える引数の集合を指す。
ふゅか
ふゅか
そう! 例えば、関数のグラフを見たときに、一番高い山の頂点を見つける感じね。
はるか
はるか
同じことがargminにも言える。

1.1. 数式の意味

argmaxについて考えます。

\[ \underset{x \in X}{\text{argmax}} f(x) =\{ x\in X |  \forall y \in X : f(y) \leq f(x)\}\]

ふゅか
ふゅか
任意の(すべての)$y$と$x$に対しては$f(y)$より$f(x)$のほうが大きいってことね!
はるか
はるか
argminも同様に考えればいい。

1.2. argmaxとargminの役割

argmaxargmin は、最適化問題で重要な役割を果たし、関数の極大値や極小値を与える変数の値を見つける際に使用されます。例えば、機械学習や経済学において、最適なパラメータや戦略を見つけるためにこれらの概念が利用されます。

1.3. argmaxとargminの具体例

ふゅか
ふゅか
実数の範囲でargmaxとargminについて考えてみよう!

argmaxの例 \[ f(x) = -(x-2)^2 + 3 \] この関数は放物線であり、頂点で最大値を持ちます。 \(x = 2\) のとき、二次関数は最大値をとります。 \[ \underset{x \in \mathbb{R}}{\text{argmax}} f(x) = \{2\} \]

argminの例\[ g(x) = (x-1)^2 \] この関数は放物線であり、頂点で最小値を持ちます。\(x = 1\) のとき、二次関数は最小値をとります。 \[ \underset{x \in \mathbb{R}}{\text{argmin}} g(x) = \{1\} \]

2. 例題

2.1. 例題1 (argmaxの例題)

関数 \( f(x) = -2x^2 + 4x + 1 \) が定義されている。$\underset{x \in [0, 3]}{\text{argmax}} f(x)$ を求めよ。また、最大値を示せ。

まず、関数 \( f(x) = -2x^2 + 4x + 1 \) のグラフは下に凸な放物線であり、最大値を取る点は頂点にあります。平方完成をすると次のようになります。

$$f(x) = -2x^2 + 4x + 1 $$

$$=-2(x-1)^2+3$$

したがって、区間 \( [0, 3] \) において関数 \( f(x) \) は \( x = 1 \) で最大値を取ります。最大値は \( f(1) = 3 \) です。

\[ \underset{x \in [0, 3]}{\text{argmax}} f(x) = \{1\}, \quad f(1) = 3 \]

2.2. 例題2 (argmin の例題)

区間 \( x \in [0, 2] \) で関数 \( g(x) = x^3 - 3x^2 + 8 \) が定義されている。$\underset{x \in [0, 2]}{\text{argmin}} g(x) $を求めよ。また、最小値を示せ。
ふゅか
ふゅか
3次関数だから微分して増減表を書いてみよう!

関数 \( g(x) = x^3 - 3x^2 + 8 \) の最小値を求めるために、まず関数の導関数を求めます。

\[ g'(x) = 3x^2 - 6x \]

次に、この導関数を0に等しくして、極値を与える \( x \) の値を求めます。

\[ 3x^2 - 6x = 0 \]

\[ 3x(x - 2) = 0 \]

したがって、\( x = 0 \) または \( x = 2 \) となります。

増減表を書くと次のようになります。

次に、関数 \( g(x) \) の値を区間の端点と極値で評価します。

\[ g(0) = 0^3 - 3(0)^2 + 8 = 8 \]

\[ g(2) = 2^3 - 3(2)^2 + 8 = 8 - 12 + 8 = 4 \]

\( x \in [0, 2] \) の範囲内で、\( g(x) \) が最小となるのは \( x = 2 \) のときです。

したがって、$\underset{x \in [0, 2]}{\text{argmin}} g(x) = \{2\}$ であり、最小値は \( g(2) = 4 \) です。

2.3. 例題3 (argmax、argminの例題)

次の関数 \( h(x) \) が与えられているとします。

\[ h(x) = \begin{cases} 4 & (x = 1, 3, 5) \\ 2 & (x = 2, 4) \\ 0 & (x = 6) \end{cases} \]

このとき、\( x \in \{1, 2, 3, 4, 5, 6\} \) の中で、関数 \( h(x) \) が最大値を取る \( x \) の集合と最小値を取る \( x \) の集合を求めよ。

はるか
はるか
xは離散的な値だから、一個一個代入して確かめられる。

関数 \( h(x) \) の定義によると、最大値は \( 4 \)、最小値は$0$ です。この値を取る \( x \) の集合を求めるために、各 \( x \) について \( h(x) \) の値を確認します。

\[ h(1) = 4, \quad h(2) = 2, \quad h(3) = 4, \quad h(4) = 2, \quad h(5) = 4, \quad h(6) = 0 \]

最大値 \( 4 \) を取る \( x \) は \( x = 1, 3, 5 \) です。一方、最小値$0$をとる\( x \) は \( x =6 \)です。したがって、argmaxとargmin は次のようになります。

\[ \underset{x \in \{1, 2, 3, 4, 5, 6\}}{\text{argmax}} h(x) = \{1, 3, 5\} \]

\[ \underset{x \in \{1, 2, 3, 4, 5, 6\}}{\text{argmin}} h(x) = \{6\} \]

PR