问题标签 [one-class-classification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
33 浏览

python - 将张量与二进制值进行比较的问题

我有一个问题,有一个图像和一个给定的问题。答案是形式[False, True]。在训练期间,我试图找出预测是对还是错。

假设原始答案是[0, 0]并且预测的答案是[0, 1]tf.argmaxlogits 和标签都将返回值 1。有没有办法避免这种丑陋的比较?我尝试替换tf.argmax为,tf.reduce_max但准确性始终为 0。

或者有没有其他方法可以改变模型,这样,除了在输出层有 2 个神经元,我可以在 1 个神经元中完成它。目前,我正在使用它tf.nn.softmax来查找预测并tf.nn.sigmoid_cross_entropy_with_logits作为我的损失函数。

0 投票
0 回答
219 浏览

python - Node JS 需要在 Python One Class SVM 中训练并将其用于预测

我需要为 Python 中的异常检测任务训练 One Class SVM 模型,将其导出(例如,使用 pickle 或 tfjs-converter)并将其导入 NodeJS 函数中,仅用于预测。

我曾尝试使用 TensorflowJS 库,但它仅适用于 Tensorflow/Keras 模型(即深度学习模型),而 OC-SVM 仅包含在 Python 的 Scikit-Learn 库中。

在使用它通过节点进行预测之前,我已经找到了用于训练 One-Class SVM 的 npm 包,但这不是我需要的。

我迫切需要找到一种方法来做到这一点。有任何想法吗?

0 投票
1 回答
99 浏览

object-detection - 为不同的任务重新使用创建的数据集(对象检测 - 图像分类)

我在 Amazon sagemaker 中创建了一个大型数据集,并使用边界框对其进行了标记。我使用这个数据集进行对象检测,一切正常。后来,我想用这个数据集进行简单的图像分类。但是每次,我尝试运行它,我都会收到一个错误:客户错误:标签不是浮点数。

我认为问题可能是边界框,因为图像分类算法并不期望它们,但是有什么办法,如何改变它?我的目标是使用边界框中的图像部分进行图像分类训练。有什么办法,如何设置参数,以便算法可以接受边界框中的信息作为输入?

Bellow 是生成的日志文件的片段,当我尝试在带有边界框的数据集上运行图像分类时。

PS:数据集是一个增强的清单文件。

如果有任何帮助,我将不胜感激。

0 投票
1 回答
1092 浏览

r - 超参数调优一类SVM

我正在寻找一个包或“最佳实践”方法来使用高斯(RBF)内核为一类 SVM 自动选择超参数。我目前正在 R 中实现 libsvm 的一类 svm,因此最好采用一种结合它的方法,或者至少,R 是最好的。


编辑

只是为了给我正在寻找的一个更清楚的例子,假设我们有 iris 数据集,我们将其中一种类型作为正例。一种方法是构建一个具有不同选择的 nu 和 gamma 的一类 SVM,然后针对否定情况(其他花卉类型)验证模型的准确性。见下文:

现在实际上,我的问题在训练数据中有一些误报。我们可以通过将负样本添加到正样本中并将这些负样本从验证测试中排除然后重新运行来将其合并到示例中:

我正在寻找另一种方法来选择论文中最好的一类超参数,或者其他有理由成为一种好方法的方法。


为了提供一些背景知识,我知道Scholkopf 等人对一类 SVM 的原始实现。并理解该方法的目的是将一类数据映射到与内核对应的特征空间,并使用超平面以最大边距将它们与原点分离。在这个意义上,起源可以被认为是所有其他类。我也知道Tax & Duin推出的 SVDD. 这里的目的是创建尽可能小的数据封闭球体。通过这种方法,球外的所有点都是其他类/异常值。我也知道这两种方法在使用高斯核时会推导出等效的最小化函数。这两种方法都使用软边距,也允许在一类中错误分类案例。由于它们是等效的,我将只讨论 OC-SVM,但使用 SVDD 作为答案的方法也将不胜感激!

所以在我的问题中,我的一类是正例,我想针对误分类例(误报)和伽玛(高斯核的宽度)的比例优化 nu。在我的问题中,我知道会有误报,这是问题的本质,无法检测到。我还想在不同的数据集上应用多个 OC-SVM,因此我需要一种自动方法来根据相关数据集中存在的异常值的比例和数据的潜在特征来调整 nu 和 gamma。

由于这个问题本质上是无监督的,因此我显然不能以正常方式使用 CV,其范围为 nu 和 gamma,因为然后将选择与原点距离最小的解决方案。只是要注意我确实有负面案例,但如果可能的话,我宁愿在验证步骤中阻止它们,好像根本不需要使用一类方法,为什么不使用普通的二类分类方法?

我的问题是是否有人找到了在 R 中执行此操作的包或方法?我知道科学文献中有很多方法,包括非常有前途的方法:DTL这里,但这些似乎没有可用的代码,除非伪代码以及如何将其转换为 R 并将其与 libsvm 结合,例如,似乎很大为我目前的能力迈出一步。

任何帮助或建议将不胜感激!

0 投票
0 回答
76 浏览

medical - 不平衡医学数据集的二元分类

我想使用由 35K 图像组成的医学数据集来解决二进制分类问题。我有几个同样的问题。

1.) 通常用于 COCO、ImageNet 等数据集的 VGG、Inception 等架构正在对特征“丰富”和“复杂”的输入图像进行建模。VGG 大约有 2600 万个参数,InceptionV4 大约有 5000 万个参数,将这样的深度模型用于医学图像是否有意义?

