我几天后要参加一个测试,关于一些科目我有一些问题。
我们先从核函数开始,基本上我理解一个核函数需要是正半定且对称的才能被认为是有效的。这足够了吗?例如以下核函数,kernel(x,y) = 2 * k1(x,y),其中k1是一个有效的核函数。这有效吗?我的问题是,如果在测试中给定一个核函数,我如何区分一个有效的核函数和一个无效的核函数?
回答:
要应用Mercer定理,需要满足三个条件:
- K是连续的
- K是对称的
- K是正半定的
如果你具备这三个属性,你就拥有一个有效的核函数。
例如以下核函数,kernel(x,y) = 2 * k1(x,y),其中k1是一个有效的核函数。这有效吗?
是的,很容易证明给定合适的核函数K1, K2:
- aK1,对于任何a>0
- K1 + K2
都是有效的核函数,因此对于任何a, b > 0,aK1 + bK2也是一个有效的核函数。
我的问题是,如果在测试中给定一个核函数,我如何区分一个有效的核函数和一个无效的核函数?
没有神奇的方法。对于通用函数来说,这个问题真的很难。因此,在测试中我期望要么是容易被证伪的非核函数(不具备典型点积的属性),要么是通过Mercer定理或通过构造证明有效的有效核函数。
特别是,证明某物是核函数的另一种方法是明确找到phi,因为根据定义,对于每个核函数K,存在phi使得
K(x,y) = <phi(x), phi(y)>
所以如果你能找到具有此属性的phi – 你就证明了K是一个核函数。
例如 – 让K是一个图核函数,定义为K(G1, G2) = G1和G2共享的顶点数量
。很容易证明,如果我们取phi(G) = G中顶点的独热编码
,那么
K(G1,G2) = <phi(G1), phi(G2)>