gpt4 book ai didi

machine-learning - 机器学习 - 一类分类/新颖性检测/异常评估?

转载 作者:行者123 更新时间:2023-11-30 08:36:25 25 4
gpt4 key购买 nike

我需要一种能够满足以下要求的机器学习算法:

  • 训练数据是一组特征向量,全部属于同一“正”类(因为我无法生成负数据样本)。
  • 测试数据是一些特征向量,可能属于也可能不属于正类。
  • 预测应该是一个连续值,它应该表明与正样本的“距离”(即0表示测试样本明显属于正类,1表示它明显属于负类,但0.3表示它有些正类) )

一个例子:假设特征向量是二维特征向量。

正训练数据:

  • (0, 1), (0, 2), (0, 3)

测试数据:

  • (0, 10) 应该是一个异常,但不是一个明显的异常
  • (1, 0) 应该是异常,但“等级”高于 (0, 10)
  • (1, 10) 应该是一个异常,具有更高的异常“等级”

最佳答案

您描述的问题通常称为异常值、异常或新颖性检测。有许多技术可以应用于解决这个问题。可以找到关于新颖性检测技术的很好的调查here 。本文对这些技术进行了彻底的分类,并对每种技术进行了简要描述,但作为开始,我将列出一些标准的技术:

  • K-nearest neighbors - 一种简单的基于距离的方法,假设正常数据样本靠近其他正常数据样本,而新颖样本远离正常点。 KNN 的 Python 实现可以在 ScikitLearn 中找到。
  • Mixture models (例如高斯混合模型)- 对数据的生成概率密度函数进行建模的概率模型,例如使用混合高斯分布。给定一组正态数据样本,目标是找到概率分布的参数,以便最好地描述样本。然后,使用新样本的概率来确定它是否属于分布或异常值。 ScikitLearn 实现 Gaussian Mixture Models并使用期望最大化算法来学习它们。
  • 一类支持向量机 (SVM) - 标准的扩展 SVM classifier它试图找到将正常样本与未知新样本分开的边界(在经典方法中,通过最大化正常样本和空间原点之间的余量来找到边界,投影到所谓的“特征空间” )。 ScikitLearn 具有 one-class SVM 的实现这让您可以轻松使用它,并且一个不错的 example 。我附上该示例的图来说明一类 SVM 在正常数据样本“周围”找到的边界: enter image description here

关于machine-learning - 机器学习 - 一类分类/新颖性检测/异常评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com