机器学习之异常检测--孤立森林(Isolation Forests)

孤立森林(Isolation Forests) 经典的异常检测算法孤立森林的研究整理 阅读详情

机器学习之异常检测–孤立森林(Isolation Forests, iForests)

异常检测在机器学习领域内的应用场景广泛。比如帮助银行参与检测是否洗钱,识别金融欺诈,帮助保险领域识别是否可能骗保以及监测网络入侵等等。

iForests是异常检测中的一种离群检测方法,可以明确地分离异常样本。与随机森林由大量决策树组成一样,iForests也由大量的树组成。iForest算法是一种基于相似度的模型,属于无监督的方法,该算法主要通过从训练数据集中随机选取一个特征,在该特征的最大值最小值之间随机选取一个分裂点,小于分裂点的进入左侧分支,大于或等于分裂点的进入右侧分支;不断重复上述过程直到只剩一个样本或相同样本或达到树的深度限制,然后通过路径长度来表示一个样本点被“孤立”的程度。

路径长度h(x)指样本点二从根节点到外部节点所经过的二叉树的边数,通常路径长度较小的样本被“孤立”的程度高。路径长度h(x)的计算公式为:
在这里插入图片描述其中,h(x)表示数据二从子树(iTree)的根节点到叶节点过程中经过的边的数目,C(T.size)表示在一棵用T.size条样本数据构建的二叉树的平均路径长度。C(n)的计算公式为:
在这里插入图片描述其中,n为样本个数,H(n-1)可用ln(i)+0.577 215 664 9(欧拉常数)估算,以同样的方式构建包含多棵iTree ,则样本的“孤立”程度即可基于路径长度被检测出来,可以通过S(x,n)分值判断。定义如下:
在这里插入图片描述

其中,E (h(x))是样本点二在iForest中所有孤立树的路径长度的平均值,n表示单棵iTree的训练样本数。

参考文献:
周志华.《机器学习》.北京:清华大学出版社

孤立森林 Isolation Forest 论文翻译(上) README 自己翻译的+参考有道,基本是手打的可能会有很多小问题。 括号里的斜体单词是我觉得没翻译出那种味道的或有点拿不准的或翻译出来比较奇怪的地方,尤其是profile、swamping和masking这三个词不知道怎样更准确。 欢迎指正和讨论,需要Word版可以留言。 孤立森林 摘要 大多数现有的基于模型的异常检测算法构建了一个正常实例的特征轮廓(profile),然后将不符合正常轮廓的实例识别为异常。本文提出了一种完全不同的基于模型的方法,显示地隔离异常而不是构建正常 阅读详情

相关推荐

异常检测(五)--- 高维数据的异常检测

五、高维数据的异常检测 1、引言 在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。 维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但是,在高维空间中,所有点对的距离几乎都是相等的(距离集中),这使得一些基于距离的方法失效。在高维场景下,一个常用的方法是子空间方法。 集成是子空间思想中常用的方法之一,可以有效提高数据挖掘算法精度。集成方法将多个算法或

weixin_43760925的博客 1472

孤立森林(isolation):一个最频繁使用的异常检测算法

孤立森林(isolation Forest)算法,2008年由刘飞、周志华等提出,算法不借助类似距离、密度等指标去描述样本与其他样本的差异,而是直接去刻画所谓的疏离程度(isolation),因此该算法简单、高效,在工业界应用较多。 Isolation Forest 算法的逻辑很直观,算法采用二叉树对数据进行分裂,样本选取、特征选取、分裂点选取都采用随机化的方式。喜欢本文记得收藏、关注、点赞。 【注】完整代码、数据、技术交流,文末提供 一、理解孤立森林 用一个例子来说明孤立森林的思想:假设现在有一组一维数

Python数据挖掘 4万+

异常检测——高维数据异常检测

