简要介绍ActiveLearning(主动学习)思想框架,以及从IF(isolationforest)衍生出来的算法:FBIF(FeedbackGuidedAnomalyDiscovery)郑瀚

本文主要围绕下面这篇paper展开内涵和外延的讨论:

[1]SiddiquiMA,FernA,DietterichTG,etal.Feedback-guidedanomalydiscoveryviaonlineoptimization[C]//Proceedingsofthe24thACMSIGKDDInternationalConferenceonKnowledgeDiscovery&DataMining.ACM,2018:2200-2209.

笔者这里先简单概括一下这篇笔者所理解的这篇paper的主要核心思想:

1.主动学习思想的融合:

主动学习,也叫查询学习,它要求算法在每轮学习迭代中能够基于某种策略,从当前样本集中选择出“最不确定的一个或一组样本”。从这个角度来思考,无监督异常检测算法普遍都能胜任这个目标,作者在paper中也提到了这个框架的可插拔性,paper中选择了isolationforest孤立森林算法,每一轮迭代中,通过不断将isolationtree当前不确定的数据(无监督模型发现的异常数据),也即最浅路径叶节点输出给外部反馈者并接受feedbacklabel(正例or负例),以此获得一批打标样本。

2.凸优化框架的融合:

主动学习(查询学习),是机器学习的一个子领域。主要的思想是:通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精确度。

A=(C,Q,S,L,U)

只要是有监督学习算法即可。

通俗地理解:

Onlineactivelearning就是模型一次只输出一个预测样本给打标员,打标员通过检视后将反馈结果输入回模型,完成一次迭代。

Batch-sizeactivelearning是模型一次输出一整批数据(例如128),打标员统一打标后,统一将结果输入回模型。

理论上说,onlinelearning更利于逼近全局最优,但是在实际工程中,onlinelearning并不容易做到,因为人是不可能持续地一个样本一个样本的打标的,人毕竟不是机器,人会疲劳。因此,笔者在实际项目中,对原始论文中的Online部分修改为了Batch-size,通过一次积累一个batch样本,然后依然流式地逐一输入给原算法。

和onlineGD和batch-sizeGD问题一样,batch-size可以理解为对online的一种近似模拟,一般情况下,只要batch不要设置地太大(32-64),对最终结果的影响基本上可以忽略不计。

论文原作者提出的是onlineactivelearning,在实际工业场景中,onlineactivelearning的部署成本很大,我们一般采用smallbatch-sizeactivelearning代替,总体上效果影响有限。

即模型一次输出toprank的异常数据,由打标员统一打标后再输入回模型,之后将这批样本全部输入模型进行权重w的调整。接着进入下一轮的toprank异常点评选,如此循环。

RelevantLink:

凸优化在数学规划领域具有非常重要的地位,一旦将一个实际问题表示为一个凸优化问题,大体上意味着对应问题已经得到彻底解决。从理论角度看,用凸优化模型对一般非线性优化模型进行局部逼近,始终是研究非线性规划问题的主要途径。

从理论推演脉络角度来说,凸优化理论是研究优化问题的一个重要分支。实际上,最小二乘以及现行规划问题都属于凸优化问题。

下图展示在线凸优化的伪码流程图:

在一轮的迭代中,都要从凸集中选择一组向量序列w,并选择一个损失函数f()用于计算和目标值之间的差距。

传统IF检测异常时通常会将头部异常样本集(通常不会太多)输出给分析师,借助他们的专家经验判定是否为所要抓捕的风险,若准确率满足要求则进行生产部署,若不满足要求,则需要建模人员和分析师一起尝试修改特征工程,或者通过白名单排除一些样本集,这是一个将分析师的评估结果人工翻译给IF算法的过程。

FBIF作者的解决思路我这里理解是这样的:首先IF是一种生成式模型,IF训练收敛过程没有打标样本的参与,最终生成的概率分布决策函数(decisionfunction)没有有监督样本的参与,经验误差自然会很大。作者将onlinelearning框架思想融入模型中,将监督学习的思想和流程加入到这个无监督过程中,使完全的无监督算法变成半监督的算法。这样得到的综合模型即拥有无监督异常算法的泛化能力,同时也能兼顾有监督学习的强拟合能力的特点。