2.) 我知道用于多类分类问题的多种架构,但是是否有专门为二进制分类而设计的神经网络架构,而不是仅转换最后一层?

3.)关于如何处理通常出现在医学数据集的二元分类中的类不平衡问题的任何合适的参考资料?我的意思是医学数据集通常将其视为二进制分类和异常检测的组合。我发现的一种方法是使用 SVM 而不是最后一个全连接层,但有更好的方法吗?

0 投票
1 回答
84 浏览

python - 一类 svm 分类错误:分类指标无法处理未知目标和二元目标的混合

我在上面的代码中得到分类指标无法处理未知目标和二进制目标的混合错误。'ji2hwh' 只是一个用户 ID,我将其视为我的一类分类的目标用户,并将其余用户视为攻击者。x 是特征向量,y 包含用户 ID。我无法弄清楚为什么会出现此错误,因为变量 pred 返回一个带有 [-1,1] 值的 ndarray,并且 y_test 似乎正确分配了适当的值,也在同一组值 [-1,1] 中。我能做些什么来克服这个编译错误?

整个错误信息:

0 投票
0 回答
92 浏览

python - 来自未知节点的请求张量连接:“dense_5_target:0”

我在 Google colab 中运行此代码时遇到此错误。

错误是:

我如何解决这个问题?谁能帮我?谢谢

0 投票
0 回答
28 浏览

python - 为什么我不能在 sklearn 中为 OneClassSVM 构建预测模型

我正在尝试使用 OneClassSVM 检测数据集的异常值,我的代码如下

但我收到以下错误:

有人可以帮忙解决这个问题吗?

0 投票
0 回答
17 浏览

binary - 分类问题,只有一类的标签

有没有人对只有一个类的标记数据和可以来自任一类的未标记数据的特定算法或实现有建议?而且我不确定未标记数据中存在的 A 类与 B 类的比例是多少,而且我的标记数据也不是随机选择的。我尝试了很多方法,例如一类分类、UPlearning,但它们并没有返回高精度。你能帮我吗?

0 投票
1 回答
44 浏览

one-class-classification - 如何使用一类 SVM Python 计算错误接受率和错误拒绝率

如何使用一类 SVM 计算错误接受率和错误拒绝率?我有大约 70000 个样本的用户数据。我正在尝试在这里应用一类 SVM。获得的 -1 值的数量为 12765,其余显示为 1。根据获得的这些值,我如何计算 False Accept Rate ?