主要内容包括: Feature Bagging 孤立森林 文章目录1、引言2、Feature Bagging3、Isolation Forests4、总结5、练习6、参考文献 1、引言 在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但是,在高维空间中,所有点对的距离几乎都是相等的(距离集中

huochuangchuang的专栏 325

Isolation Forest 简介

wedc

MusicDancing的博客 2868

【异常检测】5 高维异常

1、引言 在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但是,在高维空间中,所有点对的距离几乎都是相等的(距离集中),这使得一些基于距离的方法失效。在高维场景下,一个常用的方法是子空间方法。 集成是子空间思想中常用的方法之一,可以有效提高数据挖掘算法精度。集成方法将多个算法或多个基检测器的输出结合起来

weixin_41545602的博客 353

异常检测Task05:高维异常

Task05:高维异常 主要内容: Feature Bagging 孤立森林 1、高维数据异常检测特异性介绍 高维数据异常检测是指在现实生活中,一些数据集往往具有较多的维度,数据维度的增加一方面使得数据的大小飞快增加,另一方面可能会出现数据稀疏性,这种状况被称为维度诅咒。维度诅咒会使得距离的计算出现问题,进而对聚类方法也造成了困难。 特别在对距离的计算上,因为是高维的数据,所有点的距离几乎都是相等的,基于距离进行异常点判断可能会失效 2、高维数据异常检测思路 1、通过主成分法,进行降维,选取低特征值的降

qq_43720646的博客 423

基于孤立森林的流量异常检测

孤立森林采用传统的二分法思想,具体来说,在孤立森林中,采用二叉树对数据进行分裂,并且样本选取、特征选取、分裂点选取都使用随机化的方式。 从字面简单理解,孤立森林对异常点的判定遵循孤立原则,即异常点不属于某些样本点的簇,或者距离聚集的样本点的距离较大。 理论上,由异常分数的计算公式,孤立森林的异常得分 $s(x,n)$是一个介于0和1之间的值。 但是实际上在sklearn中,为了简化异常点的判断,decision_function()方法对异常分数进行了归一化处理,并通过以下公式计算: decision_s

Proking的博客 1042

异常检测系列:孤立森林(Isolation Forest)模型介绍

大多数现有的基于模型的异常检测方法会构建一个正常实例的概要,然后将不符合正常概要的实例标识为异常值。但是,Isolation Forest直接且明确地隔离异常值。IForest采用树结构来隔离每个单独的数据点。异常值是首先被单独分离出来的单个数据点;而正常点往往在树中聚集在一起。由于Isolation Forest不使用任何距离度量来检测异常值,因此它对于大数据量和高维问题是快速且适用的。

数智笔记 6183

异常检测Anomaly Detection(五)集成方法

文章目录1、引言2、Feature Bagging1.选择基检测器2.分数标准化和组合方法3、Isolation Forests4、总结5、feature bagging为什么可以降低方差?feature bagging存在哪些缺陷,有什么可以优化的idea? 1、引言 在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函

pure95214的博客 580

机器学习算法(二十):孤立森林 iForest (Isolation Forest)

1背景 现有的异常检测方法主要是通过对正常样本的描述,给出一个正常样本在特征空间中的区域,对于不在这个区域中的样本,视为异常。这些方法的主要缺点是,异常检测器只会对正常样本的描述做优化,而不会对异常样本的描述做优化,这样就有可能造成大量的误报,或者只检测到少量的异常。 异常的两个特点:异常数据只占很少量、异常数据特征值和正常数据差别很大。 孤立森林,不再是描述正常的样本点,而是要孤立异常点,由周志华教授等人于2008年在第八届IEEE数据挖掘国际会议上...

weixin_39910711的博客 1万+

在边缘部署实时视觉应用程序

克隆代码库后,压缩源文件夹的内容,并将生成的存档文件上传到上一节中创建的 S3 存储桶中。在本教程中,我们将使用 AWS Greengrass,因为它支持大多数 Windows 和 Linux 设备,包括我们的目标 Jetson AGX Xavier。此外,模型还可以量化到更低的精度,从而加快推理速度,但对于较大的模型,此过程通常较长(约 45 分钟)。本例中的脚本只是启动一个 Bash 环境,切换到解压后的构件目录,最后使用所需的命令行参数运行 Deepstream 应用。每个模型类型都有其独有的格式。

2501_91623519的博客 1281

寒假组队学习之——数据挖掘实战(异常检测)Task05:高维异常

#异常检测——高维数据异常检测 主要内容包括: Feature Bagging 孤立森林 文章目录 1、引言 在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但是,在高维空间中,所有点对的距离几乎都是相等的(距离集中),这使得一些基于距离的方法失效。在高维场景下,一个常用的方法是子空间方法。 集成是子空

upon120的博客 251

沐数科技数据开发岗笔试题2025

与数据库中的主键(Primary Key)​有所不同,业务主键(Business Key)​是业务层面的唯一标识,通常由业务规则决定,例如,订单号、订单明细号,身份证号等。用户授信表(table_credit):包含用户ID(uid)、授信申请时间(credit_submit_time_local)、授信状态(credit_status)。:在正态分布中,大约68%的数据值落在距离均值一个标准差的范围内,约95%的数据值落在两个标准差的范围内,而约99.7%的数据值落在三个标准差的范围内。

weixin_40121264的博客 3525

Anomaly Detection——High Dimensional Data Anomaly Detection

异常检测——高维数据异常检测1、引言2、Feature Bagging3、Isolation Forests4、总结5、参考文献 1、引言 在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但是,在高维空间中,所有点对的距离几乎都是相等的(距离集中),这使得一些基于距离的方法失效。在高维场景下,一个常用的

weixin_42032907的博客 365

使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案

DeepSeek是由深度求索公司开发的大规模语言模型,最新版本DeepSeek-V3采用混合专家(MoE)架构,拥有671B参数,激活37B参数,在多项基准测试中表现优异3。要使用DeepSeek的API服务:访问DeepSeek平台注册账号获取API Key(形如AKShare是基于Python的金融数据接口库,提供股票、基金、期货、宏观经济等领域的海量数据。主要特点包括:免费开源,数据源丰富支持多种数据格式(DataFrame/JSON)持续更新维护安装命令。

Kin 3173

GX WORKS2通过交换机连接PLC的方法

三菱PLC连接方法的分享

weixin_64927621的博客 3619

2021-01-24高维异常

异常检测feature baggingisolation forests TASK05高维异常 feature bagging isolation forests

weixin_46870583的博客 246

COMSOL后处理与可视化

公众号→【COMSOL仿真交流】←更多精彩内容 后处理是采用COMSOL建模的一个重要环节。通过软件自带的可视化工具,可以快速方便的展现仿真结果。 COMSOL为使用者提供了多种后处理工具,包括表面图、切面图、等值线图、流线图、线图、体图等等。可按功能分为数据集(储存数据的地方)、派生值和表单(对数据进行进一步的操作)、绘图组合绘图类型(显示数据结果的地方)、导出数据与生成报告。   如果想用origin、matlab对模拟数据做进一步的处理,导出excel格式的模拟结果,这可以通过“导出

midiio的博客 4027

【机器学习 | 异常检测】孤立森林(isolation Forest)iForest 算法理论讲解及 Python 实战

【机器学习 | 异常检测】孤立森林(isolation Forest)iForest 算法理论讲解及 Python 实战

wzk4869的博客 1万+

深入探讨 VQ-VAE:理解变分量化自动编码器

VQ-VAE代表"Variational Quantized Variational Autoencoder",是一种生成模型,通常用于处理高维数据,如图像和音频。它的设计灵感来自于变分自动编码器(VAE)和量化方法,结合了它们的优点,使得 VQ-VAE 能够生成高质量的数据,并在数据表示上引入离散性。VQ-VAE 是一种强大的生成模型,结合了变分自动编码器和量化方法的优点。它在图像和音频生成、数据压缩和生成性对抗网络等领域具有广泛的应用。

DeepViewInsight的博客 7015

Microsemi Libero系列教程(六)——Identify片上逻辑分析仪的使用

文章目录FPGA如何进行在线调试关于Microsemi片上逻辑分析仪FPGA片上逻辑分析仪原理预期效果0.准备一个创建好的Libero工程1.新建identify工程,并添加想要监测的信号2.管脚分配,编译下载3.设置触发类型4.IICE逻辑分析仪核资源占用 系列教程:Microsemi Libero系列教程 FPGA如何进行在线调试 对于嵌入式系统来说,如单片机,进行硬件级程序调试时,通常采用的是JLink/ST-Link调试器,在线调试的方式来获取程序实时运行的状态,可以观察程序运行流程、各种变量的值

whik1194的博客 1万+

孤立森林算法的应用场景有哪些?

例如,通过分析网络数据包的特征,如源 IP 地址、目的 IP 地址、端口号、协议类型、数据包大小等,可以检测出异常的流量模式,如突然增加的流量、来自未知来源的流量或与正常模式不同的流量分布。例如,通过分析交易金额、交易时间、交易地点、交易对象等特征,可以检测出异常的交易模式,如突然出现的大额交易、频繁的小额交易、来自陌生账户的交易等。例如,通过分析设备的传感器数据,如温度、压力、振动、电流等,可以检测出异常的设备运行模式,如温度突然升高、压力异常波动、振动加剧等。

alankuo的专栏 633

YOLOv8融合改进 更换检测头为Detect_DyHead同时添加C2f_DBB模块

yolov8独家训练测试融合网络结构,提供详细步骤详细代码,手把手教你在yolov8官方包中把检测头更换为Detect_DyHead检测头,并且将原始的C2f模块更换成C2f_DBB模块,提高检测精度,亲测在多个数据集上有涨点!!!!!

分享一些自己改进代码的实例 4747

【异常检测】孤立森林(isolation Forest)iForest算法理论讲解及python实战

一、原理孤立森林(Isolation Forest,简称 iForest)是一种无监督学习算法,用于识别异常值。其基本原理可以概括为一句话:异常数据由于数量较少且与正常数据差异较大,因此在被隔离时需要较少的步骤。有两个假设:异常的值是非常少的(如果异常值很多,可能被识别为正常的)异常值与其他值的差异较大(这点也可以引出主要是全局上都为异常的异常,局部小异常可能发现不了,因为差异并不大)二、具体流程...

AI蜗牛车 3634

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 机器学习之人脸识别(Face Recognition)
下一篇: R语言实战之如何绘制线性回归图表(附详细代码解释,小白也可看懂~)
Math_is_hard.
博客等级 码龄6年 10粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值