FBIF省去了传统利用IF做异常检测模型中,反复人工翻译的过程,直接输出,反馈,而后吸收的过程建模为一个onlinelearning过程。

这样我们将整个tree上的每一条边按照ont-hot形式进行编码,那么可以很容易想象,每一个leaf节点都会经过一定数量的边,例如一颗3层6个边的树,某个节点对应的树结构向量可能就是【1,1,1,0,0,0】,如下图所示:

权重w是由feedback反馈(有监督标签)驱动调整的,因此,score越大意味着异常度越高,score越小意味着异常度越小,这就构成了一个有监督线性回归模型(也即原文说的generalizedlinearanomalydetectors(GLADs))的回归训练过程。

FBIF的主体框架采用了onlineconvexoptimization(OCO)框架来描述该过程,可以理解为:我们是在一个对抗性的环境循环地一轮轮做游戏的过程,其中每一轮我们的行动(action)是选择convexsetS中的向量,在游戏的第t步,过程如下:

详细的算法流程如下:

我们接下来逐个讨论各个子环节。

注意,OCO是一个不断迭代循环的过程,模型不仅产出“suspiciousabnormalinstance”给反馈者,同时上一轮反馈者给的feedback也会影响这一轮的模型预测结果,是一个递归过程。

另外,在论文中选用了tree-based的anomalydetectfunction,所以对权重w的限制是非负,这点在写代码的时候需要注意。

接下来按照IF的传统过程得到映射后向量,并乘上权重参数w,根据异常值score得到一组topanomalyinstance。

但是在实际工程项目中,基本上,样本集D是一个天文数字,在笔者所在的网络安全攻防场景更是家常便饭,所以人工反馈最多只能完成最多上万次的反馈,一般通过上千次的反馈后,FBIF模型就会完成收敛。

接下来的问题如何将反馈转换为可优化的数值函数,以便进行最优逼近,例如梯度下降。

基本上来说:

yt=+1:loss值要更小yt=-1:loss值要相对更大损失函数的总体目的是在整个比赛中(所有的t轮次)之后,总体的损失最小,所以这是一个符合贪婪模式的迭代式优化算法。

得到了损失函数的形式和计算方法之后,通过梯度下降对权重参数进行更新。

可以看到,人工的反馈相当于加入了一种梯度方向,在原始UnsupervisedDectionalgorithm的基础上,强行“影响”了训练过程中参数的调整方向,最终得到的模型参数是“数据+人经验”综合影响的结果。这可以理解为是一种加入了先验知识的模型训练。

程序对一个数据集同时进行了IF和FBIF过程,注意,最好运行1024次以上,比较容易看出数据趋势。运行结束后可以得到两个不同的文件:

我们先对两个文件进行unique处理,结果如下:

#IF过程1024->230:压缩率=77.5%#FBIF过程1024->138:压缩率=86.7%压缩率越低,意味着预测结果的概率分布越分散,即不集中。

这个结果可以这么理解,IF是基于随机过程进行特征选择和切分阈值选择的,随机性很高,不容易收敛。

而FBIF因为加入了feedback的拟合过程,随着梯度下降的训练,模型逐渐向feedback的梯度方向拟合,因此收敛速度更快。

再来看IF和FBIF的平均反馈值:

Avg:Baseline->2.31934Feedback->6.70898可以看到,FBIF比IF的平均异常反馈要高很多,这意味着,FBIF算法产出的异常值,更有可能是业务场景中关心的异常点(也即和label更靠近)。

再来看最后一次预测结果的召回对比:

#FBIF1024,1,2,3,4,5,6,6,7,8,9#IF1024,1,2,2,2,2,2,2,2,2,3FBIF的召回率已经比开始时有很大提升,而IF依然和初始时没有太多变化。

从这里也看出,IF算法不需要迭代运行多次,一次运行和多次运行的结果没有太多区别。

