- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读SVM理论。在内核技巧中,我的理解是,如果我们有一个在原始维度 n 中不可线性分离的数据,我们使用内核将数据映射到更高的空间以实现线性可分离(我们必须根据情况选择正确的内核)数据集等)。然而,当我观看Andrew ng的这段视频Kernel SVM ,我的理解是我们可以将原始数据映射到更小的空间,这让我很困惑!?任何解释。
你能解释一下 RBF 内核如何映射每个原始数据样本 x1(x11,x12,x13,....,x1n)
到更高的空间(尺寸为 m)为 X1(X11,X12,X13,...,X1m)
举一个具体的例子。另外,我理解的是内核计算变换后的数据的内积(因此在 RBF 之前还有其他变换,这意味着 RBF 隐式地将数据变换到更高的空间,但是如何?)。
其他事情:内核是一个函数 k(x,x1):(R^n)^2->R =g(x).g(x1)
,其中g是变换函数,那么在RBF核的情况下如何定义g?
假设我们在测试集中,我的理解是x是要分类的样本,x1是支持向量(因为只有支持向量才会用来计算超平面)。对于 RBF 的情况 k(x,x1)=exp(-(x-x1)^2/2sigma)
,那么转换在哪里呢?
最后一个问题:承认RBF映射到更高维度m,有可能显示这个m吗?我想看看理论现实。
我想用RBF内核实现SVM。 m
是什么?这里又该如何选择呢?如何在实践中实现内核技巧?
最佳答案
Could you explain me how does RBF kernel work to map each original data sample x1(x11,x12,x13,....,x1n) to a higher space (with dimensions m) to be X1(X11,X12,X13,...,X1m) with a concrete example. Also, what I understand is the kernel compute the inner product of the transformed data (so there is an other transformation before the RBF, which means that RBF transform implicitly the data to a higher space but How?).
正如您所说 - 内核是投影空间的内积,而不是投影本身。整个技巧是您永远不要转换数据,因为这样做计算成本太高。
other thing: the kernel is a function k(x,x1):(R^n)^2->R =g(x).g(x1), with g is a transformation function, how to define g in the case of RBF kernel?
对于rbf核,g实际上是从R^n到连续函数空间(L2)的映射,每个点都映射到均值为x、方差为sigma^2的非归一化高斯分布。因此(直到我们将丢弃的某个归一化常数 A)
g(x) = N(x, sigma^2)[z] / A # notice this is not a number but a function of z!
现在函数空间中的内积是整个域中乘积的积分,因此
K(x, y) = <g(x), g(y)>
= INT_{R^n} N(x, sigma^2)[z] N(y, sigma^2)[z] / A^2 dz
= B exp(-||x-y||^2 / (2*sigma^2))
其中 B 是某个常数因子(归一化),仅取决于 sigma^2,因此为了计算简单,我们可以放弃它(因为缩放在这里并不重要)。
Suppose that we are in the test set, What I understand is x is the sample to be classified and x1 is the support vector (because only the support vectors will be used to calculate the hyperplane). in the case of RBF k(x,x1)=exp(-(x-x1)^2/2sigma), so where is the transformation?
如前所述 - 从未明确使用变换,您只需表明超平面与变换点的内积可以再次表示为具有支持向量的内积,因此您永远不会变换任何东西,只需使用内核即可
<w, g(x)> = < SUM_{i=1}^N alpha_i y_i g(sv_i), g(x)>
= SUM_{i=1}^N alpha_i y_i <g(sv_i), g(x)>
= SUM_{i=1}^N alpha_i y_i K(sv_i, x)
其中 sv_i 是第 i 个支持向量,alpha_i 是优化过程中找到的每个样本权重(拉格朗日乘子),y_i 是第 i 个支持向量的标签。
Last question: Admit that the RBF do the mapping to a higher dimension m, it is possible to show this m? I want to see the theoretical reality.
在这种情况下,m
是无穷大,因为您的新空间是 R^n -> R 域中连续函数的空间,因此单个向量(函数)被定义为连续体(实数集的大小)值 - 每个来自 R^n 的可能输入值都有一个(这是一个简单的集合论结果,任何正 n 的 R^n 都是大小连续体)。因此,就纯数学而言,m = |R|
,并使用集合论,这就是所谓的 Beth_1 ( https://en.wikipedia.org/wiki/Beth_number )。
I want to implement SVM with RBF kernel. What is the m here and how to choose it? How to implement kernel trick in practice?
你不必选择m,它是由内核本身定义的。在实践中实现内核技巧需要以形式表达所有优化例程,其中训练点仅在内积的上下文中使用,并且仅用内核调用替换它们。这太复杂了,无法以 SO 形式描述。
关于machine-learning - 在 SVM 中练习核技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447613/
如果我在 lrge 训练集上训练 SVM,并且类变量是 True 或 False,那么与训练集中的 False 值数量相比,True 值很少会影响训练模型/结果吗?他们应该平等吗?如果我的训练集的 T
假设我的特征向量是 (x1, x2, ...xn) 谁能给我一个代码来使用 libSVM 训练一类 SVM? 我应该如何使用交叉验证来学习参数。 最佳答案 这可能会帮助你 label=ones(Num
我提前为这个问题的新颖性道歉,但我被卡住了。我正在尝试解决这个问题, 我可以做第 i)-1v) 部分,但我卡在了 v 上。我知道计算余量 y,你可以 y=2/||W|| 而且我知道W是超平面的法线,只
我有以下 R 配置: 操作系统:LinuxR 版本 3.0.1 (2013-05-16)rmr2 版本 2.2.1rhdfs 版本 1.0.6hadoop 版本 1.2.0 如何使用带 rmr2 包的
我想尝试不同的嵌入,例如 Word2Vec、ELMo 和 BERT,但我有点困惑是使用词嵌入还是句子嵌入,以及为什么。我将嵌入用作 SVM 分类器的特征输入。 谢谢。 最佳答案 虽然这两种方法都可以证
几乎所有的例子都是基于数字的。在文本文档中,我有文字而不是数字。 那么你能告诉我如何使用这些算法进行文本文档分类的简单示例吗? 我不需要代码示例,只需要逻辑 伪代码将有很大帮助 最佳答案 常用的方法是
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 3 年前。
我目前正处于语音识别的讨论阶段项目,我使用MFCC特征提取,但是从函数返回的MFCC特征是一个矩阵,例如每个语音文件(wav)的(20,38)特征矩阵。但是我如何将此功能传递给 SVM 分类器。对于
请我喜欢用 SIFT DESCRIPTOR 和 SVM 将一组图像分类为 4 类。现在,使用 SIFT 提取器,我得到了不同大小的关键点,例如 img1 有 100 个关键点,img2 有 55 个关
我有一组图像。我想学习一类支持向量机(OC-SVM)来模拟特定类(正)的分布,因为我没有足够的例子来代表其他类(负)。我对 OC-SVM 的理解是,它试图将数据与源分离,换句话说,它试图学习一个超球体
我正在使用 scikit-learn 使用 SVM 构建一些预测模型。我有一个包含大约 5000 个示例和大约 700 个特征的数据集。我在我的训练集上使用 18x17 网格搜索进行 5 折交叉验证,
这是我考试时提出的问题。我给出了以下答案,我的得分是0分。教授甚至不同意给予任何部分的认可,也没有告诉我我的答案有什么问题。谁能帮我找出我的答案有什么问题吗? 这是我在考试中给出的答案。缺点是:1)
tune.svm() 和 best.svm() 有什么区别。 当我们调整 svm 内核的参数时,我们不希望总是为我们的模型选择最佳值。 请原谅,因为我是 R 和机器学习的新手。 我注意到在调整 svm
我尝试使用 OpenCV2.3 实现基于 SVM 和 HOG 的人员检测系统。但是我卡住了。 我走到这一步:我可以从图像数据库计算 HOG 值,然后我用 LIBSVM 计算 SVM 向量,所以我得到例
Mahout(机器)中围绕 SVM(支持向量机)的任何新发展Learning With Hadoop) 使用 Hadoop?最近 SVM 实现被添加到 Mahout 中。我打算使用 SVM。有人尝试过
我使用 sklearn.svm.SVC 构建支持向量分类器,如下所示。 import numpy as np from sklearn.svm import SVC svc=SVC(proba
我想看看模型是否收敛于我的交叉验证。我如何增加或减少 sklearn.svm.SVC 中的时代? 目前: SVM_Model = SVC(gamma='auto') SVM_Model.fit(X_t
与在 SVM 的相同成本函数中使用 2-范数权重相比,我们如何通过在成本函数中使用 1-范数权重来提高稀疏性。 对于 1-范数:成本函数 - 最小化 ||w||_1 对于 2-范数:成本函数 - 最小
事实上,我不是一个经验丰富的 C++ 程序员,我是一个 C# 程序员,正如你所知道的,它有很大的不同,根据我的机器学习经验,我只使用了 matlab,所以如果我有一些,请原谅概念错误。 我正在尝试在
我正在尝试使用 OpenCV 中的 SVM 加载函数加载 .xml 文件,然后使用预测函数对交通标志进行分类。当到达预测函数的执行时抛出错误: Unhandled exception at 0x000
我是一名优秀的程序员,十分优秀!