19得票3回答
计算SVM损失函数的梯度。

我正在尝试实现SVM损失函数及其梯度。我找到了一些示例项目,它们实现了这两个功能,但我无法弄清楚在计算梯度时如何使用损失函数。 以下是损失函数的公式: 我不明白的是,如何在计算梯度时使用损失函数的结果? 该示例项目的梯度计算方法如下:for i in xrange(num_train)...

19得票2回答
使用Tensorflow构建支持向量机

我目前有两个numpy数组: X - (157, 128) - 157组128个特征 Y - (157) - 特征集的分类 这是我编写的试图构建线性分类模型的代码。 首先,我将这些数组调整为Tensorflow数据集: train_input_fn = tf.estimator.i...

19得票2回答
如何使用自定义的SVM核?

我想在Python中自己实现高斯核函数,只是为了练习。我正在使用:sklearn.svm.SVC(kernel=my_kernel),但我真的不明白发生了什么。 我期望函数my_kernel将以矩阵X的列作为参数调用,但我得到的是将X、X作为参数调用。看示例也没有更清楚的解释。 我错过了什...

19得票3回答
将sklearn.svm的SVC分类器转换为Keras实现

我正在尝试将一些旧代码从使用sklearn转换为Keras实现。由于保持相同的操作方式至关重要,我想知道我是否做得正确。我已经转换了大部分代码,但是我在将sklearn.svm SVC分类器转换时遇到了问题。以下是当前的代码:from sklearn.svm import SVC model ...

18得票5回答
如何处理高维输入空间的机器学习问题?

当我尝试对一些高维度输入应用一些机器学习算法(分类,具体来说是SVM)时,如果我得到的结果不太令人满意,我该如何处理这种情况呢? 1、2或3维数据可以可视化,同时还可以展示算法的结果,这样您就能够了解发生了什么,并且有一些思路来解决问题。然而,一旦数据超过三维,则除了直观地调整参数外,我并不...

18得票2回答
使用libsvm进行交叉验证后的重新训练

我知道交叉验证用于选择好的参数。在找到它们之后,我需要重新训练整个数据但不使用-v选项。 但我面临的问题是,在使用-v选项进行训练后,我得到了交叉验证准确率(例如85%),但没有模型,也无法看到C和gamma的值。在这种情况下,我该如何重新训练? 顺便说一句,我正在应用10折交叉验证。op...

18得票3回答
scikit-learn虚拟分类器的理论基础是什么?

根据我阅读的文档,虚拟分类器可以用于针对分类算法进行测试。 该分类器可用作与其他(真实)分类器进行比较的简单基准线。不要将其用于实际问题。 当使用分层方法时,虚拟分类器会遵守训练集的类分布来生成预测。这是因为在实践中,正确地模仿现实世界的分布通常是非常重要的,以便在应用新算法时能够对性能进...

18得票5回答
实现一个线性、二元的支持向量机(SVM)

我希望能够实现一个简单的SVM分类器,用于高维二元数据(文本)的情况下,我认为简单线性SVM是最好的选择。之所以要自己实现,基本上是因为我想学习它的工作原理,所以使用库不是我想要的。 问题在于,大多数教程仅仅介绍可以解决为“二次优化问题”的方程式,但却从未展示实际算法!所以您能否指点我一个非...

18得票1回答
来自e1071 R软件包的SVM方程?

我对测试SVM性能以将多个个体分类为四组/类别感兴趣。当使用MATLAB中的svmtrain LibSVM函数时,我可以得到用于根据此方程式的值在4个组之间分类这些个体的三个方程式。一种方案可能如下: All individuals (N)* ...

18得票1回答
libsvm 缩小启发式算法

我正在使用带有二次多项式核函数的libsvm进行C-SVC模式训练,并且需要训练多个SVM。在训练过程中,对于我训练的某些SVM,我会收到下列警告中的一个或两个:WARNING: using -h 0 may be faster * WARNING: reaching max number o...