很多argmax简单的解释很好理解,就是返回函数$f(x)$最大时对应参数$x$ 比如下面numpy

import numpy as np
np.argmax([3,2,1])
#=> 0 #return the first index.

但是在很多论文和书籍里面argmax往往会出现在复杂的公式里面, 而且往往会是理解文章内容的关键, 如deeplearning book 第五章 maximum like hood 用到如下公式:

\[\underset{\theta}{\arg \max} \prod_{i=1}^m P_{model}(x^{(i)};\theta)\]

这里的argmax要返回$\theta$的值, 也就是当所有input $x^{(i)}$和$\theta$带入对应机器学习模型得到的概率最大时所对应的权重, 这里的arg有两个,$x^{(i)}$和$\theta$, 函数是$P_{model}$的乘积.

另外一个例子, coursera deep learning 第五个课程 sequence models, week 3, 语言翻译的课程有如下公式:

\[\underset{y}{\arg \max} \prod_{t=1}^{T_y} P(y^{<t>}|x,y^{<1>},...,y^{<t-1>})\]

这里$x$对应翻译前的句子, $y$对应翻译后的句子, $y^{<t>}$对应其中每一个词, 比如我们要把there is no cow level 翻译成 没有母牛关, 那么$x$就是there is no cow level, $y$就是没有母牛关, $y^{<1>}$就是, $y^{<2>}$就是, $y^{<3>}$就是, 等等.

这里的argmax要返回一个句子,这个句子要使函数$\prod P$最大, 而这个h函数模型就是基于已有句子there is now cow level和已经翻译的部分情况下,找一个字满足最大的概率,比如已翻译部分是没有母那么下一个字是的概率$P(y^{<4>}|x,y^{<1>},y^{<2>},y^{<3>})$最大, 每个字的概率最大, 乘起来也是最大, 所以最终得到$y$为没有母牛关