首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义正常用户行为的ML算法

定义正常用户行为的ML算法
EN

Data Science用户
提问于 2017-08-25 06:38:51
回答 3查看 881关注 0票数 3

我正在尝试创建一个模型来捕捉用户的通常行为:即创建一个用于用户分析的模型。

我确实有200万行数据表示用户的正常行为,并希望定义一个模型,该模型可以检测用户正常行为中的任何变化。

我正在考虑使用一个类svm /隔离林来训练正常行为。我想了解一下这是否是一个好的方向。

或者,我应该冒险深入学习或无监督的基于聚类的模型,并为用户的异常行为收集数据,以及可能使用监督模型。

EN

回答 3

Data Science用户

发布于 2017-08-25 09:05:13

我认为这在很大程度上取决于为异常behavior.It收集数据有多么困难/昂贵/耗时,也取决于您是否期望这种异常行为属于一个(或固定数量的)类,或者是任何偏离正常类型的行为。

如果您能够收集标签数据,并期望异常行为被限制在一定数量的类,那么监督的方法很可能会给您带来更好的结果。

相反,如果上述任何一个假设都不成立,那么我认为半监督的方法(如你所说的,一类支持向量机或类似的技术)在我看来是一个很好的选择。

票数 0
EN

Data Science用户

发布于 2017-08-28 06:10:55

有一个分类。特别是OC。

或者,您可以简单地分析到最近的样本的距离。

票数 0
EN

Data Science用户

发布于 2018-01-25 09:47:48

我的答案的基线当然是,先尝试最简单的方法,然后继续。机器学习不是关于繁重的工作,而是关于聪明地使用你的工具。

算法的选择主要取决于您的数据和您期望的异常类型。您是否有带有会话效应和趋势的时间序列数据,也许twitter异常检测包将是一个好的开始。

例如。如果您的CPU是热的,您会期望它在高负荷下运行。如果负荷较低,可能是异常,也可能是负载过高。所以你的问题之一是,你能通过看一个样本来发现异常或识别正常的行为吗?

因此,“不免费午餐”,定理再次适用。

尽管如此,支持向量机和隔离森林是一个良好的开端。即使存在时间序列问题,也要跟踪短期依赖项。只需将“旧”行包含到当前集:链接

您甚至可以尝试更简单的方法,如数值的高斯分布、计算每个置换的概率(如果功能足够小)或构建markov modell。

不满意的结果?潜得更深,也许是自动编码器的诀窍,也许是LSTM,也许是两者的结合。

我最近使用的非监督和半监督ML算法的简短总结,按复杂性(某种程度)排序:

  • 中位绝对偏差(Twitters异常检测库)
  • 局部输出因子
  • 隔离林
  • 椭圆包络
  • 自回归积分移动平均
  • 自动编码器
  • 时间序列不和谐
  • 预测用LSTM
  • 复制人神经元网络
  • 贝叶斯网络

当然,有监督的方法,但我不熟悉这些。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/22565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档