内核加法和一个令人惊讶的事实?
Posted
技术标签:
【中文标题】内核加法和一个令人惊讶的事实?【英文标题】:Kernel Addition and one Surprisingly facts? 【发布时间】:2015-06-05 21:22:48 【问题描述】:如果 k1 和 k2 是空间 R^n*R^n 中的内核,我们知道 k(x,z)=ak1(x,z) + bk2(x,z)
(内核加法)仍然是内核(有效内核)如果 a,b >= 0
(a,b 是实数,标量) .从核函数的结果可以解释为特征空间的内积这一事实可以看出这是有效的。将内积加在一起相当于将两个特征空间加在一起。但是今天当我读到我的笔记时,我很惊讶。我的 TA 说 k(x,z)=ak1(x,z) + bk2(x,z) (kernel addition)
仍然是内核,如果 a<0,b>0
或 a>0,b<0
!!!
是否仍然存在具有
a<0,b>0
和a>0,b<0
的有效内核?任何专家都可以 帮帮我?
【问题讨论】:
这个问题在不同的站点可能更有意义,试试stats.stackexchange.com 我认为它更实用,更适合 SO。 @KeillRandor 感谢您的提示。我的统计数据很好。 这不是暗示a * M1 + b * M2
,M1
,M2
正定矩阵和a<0,b>0
也是一个正定矩阵吗?它不是。我认为你的助教是错误的,或者缺少某些资格。
不难构造一个平凡的例子来证明它是不正确的,a, b
都需要非负数。
等等,你的意思是k
对any k1,k2,a>0,b<0
有效吗?我不认为那是真的。或者你的意思是有一些 k1,k2,a>0,b<0
k
是有效的?这很简单,只需使用k1=k2,a=1,b=-0.5
,您就会得到一个有效的内核......
【参考方案1】:
对于所有相等的输入,kernel 应该为非负数。让我们将任意内核(例如 RBF)表示为 K
。
让我们考虑K<sub>1</sub>
= K<sub>2</sub>
= K
。
定义K<sub>3</sub> = a K<sub>1</sub> + b K<sub>2</sub>
。让a = -2
,b = 1
。然后K<sub>3</sub>(x, x) = -K(x, x)
,不满足内核定义。
现在,上面的示例表明,对于任何K<sub>1</sub>
、K<sub>2</sub>
、a
和b
,您的 TA 的陈述一般都不正确。显然,这些组合的某些组合会产生适当的内核。
我想,它的必要条件类似于λ<sub>min</sub>(a K<sub>1</sub>) + λ<sub>min</sub>(b K<sub>2</sub>) >= 0
,其中λ<sub>min</sub>
表示最小的eigenvalue 运算符。对于非负的c
,λ<sub>min</sub>(c K)
等于 c λ<sub>min</sub>(K)
,对于负的 c λ<sub>max</sub>(K)
。以具有与上述相同内核的a=2
、b=-1
为例。
但是,如果同时使用a < 0
和b < 0
,则无法伪造有效内核。这很容易看出:如果K<sub>3</sub>(x, x) > 0
,那么,K<sub>3</sub>(x, x) = a K<sub>1</sub>(x, x) + b K<sub>2</sub>(x, x) = -|a| K<sub>1</sub>(x, x) - |b| K<sub>2</sub>(x, x) > 0
因为a
和b
是负数。这会导致 |a| K<sub>1</sub>(x, x) + |b| K<sub>2</sub>(x, x) < 0
不正确,因为 K<sub>1</sub>
和 K<sub>2</sub>
是有效的内核。
【讨论】:
能否请您添加一个在这两种情况下 K3 是有效内核的示例? @AnjelaDark,当然!在上面的示例中采用 a=2, b=-1 :-) (注意:我的答案中有错字,现在已修复) 我的第二个问题是,我们能否为具有有效内核的 a 请在您的回答中将您的回答全部添加到我的评论中,谢谢。 @AnjelaDark,完成。此外,我还修正了另一个错误:内核不必在所有输入上都是非负数,只要相等即可。以上是关于内核加法和一个令人惊讶的事实?的主要内容,如果未能解决你的问题,请参考以下文章
scipy.sparse.linalg.spsolve Linux 系统上大型稀疏矩阵的令人惊讶的行为
NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目
NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目