‘壹’ 什么是BP神经网络
BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差作为调整信号逐层反向回传,对神经元之间的连接权矩阵做出处理,使误差减小。经反复学习,最终使误差减小到可接受的范围。具体步骤如下:
1、从训练集中取出某一样本,把信息输入网络中。
2、通过各节点间的连接情况正向逐层处理后,得到神经网络的实际输出。
3、计算网络实际输出与期望输出的误差。
4、将误差逐层反向回传至之前各层,并按一定原则将误差信号加载到连接权值上,使整个神经网络的连接权值向误差减小的方向转化。
5、対训练集中每一个输入—输出样本对重复以上步骤,直到整个训练样本集的误差减小到符合要求为止。
‘贰’ 入侵检测技术基础的异常检测技术
●概率统计异常检测
原理:每一个轮廓保存记录主体当前行为,并定时将当前轮廓与历史轮廓合并形成统计轮廓(更新),通过比较当前轮廓与统计轮廓来判定异常行为。
优点:可应用成熟的概率统计理论
缺点:①由于用户行为的复杂性,要想准确地匹配一个用户的历史行为非常困难,容易造成系统误报和漏报;
②定义入侵阈值比较困难,阈值高则误报率提高,阈值低则漏报率增高。
●神经网络异常检测
原理:对下一事件的预测错误率在一定程度上反映了用户行为的异常程度。
优点:①更好地表达了变量间的非线性关系,能更好地处理原始数据的随机特征,即不需要对这些数据做任何统计假设,并且能自动学习和更新;②有较好的抗干扰能力
缺点:网络拓扑结构以及各元素的权重很难确定
‘叁’ 异常检测有哪些主要的分析方法
1. 概率统计方法
在基于异常锋姿检测技术的IDS中应用最早也是最多的一种方法。
首先要对系统或用户的行为按照一定的时间间隔进行采样,样本的内容包括每个会话的登录、退出情况,CPU和内存的占用情况,硬盘等存储介质的使用情况等。
将每次采集到的样本进行计算,得出一系列的参数变量对这些行为进行描述,从而产生行为轮廓,将每次采样后得到的行为轮廓与已有轮廓进行合并,最终得到系统和用户的正常行为轮廓。IDS通过将当前采集到的行为轮廓与正常行为轮廓相比较,来检测是否存在网络入侵行为。
2. 预测模式生成法
假设条件是事件序列不是随机的而是遵循可辨别的模式。这种检测方法的特点是考虑了事件的序列及其相互联系,利用时间规则识别用户行为正常模式的特征。通过归纳学习产生这些规则集,并能动态地修改系统中的这些规则,使之具有较高的预测性、准确性。如果规则在大部分时间是正确的,并能够成功地运用预测所观察到的数据,那么规则就具有高可信度。
3. 神经网络方法
基本思想是用一系列信息单元(命令)训练神经单元,这样在给定一组输入后、就可能预测出输出。与统计理论相比,神经网络更好地表达了变量间的非线性关系,并且能自睁基兆动学习并更新。悉租实验表明UNIX系统管理员的行为几乎全是可以预测的,对于一般用户,不可预测的行为也只占了很少的一部分。
‘肆’ 人工神经网络可以解决什么行业问题,怎么解决,有什么效果
人工神经网络可以应用在许多行业,解决各种问题,主要包括:
1. 图像识别:人工神经网络可以用于图像分类、目标检测、语义分割等,广泛应用于自动驾驶、医疗图像举明分析、人脸识别等领域。利用深度学习算法可以实现高精度的图像闷宴识别。
2. 自然语言处理:人工神经网络可用于机器翻译、文本分类、情感分析、语义理解等,应用于聊天机器人、搜索引擎等。采用深度学习方法可以实现上下文理解和词义消歧。
3.预测与决策:人工神经网络可以用于股票预测、商品销量预测、疾病预测、推荐系统等,帮助企业进行数据分析与决策。
4.异常检测:人工神经网络可用于欺诈检测、网络入侵检测、工业质量检测等,通过模型学习大量样本,可以高效识别异常数据。
5.控制与优化:人工神经网络可用于无人车控制、工厂自动化控制、能源供需预测与优化等,实现复杂问题的控制与优化。
人工神经网络主要通过深度学习算法来训练神经网络模型,可以自动学习特征和模式,对样本进行分类或预测。相比传统算法,人工神经网络可以实现更高精度的识别与决策,广泛应用于各行业,获取很好的效果。许多企业已经在关键业务流程中集成人工神经网络,提高生产力与产品体验。
总的来说,人工正罩告神经网络是一个强大的机器学习工具,可以帮助企业利用海量数据进行自动化分类、预测与决策,从而优化运营效率,提高产品智能,取得竞争优势。人工神经网络正在改变许多行业的未来,带来巨大的技术和商业影响。
希望以上解释可以概括人工神经网络在各行业的应用与效果。
‘伍’ 图神经网络是大数据时代发展的必然(原创)
大数据的核心是数据智能。数据智能的本质是在大量样本中发现、评估若干概念之间的关联性,归纳形成数学表达,再利用数学表达进行推理运算,从而完成对未知样本的判断决策。这就需要发现海量数据背后的规律,解决数据表征问题。数据智能先后经历了专家系统、传统机器学习和神经网络三个阶段,输入的知识从具体到抽象,从规则到特征再到模式,越来越宏观,智能化处理效率越来越高,对底层的感知和模型的可解释性越来越弱化。随着专家系统逐渐淡出,传统机器学习和神经网络成为数据智能的两大常见技术。实践证明,随着数据集样本的增多,传统机器学习的性能不及神经网络(见图一)。这主要归结于前者的表达能力不如后者。Goodfellow在2013年ICML(国际机器学习大会)上发表了论文《MaxoutNetworks》(最大输出网络)。在这篇论文中证明了MaxoutNetworks能够无限逼近任意连续函数。也即是说,神经网络能够拟合任意连续函数,与传统机器学习相比,神经网络具有突出的表达能力优势。
(上图):横轴代表数据量,纵轴代表算法精度
我们看到几个纯余趋势:行业数据量指数级增长、以GPU为代表的专业芯片算力增长、新型算法层出不穷、学术界的前沿研究、投资界的资金投入、工商业的多种场景,这些因素都促进了神经网络快速发展。神经网络的发展形态有两种方向:一是以DNN深度全连接和CNN卷积神经网络为代表的纵向发展,即层数增多的纵向迭代,典型应用是CV计算机视觉;二是以RNN循环神经网络为代表的横向发展,即神经元之间的横向迭代,典型应用是以NLP自然语言理解为代表的序列处理。神经网络技术同时呈现两种发展形态,并在多个领域有广泛应用,就说明这个技术已经进入成熟期了。下一步往哪个方向发展?很有可能是:将纵向发展和横向发展进行结合,渗透到更多的应用领域。这看似顺水推舟的事情。事实证明,这个判断是正确的,图神经网络就是二者的结合。
纵观技术圈的发展历史,可以总结出这样的事实:一个理论技术能否在更多的领域推广,关键取决于它能否真实地刻画现实世界的实体特征和关系。如果它刻画得越真实,那么它的应用场景就越多。比如马尔科夫链这个理论,就真实地刻画了现实世界中的时序对象的特征和依赖关系,因此它广泛应用在语音理解、机器翻译、国民经济、事件预测等领域;再如概唯裤森率图理论,用图来表示事件概率的依存关系,也是真实刻画了现实世界中的实体关系,因此它也广泛应用在反欺诈、图像理解、事件预测等领域。从方法论看,要刻画现实世界的实体,就必须在模型中置入代表这个实体的节点,并且设计出实体之间的依赖关系转化。但无论是马尔科夫链还是概率图等方法,都弱化了嵌入表示,从而丢失了一些隐语义信息,是有缺憾的。
图神经网络(GraphNeural Networks,GNN)的问世,使事情出现了转机。在图神经网络中,存在两种网络。一种是拓扑结构网络,通常描述众多实体及其关系;另一种是特征变换神经网络,通常用于节点、边、图或子图的特征转化。前者完成信息横向传播,实现图信号的拓扑关系传递,理论依据是图论;后者完成信息纵向传播,实现原始特征向嵌入表示的转化,理论依据是深度学习。图神经网络是图论与深度学习的完美结合,它既考虑了实体关系,又考虑了实体特征。与传统图方法和传统深度学习相比,图神经网络具有明显的优势:建模来源数据更充分,更能反映现实世界中实体之间的真实关系,它既能从图结构代表的非欧式空间数据中学习到语义表示,又能让学习到的语义表示最大限度地符合图结构的实体关系。
现实世界中80%以上的数据更适合用图结构来刻画,比如交通数据、社交数据、分子结构数据、行业经济数据等。图神经网络能适应这样的数据,在分布式学习架构下,图神经网络能处理的数据规模非常庞大,非常适合处理数亿节点的产业数据。因此图神经网络的应用场景更为广泛。近三年来,各种国际顶会关于图神经网络的论文频频发布,众多互联网科技公司(如阿里、网络、字节跳动)花重金在这一领域布局,并取得重大进展,广泛应用于关联搜索、实时推荐、风险防控、异常检测、行为预测、模式识别等。这些现象无疑说明了图神经网络是未来技术发展的重要领域方向。
综上所述,在行业数据、算法理论、算力支持、市场需求、资本涌入等背景下,图神经网络的指亩迅速崛起是大数据时代发展的必然。
‘陆’ 大数据科学家需要掌握的几种异常值检测方法
引言
异常值检测与告警一直是工业界非常关注的问题,自动准确地检测出系统的异常值,不仅可以节约大量的人力物力,还能尽早发现系统的异常情况,挽回不必要的损失。个推也非常重视大数据中的异常值检测,例如在运维部门的流量管理业务中,个推很早便展开了对异常值检测的实践,也因此积累了较为丰富的经验。本文将从以下几个方面介绍异常值检测。
1、异常值检测研究背景
2、异常值检测方法原理
3、异常值检测应用实践
异常值检测研究背景
异常值,故名思议就是不同于正常值的值。 在数学上,可以用离群点来表述,这样便可以将异常值检测问题转化为数学问题来求解。
异常值检测在很多场景都有广泛的应用,比如:
1、流量监测
互联网上某些服务器的访问量,可能具有周期性或趋势性:一般情况下都是相对平稳的,但是当受到某些黑客攻击后,其访问量可能发生显着的变化,及早发现这些异常变化对企业而言有着很好的预防告警作用。
2、金融风控
正常账户中,用户的转账行为一般属于低频事件,但在某些金融诈骗案中,一些嫌犯的账户就可能会出现高频的转账行为,异常检测系统如果能发现这些异常行为,及时采取相关措施,则会规避不少损失。
3、机器故障检测
一个运行中的流水线,可能会装有不同的传感器用来监测运行中的机器,这些传感器数据就反应了机器运行的状态,这些实时的监测数据具有数据量大、维度广的特点,用人工盯着看的话成本会非常高,高效的自动异常检测算法将能很好地解决这一问题。
异常值检测方法原理
本文主要将异常值检测方法分为两大类:一类是基于统计的异常值检测,另一类是基于模型的异常值检测。
基于统计的方法
基于模型的方法
1、基于统计的异常值检测方法
常见的基于统计的异常值检测方法有以下2种,一种是基于3σ法则,一种是基于箱体图。
3σ法则
箱体图
3σ法则是指在样本服从正态分布时,一般可认为小于μ-3σ或者大于μ+3σ的样本值为异常样本,其中μ为样本均值,σ为样本标准差。在实际使用中,我们虽然不知道样本的真实分布,但只要真实分布与正太分布相差不是太大,该经验法则在大部分情况下便是适用的。
箱体图也是一种比较常见的异常值检测方法,一般取所有样本的25%分位点Q1和75%分位点Q3,两者之间的距离为箱体的长度IQR,可认为小于Q1-1.5IQR或者大于Q3+1.5IQR的样本值为异常样本。
基于统计的异常检测往往具有计算简单、有坚实的统计学基础等特点,但缺点也非常明显,例如需要大量的样本数据进行统计,难以对高维样本数据进行异常值检测等。
2、基于模型的异常值检测
通常可将异常值检测看作是一个二分类问题,即将所有样本分为正常样本和异常样本,但这和常规的二分类问题又有所区别,常规的二分类一般要求正负样本是均衡的,如果正负样本不均匀的话,训练结果往往会不太好。但在异常值检测问题中,往往面临着正(正常值)负(异常值)样本不均匀的问题,异常值通常比正常值要少得多,因此需要对常规的二分类模型做一些改进。
基于模型的异常值检测一般可分为有监督模型异常值检测和无监督模型异常值检测,比较典型的有监督模型如oneclassSVM、基于神经网络的自编码器等。 oneclassSVM就是在经典的SVM基础上改进而来,它用一个超球面替代了超平面,超球面以内的值为正常值,超球面以外的值为异常值。
经典的SVM
1
基于模型的方法
2
基于神经网络的自编码器结构如下图所示。
自编码器(AE)
将正常样本用于模型训练,输入与输出之间的损失函数可采用常见的均方误差,因此检测过程中,当正常样本输入时,均方误差会较小,当异常样本输入时,均方误差会较大,设置合适的阈值便可将异常样本检测出来。但该方法也有缺点,就是对于训练样本比较相近的正常样本判别较好,但若正常样本与训练样本相差较大,则可能会导致模型误判。
无监督模型的异常值检测是异常值检测中的主流方法,因为异常值的标注成本往往较高,另外异常值的产生往往无法预料,因此有些异常值可能在过去的样本中根本没有出现过, 这将导致某些异常样本无法标注,这也是有监督模型的局限性所在。 较为常见的无监督异常值检测模型有密度聚类(DBSCAN)、IsolationForest(IF)、RadomCutForest(RCF)等,其中DBSCAN是一种典型的无监督聚类方法,对某些类型的异常值检测也能起到不错的效果。该算法原理网上资料较多,本文不作详细介绍。
IF算法最早由南京大学人工智能学院院长周志华的团队提出,是一种非常高效的异常值检测方法,该方法不需要对样本数据做任何先验的假设,只需基于这样一个事实——异常值只是少数,并且它们具有与正常值非常不同的属性值。与随机森林由大量决策树组成一样,IsolationForest也由大量的树组成。IsolationForest中的树叫isolation tree,简称iTree。iTree树和决策树不太一样,其构建过程也比决策树简单,因为其中就是一个完全随机的过程。
假设数据集有N条数据,构建一颗iTree时,从N条数据中均匀抽样(一般是无放回抽样)出n个样本出来,作为这颗树的训练样本。
在样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的划分到节点的左边,大于等于该值的划分到节点的右边。
这样得到了一个分裂条件和左、右两边的数据集,然后分别在左右两边的数据集上重复上面的过程,直至达到终止条件。 终止条件有两个,一个是数据本身不可再分(只包括一个样本,或者全部样本相同),另外一个是树的高度达到log2(n)。 不同于决策树,iTree在算法里面已经限制了树的高度。不限制虽然也可行,但出于效率考虑,算法一般要求高度达到log2(n)深度即可。
把所有的iTree树构建好了,就可以对测试数据进行预测了。预测的过程就是把测试数据在iTree树上沿对应的条件分支往下走,直到达到叶子节点,并记录这过程中经过的路径长度h(x),即从根节点,穿过中间的节点,最后到达叶子节点,所走过的边的数量(path length)。最后,将h(x)带入公式,其中E(.)表示计算期望,c(n)表示当样本数量为n时,路径长度的平均值,从而便可计算出每条待测数据的异常分数s(Anomaly Score)。异常分数s具有如下性质:
1)如果分数s越接近1,则该样本是异常值的可能性越高;
2)如果分数s越接近0,则该样本是正常值的可能性越高;
RCF算法与IF算法思想上是比较类似的,前者可以看成是在IF算法上做了一些改进。针对IF算法中没有考虑到的时间序列因素,RCF算法考虑了该因素,并且在数据样本采样策略上作出了一些改进,使得异常值检测相对IF算法变得更加准确和高效,并能更好地应用于流式数据检测。
IF算法
RCF算法
上图展示了IF算法和RCF算法对于异常值检测的异同。我们可以看出原始数据中有两个突变异常数据值,对于后一个较大的突变异常值,IF算法和RCF算法都检测了出来,但对于前一个较小的突变异常值,IF算法没有检测出来,而RCF算法依然检测了出来,这意味着RCF有更好的异常值检测性能。
异常值检测应用实践
理论还需结合实践,下面我们将以某应用从2016.08.16至2019.09.21的日活变化情况为例,对异常值检测的实际应用场景予以介绍:
从上图中可以看出该应用的日活存在着一些显着的异常值(比如红色圆圈部分),这些异常值可能由于活动促销或者更新迭代出现bug导致日活出现了比较明显的波动。下面分别用基于统计的方法和基于模型的方法对该日活序列数据进行异常值检测。
基于3σ法则(基于统计)
RCF算法(基于模型)
从图中可以看出,对于较大的突变异常值,3σ法则和RCF算法都能较好地检测出来, 但对于较小的突变异常值,RCF算法则要表现得更好。
总结
上文为大家讲解了异常值检测的方法原理以及应用实践。综合来看,异常值检测算法多种多样 ,每一种都有自己的优缺点和适用范围,很难直接判断哪一种异常检测算法是最佳的, 具体在实战中,我们需要根据自身业务的特点,比如对计算量的要求、对异常值的容忍度等,选择合适的异常值检测算法。
接下来,个推也会结合自身实践,在大数据异常检测方面不断深耕,继续优化算法模型在不同业务场景中的性能,持续为开发者们分享前沿的理念与最新的实践方案。