Questions tagged «kernel-trick»

机器学习中使用内核方法将线性技术推广到非线性情况,尤其是SVM,PCA和GP。不要与[内核平滑]混淆,以进行内核密度估计(KDE)和内核回归。



1
内核化的k最近邻居
我是内核的新手,在尝试将kNN内核化时遇到了障碍。 初赛 我使用多项式核: ķ(X,Ý)= (1 + ⟨ X,ÿ ⟩ )dķ(X,ÿ)=(1个+⟨X,ÿ⟩)dK(\mathbf{x},\mathbf{y}) = (1 + \langle \mathbf{x},\mathbf{y} \rangle)^d 典型的欧几里得kNN使用以下距离度量: d(x,y)= | | x − y | |d(X,ÿ)=||X-ÿ||d(\mathbf{x}, \mathbf{y}) = \vert\vert \mathbf{x} - \mathbf{y} \vert\vert 令将x映射到某些高维特征空间。然后,可以用内积表示上述距离度量在希尔伯特空间中的平方: d 2(f (x ),f (y ))= K (x,x)− 2 K (x,y)+ K (y,y)F(x)F(X)f(\mathbf{x})XX\mathbf{x}d2(f(x ),f(y))= K(x,x)− 2 K(x,y)+ …

5
如何在numpy中有效地计算高斯核[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 3年前关闭。 我有一个具有m列和n行的numpy数组,这些列是维和行数据点。 现在,我需要为每个数据点组合计算内核值。 对于线性核我可以简单地做K(xi,xj)=⟨xi,xj⟩K(xi,xj)=⟨xi,xj⟩K(\mathbf{x}_i,\mathbf{x}_j) = \langle \mathbf{x}_i,\mathbf{x}_j \rangledot(X,X.T) 如何有效地计算高斯核K(xi,xj)=exp−∥xi−xj∥22s2K(xi,xj)=exp⁡−‖xi−xj‖22s2K(\mathbf{x}_i,\mathbf{x}_j) = \exp{-\frac{\|\mathbf{x}_i-\mathbf{x}_j\|_2^2}{s^2}}与给定s?

1
内核近似的Nystroem方法
我一直在阅读有关低阶内核近似的Nyström方法。该方法在scikit-learn [1]中实现,作为一种将数据样本投影到内核特征映射的低秩近似的方法。 据我所知,给定训练集和一个核函数,它通过将SVD应用于来生成核矩阵的低秩近似。和。{xi}ni=1{xi}i=1n\{x_i\}_{i=1}^nn×nn×nn \times nKKKWWWCCC K=[WK21KT21K22]K=[WK21TK21K22]K = \left [ \begin{array}{cc} W & K_{21}^T \\ K_{21} & K_{22} \end{array} \right ] C=[WK21]C=[WK21]C = \left [\begin{array}{cc} W \\ K_{21} \end{array}\right ],W∈Rl×lW∈Rl×lW \in \mathbb{R}^{l\times l} 但是,我不了解如何使用内核矩阵的低秩近似将新样本投影到近似的内核特征空间。我发现的论文(例如[2])并没有太大帮助,因为它们几乎没有说教性。 另外,我对这种方法在训练和测试阶段的计算复杂性感到好奇。 [1] http://scikit-learn.org/stable/modules/kernel_approximation.html#nystroem-kernel-approx [2] http://www.jmlr.org/papers/volume13/kumar12a/kumar12a.pdf

2
美世定理是否相反?
一位同事有一个功能sss,对我们来说,它是一个黑匣子。该函数测量两个对象的相似度s (a ,b )s(a,b)s(a,b)。 我们肯定知道sss具有以下属性: 相似性分数是介于0和1之间(含0和1)的实数。 只有自我相同的对象的分数才为1。因此s (a ,b )= 1s(a,b)=1s(a,b)=1意味着a = ba=ba=b,反之亦然。 我们保证。s (a ,b )= s (b ,a )s(a,b)=s(b,a)s(a,b) = s(b,a) 现在,他想使用需要距离作为输入的算法,并依赖于满足距离公理的输入。 我的想法是,我们可以将相似性分数视为RBF核的结果有一定距离(可以是欧几里得范数或其他距离),即可以用代数重新排列,并假设相似性分数指的是RBF内核用于某些(未知)坐标系中的一对点。 小号(X一世,XĴ)− r 日志小号(X一世,XĴ)------------√= 经验( - d(米一世,米Ĵ)2[R)= d(米一世,米Ĵ)s(xi,xj)=exp⁡(−d(mi,mj)2r)−rlog⁡s(xi,xj)=d(mi,mj) \begin{align} s(x_i,x_j) &= \exp\left(-\frac{d( m_i, m_j)^2}{r}\right) \\ \sqrt{-r \log s(x_i,x_j) } &= d(m_i,m_j) \\ \end{align} 其中是一些未知向量,和X α是感兴趣的对象,并且d是一段距离。米α∈ [Rñmα∈Rnm_\alpha …


1
核岭回归效率
岭回归可以表示为,其中是预测标签,的识别矩阵,我们试图找到一个标签的对象,而的的矩阵对象使得:ÿ^= (X′X +a一世d)− 1X Xy^=(X′X+aId)−1Xx\hat{y} = (\mathbf{X'X} + a\mathbf{I}_d)^{-1}\mathbf{X}xÿ^y^\hat{y}一世dId\mathbf{I}_dd× dd×dd \times dXx\mathbf{x}XX\mathbf{X}n × dn×dn \times dñnnX一世= (X我,1,。。。,X我,d)∈[Rdxi=(xi,1,...,xi,d)∈Rd\mathbf{x}_i = (x_{i,1}, ..., x_{i,d})\in \mathbb{R}^d X =⎛⎝⎜⎜⎜⎜⎜X1 ,1X2 ,1⋮XÑ ,1X1 ,2X2 ,2⋮X1 ,2……⋱…X1 ,dX2 ,d⋮Xñ ,d⎞⎠⎟⎟⎟⎟⎟X=(x1,1x1,2…x1,dx2,1x2,2…x2,d⋮⋮⋱⋮xn,1x1,2…xn,d) \mathbf{X} = \begin{pmatrix} x_{1,1} & x_{1,2} & \ldots & x_{1,d}\\ x_{2,1} & x_{2,2} & \ldots & x_{2,d}\\ …

1
如何将简单的感知器内核化?
带有非线性边界的分类问题不能通过简单的感知器来解决。以下R代码出于说明目的,并且基于Python中的此示例): nonlin <- function(x, deriv = F) { if (deriv) x*(1-x) else 1/(1+exp(-x)) } X <- matrix(c(-3,1, -2,1, -1,1, 0,1, 1,1, 2,1, 3,1), ncol=2, byrow=T) y <- c(0,0,1,1,1,0,0) syn0 <- runif(2,-1,1) for (iter in 1:100000) { l1 <- nonlin(X %*% syn0) l1_error <- y - l1 l1_delta <- l1_error * …

1
有哪些方法可以调整图形内核SVM超参数?
我有一些数据存在于图。顶点属于两个类别之一Ÿ 我 ∈ { - 1 ,1 },我很感兴趣,训练的SVM两个类之间进行区分。这样做的一个适当的内核是扩散核,其中,是拉普拉斯的和是调谐参数。G=(V,E)G=(V,E)G=(V,E)yi∈{−1,1}yi∈{−1,1}y_i\in\{-1,1\}K=exp(−βL),K=exp⁡(−βL),K=\exp(-\beta L),LLLGGGββ\beta 调整SVM需要选择超参数,因此我必须调整按照惯例,我们对这个问题使用交叉验证,但是在这里似乎不合适,因为从删除顶点改变整个图,甚至可能增加连接的组件的数量!如果连接的组件的数量发生变化,则某些顶点将变得无法与其他顶点联系,并且我们将面临与开始时非常不同的数据集。也就是说,我们不仅会丢失已删除的顶点,而且还会丢失关于图形中与该顶点相邻的所有其他顶点信息。θ=(β,C).θ=(β,C).\theta=(\beta, C).iiiGGGiiijjj 交叉验证的基本概念是,我们想近似模型在被提供新数据时的性能。在标准问题中,省略某些测试数据不会更改其余训练数据的值。但是,对于图形数据,不清楚模型在CV设置中看到“新”数据的含义。省略顶点或边可能会完全更改数据。例如,设想的图表这是一个 -star曲线图,其中一个顶点有边缘顶点,和所有其他顶点具有1个边缘。省略中心顶点以构造训练数据S=(VS,ES)S=(VS,ES)S=(V_S,E_S)kkkkkkkkkS∗S∗S^*将完全断开图形,并且内核矩阵将是对角的!但是当然可以在提供的训练数据上训练模型。尚不清楚的是,然后测试所得模型的样本外性能意味着什么。是否可以重新计算的内核矩阵,并提供该矩阵以进行预测?S∗S∗S^*SSS 或者,是否可以从整体上计算的内核矩阵开始,并根据需要省略行和列以产生用于估计SVM的内核矩阵?这提出了自己的概念性问题,因为在S中包含中心节点意味着每个顶点都可以从其他每个顶点到达,并且内核矩阵密集。这种包含是否意味着跨折存在信息泄漏,并使交叉验证输出偏斜?一方面,由于省略的中央节点使图相连,因此仍然存在有关省略的中央节点的数据。另一方面,我们对标签y一无所知SSSSSS yÿy ,因此我们可以从以这种方式执行CV得到合理无偏的样本外估计中感到满意。 如何针对此类问题选择超参数?简历不完美但可以接受,还是我们需要专门的方法?在我的上下文中,是否甚至可以进行超参数调整?

1
超越Fisher内核
一段时间以来,Fisher Kernels似乎很受欢迎,因为它们似乎是一种根据概率模型构造核的方法。但是,我很少见到它们在实践中使用过,而且我有很好的权威,认为它们往往效果不佳。他们依靠Fisher信息的计算-引用Wikipedia: Fisher信息相对于f的自然对数θ是二阶导数期望值的负值。信息可以看作是支持曲线的“曲率”在θ的最大似然估计(MLE)附近的度量。 据我所知,这意味着两点之间的核函数就是沿着该曲面的距离-是吗? 但是,这对于在内核方法中使用可能会有问题,因为 对于给定的模型,MLE可能是非常糟糕的估计 MLE周围的支撑曲线的曲率可能无法用于区分实例,例如,如果似然表面非常尖 这似乎抛弃了有关模型的许多信息 如果是这样的话,还有没有更多现代的方法可以从概率方法构造内核?例如,我们可以使用保留集以相同的方式使用MAP估算吗?与概率方法的距离或相似度还有哪些其他概念可以用来构造(有效)内核函数?

2
哪种核方法能提供最佳的概率输出?
最近,我已经使用Platt对SVM输出的缩放来估计默认事件的概率。更直接的替代方法似乎是“内核逻辑回归”(KLR)和相关的“导入向量机”。 谁能说出哪种给出概率输出的核方法是最新技术?是否存在KLR的R实现? 非常感谢您的帮助!

1
SVM =模板匹配如何?
我了解了SVM,并了解到它们正在解决优化问题,并且最大利润率的想法非常合理。 现在,使用内核,他们甚至可以找到很棒的非线性分离边界。 到目前为止,我真的不知道SVM(一种特殊的内核计算机)和内核计算机如何与神经网络相关联? 在这里考虑Yann Lecun => 的评论: kernel methods were a form of glorified template matching 还有这里: 例如,一些人因为与之相关的数学运算而对内核方法感到迷惑。但是,正如我在过去所说的,最后,内核计算机是执行“标准化模板匹配”的浅层网络。没什么错(SVM是一种很好的方法),但是它有可怕的局限性,我们都应该意识到。 所以我的问题是: SVM与神经网络有何关系?浅层网络如何? SVM通过定义明确的目标函数解决了优化问题,它如何进行模板匹配?输入与之匹配的模板在这里是什么? 我想这些评论需要对高维空间,神经网络和内核机器有透彻的了解,但到目前为止,我一直在尝试并且无法理解其背后的逻辑。但是,注意到两种截然不同的ml技术之间的联系肯定很有趣。 编辑:我认为从神经的角度理解SVM会很棒。我正在寻找对以上两个问题的数学支持的完整答案,以便真正理解SVM和神经网络之间的联系,无论是线性SVM还是带有内核技巧的SVM。

1
内核方法的局限性是什么?何时使用内核方法?
内核方法在许多监督分类任务中非常有效。那么内核方法的局限性是什么?何时使用内核方法?特别是在大规模数据时代,内核方法有哪些进步?内核方法和多实例学习之间有什么区别?如果数据为500x10000,500则为样本数,并且10000为每个特征的维数,那么在这种情况下,我们可以使用核方法吗?

1
R线性回归分类变量“隐藏”值
这只是我多次遇到的示例,因此我没有任何示例数据。在R中运行线性回归模型: a.lm = lm(Y ~ x1 + x2) x1是一个连续变量。x2是分类的,具有三个值,例如“低”,“中”和“高”。但是,R给出的输出将类似于: summary(a.lm) Estimate Std. Error t value Pr(>|t|) (Intercept) 0.521 0.20 1.446 0.19 x1 -0.61 0.11 1.451 0.17 x2Low -0.78 0.22 -2.34 0.005 x2Medium -0.56 0.45 -2.34 0.005 我知道R在这种因素(x2是一个因素)上引入了某种虚拟编码。我只是想知道,如何解释x2“高”值?例如,x2在此处给出的示例中,“ High” 对响应变量有什么影响? 我在其他地方(例如这里)已经看到了这样的示例,但是还没有找到我能理解的解释。
10 r  regression  categorical-data  regression-coefficients  categorical-encoding  machine-learning  random-forest  anova  spss  r  self-study  bootstrap  monte-carlo  r  multiple-regression  partitioning  neural-networks  normalization  machine-learning  svm  kernel-trick  self-study  survival  cox-model  repeated-measures  survey  likert  correlation  variance  sampling  meta-analysis  anova  independence  sample  assumptions  bayesian  covariance  r  regression  time-series  mathematical-statistics  graphical-model  machine-learning  linear-model  kernel-trick  linear-algebra  self-study  moments  function  correlation  spss  probability  confidence-interval  sampling  mean  population  r  generalized-linear-model  prediction  offset  data-visualization  clustering  sas  cart  binning  sas  logistic  causality  regression  self-study  standard-error  r  distributions  r  regression  time-series  multiple-regression  python  chi-squared  independence  sample  clustering  data-mining  rapidminer  probability  stochastic-processes  clustering  binary-data  dimensionality-reduction  svd  correspondence-analysis  data-visualization  excel  c#  hypothesis-testing  econometrics  survey  rating  composite  regression  least-squares  mcmc  markov-process  kullback-leibler  convergence  predictive-models  r  regression  anova  confidence-interval  survival  cox-model  hazard  normal-distribution  autoregressive  mixed-model  r  mixed-model  sas  hypothesis-testing  mediation  interaction 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.