笔者在项目中,feedback不断迭代之后,整个模型中线性部分w的影响力会逐渐占统治地位,最终整个模型会逐渐和专家经验过拟合。

尤其是在原来概率分布灰色地带的样本点,模型会趋向不告警。

这样导致的效果是,整体模型的误报确实少了,模型可能可以上线了,但是漏报的潜在风险也大了,要用别的新的泛化方法来发现可能的漏报。

通过构建工作流,可以不断进行迭代feedback训练,并最终得到拟合于专家经验的FBIF模型。

THE END
1.主动学习(ActiveLearning)其基本思想是:如果允许机器学习算法选择它想要学习的数据,它可以在使用更少的训练标签的同时实现更高的精度。这种算法被称为主动学习器(active learner)。在训练过程中,主动学习器可以动态地提出查询,通常是以未标记数据样本的形式,由oracle(通常是人工标注员)进行标记。https://blog.csdn.net/qq_46450354/article/details/130167529
2.MachineLearning主动学习(AL)腾讯云开发者社区主动学习算法作为构造有效训练集的方法,其目标是通过迭代抽样,寻找有利于提升分类效果的样本,进而减少分类训练集的大小,在有限的时间和资源的前提下,提高分类算法的效率。主动学习已成为模式识别、机器学习和数据挖掘领域的研究热点问题。介绍了主动学习的基本思想,一些最新研究成果及其算法分析,并提出和分析了有待进一步研https://www.cloud.tencent.com/developer/article/1085463
3.算法干货主动学习算法学习笔记机器学习模型的更新:通过增量学习或者重新学习的方式更新模型,从而将人工标注的数据融入机器学习模型中,提升模型效果。 二、主动学习算法 通过图1主动学习流程发现,查询策略(Query Strategy Frameworks)是主动学习的核心之处,通常可以选择以下几种查询策略: 不确定性采样的查询(Uncertainty Sampling); https://developer.aliyun.com/article/1177917
4.主动学习算法综述摘要: 主动学习算法作为构造有效训练集的方法,其目标是通过迭代抽样,寻找有利于提升分类效果的样本,进而减少分类训练集的大小,在有限的时间和资源的前提下,提高分类算法的效率.主动学习已成为模式识别、机器学习和数据挖掘领域的研究热点问题.介绍了主动学习的基本思想,一些最新研究成果及其算法分析,并提出和分析了有待进https://d.wanfangdata.com.cn/periodical/jsjgcyyy201234001
5.小样本学习及其在美团嘲中的应用一个数据人的自留地2.5 主动学习 Active Learning(主动学习)通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精确度。模型抛出的未标注数据为“Hard Sample”,对于“Hard Sample”的不同定义可以衍生出一大堆的方法,如可以是Ambiguous Sample,即模型最难区分的样本;可以是对模型提升https://www.shangyexinzhi.com/article/4900642.html
6.科学网—[转载]强化学习在资源优化领域的应用基于这种行业趋势,本文针对强化学习算法在资源优化领域的应用展开调研,帮助读者了解该领域最新的进展,学习如何利用数据驱动的方式解决资源优化问题。鉴于资源优化问题场景众多、设定繁杂,划分出3类应用广泛的资源优化问题,即资源平衡问题、资源分配问题、装箱问题,集中进行调研。在每个领域阐述问题的特性,并根据具体的问题特性https://blog.sciencenet.cn/blog-3472670-1312677.html
7.《光谱学与光谱分析》2022年,第42卷,第01期最后基于随机森林(RF)和极限学习机(ELM)建立了矽卡岩型矿石金属铁品位的定量反演模型,以决定系数(R2)、均方根误差(RMSE)和平均相对误差(MRE)三个指标分别对模型的稳定性、精确度、可信度进行评价。结果表明,经MSC处理及PCA降维后的数据基于ELM算法建立的定量反演模型效果最优,其R2可达0.99、RMSE为0.005 7、MRE为http://www.sinospectroscopy.org.cn/readnews.php?nid=96845
8.揭秘AI诈骗的矛与盾!AI反网络诈骗白皮书出炉附下载智东西基于机器学习算法的电信网络诈骗防范治理技术应用可以分为分类和聚类两种应用形式。分类算法通过已知的诈骗样本、案例数据进行模型训练,在此基础上对新的行为事件进行涉诈风险分析预测。聚类算法通过全局分析和高维空间聚类,在无诈骗样本数据的情况下找出数据中隐含的共同特征,从而完成大规模关联诈骗团伙的自动发现。 https://www.zhidx.com/p/187581.html
9.招人啦!快来pick你心仪的职位吧~澎湃号·政务澎湃新闻6、良好的英文读写和表达能力;具备强烈的责任心与良好的团队合作精神及学习能力,工作积极主动、踏实认真,能够承受一定工作压力。 薪资范围:20000-30000元/月 算法资深工程师 岗位职责: 1、负责光谱分析相关算法的研究和应用,根据项目需求进行系统建模方法研究; https://www.thepaper.cn/newsDetail_forward_27165995
10.8加几教案设计(通用12篇)2、在观察、交流、比较中的活动中,理解并会运用“交换加数位置,和不变”的计算规律,体会算法多样化。 3、在学习中不断获得自信心,能主动参与数学活动。 学情分析 学生在前面的学习中已经掌握了一些计算方法,如点数、接着数、利用数的组成计算,和“凑十法”等,其中“凑十法”是进位加法中常用的计算方法,它具有https://www.unjs.com/jiaoan/shuxue/xiaoxue/20080121111738_56011.html
11.2022年度陕西省重点研发计划项目申报指南目录研究无标注或少样本下深度特征弱监督预学习模型和方法,解决影像数据的结构化标注数据的自动生成问题;研究结合迁移学习与主动学习的增量学习方法,解决实体目标增量标注问题。研制半监督、弱监督/无监督学习算法支持下的集数据收集、数据处理和智能化标注为一体的标注云平台,建立高效通用的数据标签与结构化的标注数据库。http://www.kt180.com/html/sxs/9889.html
12.三年级数学上册的教学反思(精选5篇)《可能性》是义务教育课程标准实验教科书小学数学三年级上册第八单元内容,通过解决简单实际问题,体会数学与生活的密切联系,感受学习数学的乐趣。在教学中,我注意让学生在游戏活动中,通过观察、操作、交流、反思等学习活动,调动兴趣主动学习。 一、教学导入以游戏化、生活化的形式调动起学生的积极性,引导学生体验知识的形https://www.ruiwen.com/jiaoxuefansi/2250463.html
13.76强化学习基础算法及实践强化学习介绍与示例机器学习通常被划分为 4 个大分支,分别是:监督学习、非监督学习、半监督学习以及强化学习。本次课程中,我们将对强化学习的概念进行介绍并完成算法应用实践。由于课程涉及内容难度较高,需要你已经基础的机器学习知识。 强化学习强调如何基于环境而行动,以取得最大化的预期利益。强化学习是一门正在快速发展的分支学科,许https://www.jianshu.com/p/6631d7f8db15
14.元宇宙系列之AI+数字孪生:视觉筑基,三维重建+动捕技术为翼实现路径:深度学习与传统路线实现互补,分别从宏观和微观连接物理世界和数字世界:1)三维重建领域,CNN(卷积神经网络)能从数据标注和修复、算法的优化等多方面对模型质量进行优化,解决传统方法精度和算力不足的问题,商汤等科技企业正在基于AI的三维重建领域探索商业化应用;2)动作捕捉领域,传统动作捕捉方法在电影、游戏制作等https://research.cicc.com/frontend/recommend/detail?id=3312
15.人脸检测中AdaBoost算法详解C语言人们为了让计算机看到这个世界并主动从这个世界寻找信息,发展了机器视觉;为了让计算机自主处理和判断所得到的信息,发展了人工智能科学。人们梦想,终有一天,人机之间的交流可以像人与人之间的交流一样畅通和友好。 而这些技术实现的基础是在人脸检测上实现的,下面是我通过学习基于 AdaBoost 算法的人脸检测,赵楠的论文的https://www.jb51.net/article/132556.htm