【问题标题】:what does this arg max notation mean in the scikit-learn docs for Naive Bayes?在 Naive Bayes 的 scikit-learn 文档中,这个 arg max 表示法是什么意思?
【发布时间】:2018-06-19 00:38:50
【问题描述】:

我指的是关于朴素贝叶斯的以下页面:

http://scikit-learn.org/stable/modules/naive_bayes.html

特别是以 y-hat 开头的等式。我想我通常理解在那之前的方程,但我不理解那条线上的“arg max y”符号。什么意思?

【问题讨论】:

  • 没有一个好到可以接受的答案?

标签: math machine-learning scikit-learn probability naivebayes


【解决方案1】:

而函数的max 是最大的输出值,而函数的argmax 是输入的值,即最大的“参数”。

在您示例中的方程式中:

y_haty的值,即最大化右手表达式的类标签。

这里P(y)通常是类y在训练集中的比例,也叫“先验”,P(x_i | y)是如果真类确实是@,观察到特征值x_i的概率987654333@,也叫“可能性”。

为了更好地理解产品P(x_i | y),请考虑一个示例,其中您尝试将硬币翻转序列分类为来自硬币A(在训练示例的50% 中正面朝上)或硬币B它在66.7% 的训练示例中占据领先地位。这里每个人P(x_i | y_j) 是硬币y_j(其中jab)降落x_i(其中x_i 是正面或反面)的概率。

Training set:

THH    A
HTT    A
HTH    A
TTH    A
HHH    B
HTH    B
TTH    B

Test set:

HHT    ?

因此序列HHT 具有0.667*0.667*0.333 = 0.148 给定硬币B 的可能性,但只有0.5*0.5*0.5 = 0.125 给定硬币A 的可能性。然而,我们估计硬币A57% 先验因为A 出现在4/7 训练示例中,所以我们最终会预测这个序列来自硬币A,因为0.57*0.125 > 0.43*0.148。这是因为我们更有可能从硬币A 开始,所以硬币A 有更多机会产生一些不太可能的序列。

如果硬币AB 的先验分别是50%,那么我们自然会为HHT 预测硬币B,因为这个序列显然具有最高的可能性给定硬币B

【讨论】:

    【解决方案2】:

    来自Wikipedia

    在数学中,最大值的参数(缩写为 arg maxargmax)是某个函数的域中的点函数值最大化。与全局最大值(指函数的最大输出)相反,arg max 指的是输入,或参数,在该处,函数输出尽可能大。

    换句话说,argmax f(x) 表示最大化f(x)x(参数)的值;可以理解的是,它经常在优化问题中遇到(这是大多数机器学习算法的基础)。

    通俗地说,numpy.argmax 是 Numpy 数组的类似函数(即不是函数);它给出了数组值最大的位置

    import numpy as np
    x = np.array([3,1,8]) # maximum argument at position 2
    np.argmax(x)
    # 2
    

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 2014-10-24
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      • 2012-06-29
      • 1970-01-01
      相关资源
      最近更新 更多