关于验证内核

时间:2017-07-23 09:33:43

标签: machine-learning

我在几天内接受了测试,并且我对一些科目有一些问题。

让我们从内核开始,基本上我理解内核需要是半正的和对称的才能有效。够了吗?例如,对于某些k1(即有效内核),以下内核,kernel(x,y)= 2 * k1(x,y)。这有效吗?我的问题是,如果我在测试中给出内核,我如何区分有效内核和无效内核?

1 个答案:

答案 0 :(得分:0)

应用Mercer定理有三个要求:

  1. K是连续的
  2. K是对称的
  3. K是正半定的
  4. 如果你有这三个属性,那么你就拥有了一个有效的内核。

      

    例如,以下内核,内核(x,y)= 2 * k1(x,y)表示某些k1是有效内核。这有效吗?

    是的,很容易证明给定适当的内核K1,K2:

    1. aK1,对于任何a> 0
    2. K1 + K2
    3. 是有效的内核,因此您也可以获得任何a,b> 0 aK1 + bK2是一个有效的内核。

        

      我的问题是,如果我在测试中给出内核,我如何区分有效内核和无效内核?

      没有神奇的方法。这个问题对于通用功能来说真的很难。因此,在测试中我会发现很容易伪造的非内核(没有典型点积的属性),或者有效的内核,可以通过Mercer定理证明是有效的,或者通过构造

      特别是,证明某事的另一种方式是内核是通过明确地找到phi,因为根据每个内核K的定义,存在phi这样的

      K(x,y) = <phi(x), phi(y)>
      

      所以如果你能找到具有这个属性的phi - 你证明K是一个内核。

      例如 - 让K为图形内核,定义为K(G1, G2) = amount of vertices shared by G1 and G2。很容易证明,如果我们选择phi(G) = one hot encoding of the vertices in G,那么

      K(G1,G2) = <phi(G1), phi(G2)>