基于半监督学习的P2P协议识别
- 格式:pdf
- 大小:125.29 KB
- 文档页数:4
基于半监督学习的目标检测与识别技术研究近年来,随着计算机技术的迅速发展,机器学习技术在图像识别、目标检测等领域有了广泛的应用。
然而,传统的监督学习方法需要大量的标注数据,人工标注数据的成本较高,同时也限制了其应用范围。
为解决这一问题,半监督学习技术被提出,并在目标检测与识别技术中得到了广泛的应用。
半监督学习技术,是介于无监督学习和监督学习之间的一种学习方法。
它的主要特点是在部分数据有标注的情况下,对未标注的数据进行学习,从而达到训练模型的目的。
在目标检测与识别技术中,半监督学习技术不仅可以提高学习效率,减少标注数据的成本,还可以充分利用未标注数据中的信息,提高模型的泛化性能。
基于半监督学习的目标检测与识别技术研究,主要涉及以下几个方面:1、半监督学习算法半监督学习算法是基于半监督学习基础理论的数学方法和模型。
常见的半监督学习算法包括基于图的半监督学习算法、半监督聚类算法、半监督支持向量机算法等。
在目标检测与识别技术中,采用半监督学习算法可以让模型充分利用未标注数据,提高模型的准确率和泛化能力。
2、半监督目标检测半监督目标检测,是一种在部分训练数据有标注的情况下,利用未标注数据的信息,对目标进行检测和定位的方法。
在半监督目标检测中,常用的算法包括基于生成对抗网络的半监督目标检测算法和基于自学习的半监督目标检测算法。
3、半监督目标识别半监督目标识别,是在部分训练数据有标注的情况下,利用未标注数据的信息,对目标进行分类的一种方法。
不同于监督学习,半监督目标识别可以充分利用未标注数据,提高模型的分类准确率和泛化能力。
在半监督目标识别中,常用的算法包括基于半监督深度学习的目标识别算法和基于半监督聚类的目标识别算法。
4、应用场景半监督学习技术在目标检测与识别技术中的应用场景较为广泛。
例如在视频监控领域中,利用半监督目标检测技术可以减少监控区域,提高监控效率;在自动驾驶领域中,利用半监督目标识别技术可以提高车辆的智能驾驶能力;在医学图像处理领域中,利用半监督学习技术可以较好的对医学图像进行分类和识别等。
基于半监督学习的命名实体识别的方法1. 引言1.1 介绍半监督学习的概念半监督学习是一种机器学习方法,其中模型在训练阶段并非只能利用有标签的数据,而是可以利用大量未标记的数据进行学习。
在传统的监督学习中,模型通常需要使用大量标记数据来训练,但是标记数据的获取通常是十分昂贵和耗时的。
而半监督学习则可以通过同时利用未标记数据和少量标记数据来提高模型的性能。
通过利用大量未标记数据,半监督学习可以帮助模型在更广泛的数据分布上进行学习,提高模型的泛化能力和鲁棒性。
半监督学习在命名实体识别中的应用也变得越来越重要。
命名实体识别是自然语言处理中的一个重要任务,其目标是从文本中识别并分类出命名实体,如人名、地名、组织名等。
在传统的监督学习中,命名实体识别通常需要大量标记数据来进行训练,但是标记数据往往难以获取。
基于半监督学习的命名实体识别方法则可以有效利用未标记数据,帮助模型在不需要大量标记数据的情况下取得更好的性能。
研究基于半监督学习的命名实体识别方法对于提高命名实体识别的效果和效率具有重要的意义。
1.2 介绍命名实体识别的重要性命名实体识别是自然语言处理领域的重要任务,其主要目标是识别文本中具有特定意义的实体,例如人名、地名、组织名等。
在信息检索、问答系统、机器翻译等领域中,命名实体识别起着至关重要的作用。
通过准确地识别文本中的命名实体,可以帮助计算机理解文本的含义,提高自然语言处理系统的性能。
命名实体是文本中的重要信息单元,其包含的信息往往是关键信息。
在新闻报道中,人们通常关注的是涉及到的人物、地点、组织等实体信息,通过识别这些命名实体可以更好地理解文本内容。
命名实体识别是信息抽取、信息检索等任务的基础。
在信息抽取任务中,需要从文本中提取特定类型的实体信息,命名实体识别是信息抽取过程中不可或缺的环节。
命名实体识别也对知识图谱构建和知识推理具有重要意义。
通过识别文本中的实体并将其与知识图谱中的实体进行对应,可以丰富知识图谱的内容,并支持更多的知识推理任务。
基于监督学习的半监督图像识别技术研究随着计算机技术的飞速发展,人们对于计算机视觉的研究也变得日益深入。
而图像识别技术,则是计算机视觉中不可或缺的一部分。
在许多实际应用中,我们需要对特定图像进行分类、识别或检测,而基于监督学习的图像识别技术便是其中的一种重要手段。
监督学习与半监督学习的区别在于前者需要标注大量的已知数据进行训练,而后者则可以利用少量已知数据与大量未知数据进行训练。
基于监督学习的图像识别技术,需要大量的已标注样本来训练模型,然而在实际应用中,获取大量标注数据并不容易。
半监督学习则是一种解决这一问题的方法。
半监督学习可以分为两种方法,一种是基于图的半监督学习,另一种是基于标签传播的半监督学习。
前者通过构建相似度图、流形图等方式,利用未标注数据之间的相似性来进行不同类别间的分离,后者则是通过利用已标注数据中的标签信息去推断未标注数据的类别。
在基于半监督学习的图像识别技术中,常用的算法有基于SVM的半监督学习算法、协同训练算法、联合降维分类算法等。
这些算法都可以通过利用未标注数据来提高模型预测的准确性。
其中,基于SVM的半监督学习算法将训练数据分成已标注和未标注数据两部分,通过利用未标注数据来扩展已标注数据,使得该算法可以在较小的标注数据量下达到比较高的准确率。
半监督学习算法的一大优点在于,它可以大幅度降低标注数据的数量,因此可以节省大量的时间与人力。
同时,该算法可以提高模型预测的准确性,因为利用未标注数据进行训练可以增加训练数据的数量,并且这些未标注数据中可能会包含更多与已标注数据相似的数据,因此可以提高模型的泛化能力。
当然,半监督学习算法也存在着一些限制,例如算法的稳定性、计算复杂度等问题。
因此,在实际应用中,需要根据具体问题选择合适的算法及参数。
综上所述,基于监督学习的图像识别技术具有广泛的应用前景,并且半监督学习算法可以通过利用未标注数据来提高模型预测的准确性。
虽然算法的选择和参数的调整存在一定的技巧性,但是这些技术依然有着广泛的应用前景。
基于半监督学习的行为识别算法研究摘要:近年来,行为识别在智能监控、人机交互和智能手机等领域发挥了重要作用。
然而,传统的监督学习方法往往需要大量标记好的数据,而这在实际应用中往往是难以获取的。
因此,本文研究了基于半监督学习的行为识别算法,以提高识别性能和减少标记样本的需求。
通过对相关领域的调研和分析,本文将半监督学习方法应用于行为识别任务,并设计出了一种有效的行为识别算法。
第一章引言1.1 研究背景和意义在人工智能的发展趋势下,行为识别成为了一个重要的研究领域。
它可以应用于智能监控、人机交互、智能家居等领域,为我们的生活和工作带来了极大的便利。
然而,传统的行为识别方法往往需要大量准确标记的样本数据,而这在实际应用中难以获取,限制了行为识别的发展。
因此,本文研究了基于半监督学习的行为识别算法,旨在提高识别性能和减少标记样本的需求。
1.2 国内外研究现状目前,关于行为识别的研究已经取得了一些进展。
传统的方法主要依赖于监督学习,但这就需要大量准确标记的样本数据。
为了解决这一问题,研究者们开始探索半监督学习方法。
半监督学习是一种介于监督学习和无监督学习之间的学习方法,它可以利用少量标记样本和大量未标记样本进行训练。
这为行为识别任务提供了新的思路和方法。
1.3 本文的研究内容和结构安排本文主要研究了基于半监督学习的行为识别算法,并将其应用于行为识别任务中。
首先,本文对行为识别相关领域进行了调研和分析,介绍了传统的行为识别方法和半监督学习方法的发展现状。
然后,本文提出了一种有效的基于半监督学习的行为识别算法,并在公开数据集上进行了实验。
最后,对实验结果进行了分析和讨论,并对未来可能的研究方向进行了展望。
第二章相关技术综述2.1 行为识别的研究现状行为识别是一种基于模式识别和机器学习的任务,其目标是通过分析和识别行为模式来判断和预测人类的行为。
传统的行为识别方法主要基于监督学习,但需要大量准确标记的样本数据。
近年来,研究者们开始关注半监督学习方法,并尝试将其应用于行为识别任务中。
基于半监督学习的分类与识别算法研究半监督学习是一种介于有监督学习和无监督学习之间的学习范式,它利用有标签和无标签的数据进行训练,以提高分类和识别的准确性。
在实际应用中,往往很难获得大量标注数据,因此半监督学习成为一种重要的学习方法。
本文将基于半监督学习的分类与识别算法进行研究。
一、基本概念半监督学习是指在训练样本中,只有一部分样本被标注,而另一部分样本没有标注。
与有标注样本相比,无标注样本的数量往往更多,因此利用无标注样本进行学习可以提高分类和识别的准确率。
在半监督学习中,通常使用的算法有两类:生成式模型和判别式模型。
生成式模型是指通过对已知标注样本的学习,建立对样本分布的估计模型,再利用无标注样本进行模型训练。
判别式模型则是直接利用已知标注样本学习分类或识别模型,再利用未标注样本进行优化。
二、基于图模型的半监督学习基于图模型的半监督学习是一种基于图的半监督学习方法。
它将无标注样本与已标注样本通过图的方式联系起来,在图结构中利用无标注样本对已标注样本进行标注。
其中,图中的节点表示样本,边表示样本之间的相似性。
图模型的构建可以基于不同的相似度度量方式,如欧式距离、余弦相似度和核函数等。
其主要思想是通过标注的节点来预测无标注节点的标签。
三、基于协同训练的半监督学习基于协同训练的半监督学习是一种基于模型集成的学习方法。
它利用一个模型对已知标注样本进行学习,再利用另一个模型对无标注样本进行学习。
其中,两个模型通过协同训练方式进行优化,以提高分类和识别的准确性。
协同训练的优势在于可以利用多个模型进行学习,从而减少过拟合的风险。
同时,在无标注样本数量较多的情况下,可以基于不同的模型对无标注样本进行分类和识别,以提高整个模型的性能。
四、基于深度学习的半监督学习基于深度学习的半监督学习是目前较为流行的半监督学习方法。
深度学习是一种利用深度神经网络进行学习的方法,它可以对图像、语言等数据进行无监督或半监督的学习,并取得了很好的效果。
基于半监督学习的命名实体识别的方法命名实体识别(Named Entity Recognition,NER)是自然语言处理中的一项基本任务,它的目标是找到文本中具有特定意义的实体,比如人名、地名、组织名等。
传统的NER方法通常采用监督学习的方法,需要大量手工标注的数据,但是这种方法缺乏标注数据,因此需要一种半监督学习的方法来解决这个问题。
基于半监督学习的NER方法通常采用标签传播算法(Label Propagation,LP)来训练模型。
LP算法基于图的思想,将未标注数据的标签通过已标注数据进行传播。
具体地讲,LP算法首先将已标注数据视为图上的节点,然后将未标注数据视为新的节点,根据它们之间的相似度建立链接。
接着,通过节点之间的传播,将已标注数据的标签传播到未标注数据上并进行预测。
实现半监督学习的NER方法需要注意以下几个问题:1. 特征提取:特征提取是命名实体识别的基础,它直接关系到模型的性能。
在半监督学习中,由于标注数据的不充足,需要采用更多的特征来提高模型的性能。
2. 标签传播:标签传播是半监督学习的核心,它的关键在于如何定义节点之间的相似度,以及如何进行标签传播。
一般来说,节点相似度可以通过文本相似度、语义相似度等进行计算。
标签传播的方法可以通过无监督学习或有监督学习进行实现。
3. 模型训练:模型训练的目标是最大化已标注数据的预测准确率,同时尽量保持未标注数据的标签一致性。
为了实现这一点,需要采用合适的损失函数和优化算法。
4. 模型评估:模型评估的指标需要考虑到已标注数据和未标注数据的预测准确率。
同时还需要考虑到标签传播的效果,以及模型的泛化能力。
总的来说,基于半监督学习的NER方法是一个有效的解决标注数据不充足问题的方法。
它利用未标注数据的信息,通过标签传播算法来增强模型的泛化能力。
但是,半监督学习仍然需要足够的已标注数据来建立基准模型,而且标记错误的影响可能会被无限放大,因此需要通过一些预处理和后处理的方法来控制标签传播的风险。
基于半监督学习的命名实体识别的方法半监督学习是一种利用标注样本和未标注样本相结合的学习方法。
在命名实体识别任务中,由于标注数据的成本昂贵,所以半监督学习可以更好地利用未标注数据来提高模型的性能。
本文将介绍基于半监督学习的命名实体识别方法,并探讨其在中文领域的应用。
1. 半监督学习的方法半监督学习主要有三种方法:基于自训练的方法、基于协同训练的方法和基于生成式模型的方法。
自训练方法是指利用标注数据训练一个初始模型,然后用该模型对未标注数据进行预测,将预测结果中置信度较高的样本作为新的标注样本,再更新模型进行训练。
这种方法需要一个初始的标注数据集和一个大量的未标注数据集,能够不断地利用未标注数据来提高模型的性能。
协同训练方法是指利用两个或多个独立的分类器,它们能够在未标记数据上做出预测。
然后,这些预测结果被用来训练其他分类器。
这种方法需要多个独立的分类器,通过不同的特征或者不同的视图对数据进行训练,能够更好地利用未标注数据来提高模型的性能。
生成式模型方法是指使用生成模型来对数据进行建模,例如朴素贝叶斯模型、隐马尔科夫模型等。
生成式模型能够更好地利用未标注数据的统计信息,对数据进行建模。
通过对未标注数据进行建模,能够在标注数据有限的情况下提高模型的性能。
(1)利用标注数据训练初始模型。
使用少量的标注数据来训练一个初始的模型,该模型能够对命名实体进行识别。
(2)利用未标注数据进行扩充。
然后,使用训练好的初始模型对大量的未标注数据进行预测,得到预测的结果。
(3)筛选置信度较高的未标注数据。
根据模型的预测结果,挑选置信度较高的未标注数据,并将其作为扩充的标注数据。
(4)更新模型进行训练。
将扩充的标注数据加入到原有的标注数据中,然后使用增加了未标注数据的标注数据重新训练模型。
(5)重复迭代训练。
不断地重复上述步骤,直到模型的性能收敛或达到满意的水平。
基于半监督学习的命名实体识别方法在中文领域的应用也已经取得了一定的成果。
《基于半监督行人重识别算法的环境违法者跨镜识别技术研究》一、引言在智能监控系统中,对环境违法者的识别与追踪是一个重要而复杂的任务。
随着计算机视觉技术的不断发展,行人重识别技术逐渐成为研究的热点。
然而,由于环境复杂多变,违法者行为多样且具有隐匿性,传统的行人重识别方法往往难以满足实际需求。
因此,本文提出了一种基于半监督行人重识别算法的环境违法者跨镜识别技术,旨在提高违法者识别的准确性和效率。
二、半监督行人重识别算法概述半监督行人重识别算法是一种结合了有监督学习和无监督学习的方法。
该方法利用已标注的行人图像数据进行有监督学习,提取行人的特征;同时,通过无监督学习的方式,对大量未标注的行人图像进行聚类和分析,进一步优化行人特征的提取和表示。
该算法在处理复杂环境下的行人图像时,能够有效地提取行人的关键特征,提高识别的准确率。
三、环境违法者跨镜识别技术环境违法者跨镜识别技术是建立在半监督行人重识别算法基础之上的。
该技术首先通过半监督学习的方法,对监控视频中的行人进行特征提取和表示。
然后,利用跨镜识别的技术,将不同摄像头下的行人图像进行匹配和识别。
该技术能够有效地解决因摄像头视角、光照、遮挡等因素导致的行人图像变化问题,提高违法者识别的准确性和稳定性。
四、技术研究与实现1. 数据准备与处理:首先,收集大量包含环境违法者信息的监控视频数据,并进行预处理,包括图像增强、去噪、归一化等操作。
然后,利用半监督学习的思想,对数据进行标注和训练,提取行人的关键特征。
2. 特征提取与表示:采用深度学习的方法,如卷积神经网络(CNN)等,对行人图像进行特征提取和表示。
通过训练模型,使模型能够自动学习行人的关键特征,如衣着、体态、行为等。
3. 跨镜识别与匹配:利用行人重识别的技术,对不同摄像头下的行人图像进行匹配和识别。
通过计算行人图像之间的相似度,实现跨镜识别的目标。
同时,采用聚类分析的方法,对匹配结果进行优化和调整,进一步提高识别的准确性。
基于半监督学习的命名实体识别的方法命名实体识别(Named Entity Recognition,简称NER)是自然语言处理中的一个重要任务,其目的是识别文本中具有特定意义的实体,包括人名、地名、组织机构名、专业词汇等。
在过去的几年里,监督学习方法在NER领域获得了不错的成果,但受限于标注数据的稀缺性和成本,监督学习方法的应用受到了很大的限制。
半监督学习方法在文本分类等任务中已经取得了较好的效果,它结合了监督学习和无监督学习,可以从少量的标注数据中学习其它未标注数据的特征,并加以利用。
因此,半监督学习方法可以使我们更好地降低标注数据的需求量,并提高基于数据驱动的NER系统的效果。
半监督学习的方法包括“基于共现统计规则的半监督学习方法”和“基于标注传播的半监督学习方法”。
基于共现统计规则的半监督学习方法是指利用统计方法挖掘出潜在的命名实体特征,从而进行识别的方法。
具体而言,该方法首先通过文本预处理、分词等过程,对文本进行处理,然后针对待识别的文本,构建一些统计规则,如:1)如果一个词前面的词语是“某某公司”,那么该词很有可能是组织机构名;2)如果一个词后面的词语是“先生”,那么该词很有可能是人名等。
接着,对标注数据进行人工标注和挑选,作为训练集,通过学习训练集中的规则,利用统计方法对未标注数据进行分类,识别出命名实体。
基于标注传播的半监督学习方法则是利用标注数据中已知的实体信息,扩展到未标注数据中的方法。
该方法在数据中构建一个图形模型,并利用标注数据中的实体位置信息,从标注数据中一步步传播出去,直到整个数据集都被标注。
具体而言,该方法首先将标注数据转化为用1表示实体,用0表示非实体的二元向量。
接着,构建一个图形模型,该模型的节点表示数据中的单词或短语,边表示它们之间的关系,如相邻的单词或短语。
对于未标注数据中的单词或短语,通过对标注数据中的实体信息和该单词或短语的语言学信息进行权重分配,最后通过传播算法得到未标注数据中所有实体的标记。
《基于半监督行人重识别算法的环境违法者跨镜识别技术研究》一、引言随着科技的不断进步,社会治安管理面临着越来越多的挑战。
其中,环境违法者的识别与追踪成为了一个重要的问题。
传统的监控系统虽然能够记录违法者的行动轨迹,但在复杂的城市环境中,如何准确地识别出特定违法者并对其进行有效追踪仍然是一个难题。
本文将探讨基于半监督行人重识别算法的环境违法者跨镜识别技术,以期为解决这一问题提供新的思路和方法。
二、半监督行人重识别算法概述半监督行人重识别算法是一种利用少量标注数据和大量未标注数据进行训练的算法。
它通过学习行人的视觉特征,将不同视角、不同光照、不同背景下的行人图像进行匹配和识别。
该算法在行人重识别领域具有广泛的应用,可以有效地提高识别的准确性和效率。
三、环境违法者跨镜识别技术的挑战在复杂的环境中,违法者的跨镜识别面临诸多挑战。
首先,违法者的行为具有随机性和隐蔽性,使得监控系统难以捕捉到其完整的行动轨迹。
其次,监控系统中的摄像头分布不均,导致不同摄像头下的图像存在较大的差异,增加了识别的难度。
此外,监控系统中存在大量的数据,如何从这些数据中快速准确地识别出违法者也是一个难题。
四、基于半监督行人重识别算法的跨镜识别技术针对四、基于半监督行人重识别算法的跨镜识别技术针对环境违法者跨镜识别的挑战,基于半监督行人重识别算法的技术提供了一种有效的解决方案。
该技术利用半监督学习的方法,结合标注数据和大量未标注数据进行训练,从而提取出行人的视觉特征,实现跨镜识别。
1. 数据收集与预处理首先,需要收集大量的行人监控数据,包括正常行人和违法者的视频片段。
对这些数据进行预处理,如去噪、增强、标准化等操作,以便后续的特征提取和匹配。
2. 半监督学习在半监督学习过程中,算法利用少量标注数据学习行人的视觉特征,同时利用大量未标注数据进行自我训练。
通过这种方式,算法可以提取出更鲁棒、更具区分度的特征,提高识别的准确率。
3. 特征提取与匹配利用训练好的模型,提取出每个行人图像的特征。
谭炜,吴健:基于半监督学习的P2P 协议识别2009,30(2)2910引言互联网上的应用近年来取得了突飞猛进的发展,在给我们带来好处的同时也给网络的管理工作带来了很大的挑战。
以BT 为代表的P2P 下载软件流量占用了宽带接入的大量带宽,据统计已经超过了50%。
这造成了网络带宽的巨大消耗,甚至会引起网络拥塞,大大降低了网络性能,劣化了网络服务质量,妨碍了正常的网络业务的开展和关键应用的普及。
严重影响了用户使用正常的Web 、E-mail 以及视频点播等业务,因此,运营商、企业用户以及教育等行业的用户都有对这类流量进行限制的要求。
同时各种政治、经济、安全方面的问题也都需要能够对网络进行有效的控制,对网络用户的行为能够高效的进行管理。
各个企业学校对网络的管理也都有着各种不同需求,希望能够制定最适合自己的行为控制和流量控制策略,以防范和识别各种网络攻击和非法的网络行为,并给正常使用保证足够的网络带宽。
解决上述一系列问题离不开对网络中各种协议和应用的准确识别以及内容控制技术的完善发展,特别是针对对各类P2P 应用的准确识别和有效控制。
各种基于网络层应用层的协议识别和网络控制软件的出现,很大程度上满足了社会的需求,而软件的反侦测技术也是不断发展,协议识别变得越来越困难,特别是加密协议的出现更是让传统的协议识别方法遇到了极大的挑战。
如何有效解决这一难题是目前协议识别技术发展的热点问题。
1协议识别方法介绍1.1基于端口的协议识别端口识别法是根据TCP 数据包或UDP 数据包首部的源端口号或目的端口号识别一些常见业务的流量,如HTTP 、SMTP 、Telnet 、HTTPS 等。
最初的P2P 应用可通过端口号进行识别,如早期的Fasttrack 使用1214端口进行通讯,但是很快便出现了大量P2P 应用采用动态端口技术,甚至伪装成web 服务使用80端口。
因此基于端口的识别技术目前对P2P 协议的识别无能为力,仅仅只能作为一种辅助的识别手段。
1.2基于Payload 特征的协议识别通过对数据包Payload 部分进行解析,与事先分析好的协议库里面的各种协议特征进行匹配,符合某协议的特征便将连接识别为某协议。
基于Payload 特征分析的协议识别方法是目前最常用的协议识别技术,不断更新的协议库是这种识别方法保持高的识别准确率的必要条件,因此大量的工作在收稿日期:2008-03-03E-mail :tanweildd@网络与通信技术2922009,30(2)计算机工程与设计Computer Engineering and Design于对各种协议进行分析以建立相应的特征库。
目前常用的特征主要是特定位置出现特定字节,特定位置出现特定子串等与字符串相关的特征。
当各种P2P 应用开始使用加密协议的时候(如BitComet 、Emule 等)便无法识别。
1.3基于传输层特征的协议识别为了解决基于Payload 分析识别技术的缺陷,主要是P2P协议的识别,应用程序在传输层的行为特征成了研究的热点。
比如流量特征,IP 、Port 对,包长序列等等。
这里的特征跟Pay-load 的字串特征不同,都带有一定的模糊性,并且由于网络中不同应用会表现出各种不同类型的行为特征,因此很难找出通用并且识别准确率高的识别办法。
特别地,对于P2P 应用来说,一般的研究都是将其作为一个整体进行分析很少有对具体P2P 应用进行识别的研究。
1.4基于机器学习的识别方法基于机器学习的识别方法目前一般都是基于传输层的特征的,是将模糊的传输层特征运用到协议识别的一个途径,研究表明这种方法也能达到很高的识别准确率。
整个识别流程一般有两个部分:训练数据和建立分类器。
聚类和分类是目前运用最多的识别模型,很多研究工作都是基于这两种模型。
机器学习方法的训练过程代替了基于Payload 分析识别技术中的协议分析过程,对新协议的分析过程变得简洁,识别准确率和分类器的识别速度是目前基于机器学习类识别方法所研究的主要问题。
2基于半监督学习的P2P 应用识别机器学习理论不同于基于payload 特征分析的识别办法,处理的对象不是一个个packet 的payload 而是连接。
连接的定义:两台主机之间一系列包的交换。
每条连接用一个5元组表示(source address ,source port ,destination address ,destination port ,protocol )。
本文选取了基于半监督聚类的识别模型,整个实现过程充分考虑了系统的两个设计目标识别准确率和识别过程的效率。
整个系统的识别流程如图1所示,简要描述如下:连接的特征向量V 是聚类的点,其中包括标签的连接和未标签的连接。
标签的连接是已知应用的,针对具体应用收集的连接特征,未标签的连接则是从网络中获取的并不知道具体应用的连接特征。
训练与分类过程是这样的,首先收集大量未标签的连接数据和少量标签的连接数据聚类得到k 个类,其次对每个类进行标签,取中心点作为代表,最后的识别过程就是任意一条输入连接,在k 个类的代表中找到距离最近的一个点作为识别的结果。
由于本文主要关注机器学习理论在协议识别领域的应用以及识别系统的设计,因此关于机器学习相关理论的知识不做过多介绍,读者可以参考数据挖掘的相关资料。
下面就系统实现要解决的具体问题分别进行分析并给出解决方案。
2.1特征的选取本文主要目的是识别P2P 应用,因此特征的选取着重体现P2P 应用的各种特征。
应用的特征实际上就是应用所采用协议的特征,对协议特征的分析,有学者已经给出了很好的研究,就P2P 类协议的特征主要有以下3点:2.1.1P2P 协议通常伴随大量连接目前P2P 应用被广泛应用到了IM ,文件共享,流媒体等领域。
P2P 的一大优势就是速度快,而速度优势则是靠同一时间内大量连接协同工作来提供的。
P2P 里淡化了服务器的概念,因此任意两个结点之间都可以互相提供资源,提供服务。
短时间内某主机突增大量连接(不考虑服务器),必然增大了主机上正有P2P 应用运行的概率,这样具体到对应的一条连接为P2P 应用所产生的连接的可能性也增大。
2.1.2P2P 协议需要大量交互信息为了保证结点之间的正确通信,P2P 应用都必须维护自己的一个结点网络,无论其网络拓扑结构如何,采用什么样的结点组织方式,网络的维持必然需要有大量的交互信息。
例如Gnutella 协议,每个结点进入网络首先得发出大量Ping 包,根据收到的Pong 包再建立相应的连接,并且需要不停的发包以保证自己与整个Gnutella 网络的连接。
另外,对于资源共享性的P2P 应用来说,搜索资源信息也会需要大量的包交换来从网络中找到自己需要的资源。
这些交互信息在连接上表现出来的特征主要有两点:包的方向性和传输的脉冲特性。
包的方向性指一条连接里两台主机之间互相发送的Packet 的比例与传统连服务型连接的单向传输有着显著的区别,传输的脉冲特性则指Packet 传输的周期性特征,表现为一条连接数据传输速率的规律性波动。
2.1.3P2P 应用的包长特性P2P 应用的包长特性也是主要表现在两个方面首先连接初始的交互信息包长具有特定应用的定长信息,另外开始传输数据后在数据传输过程中必然也会体现各应用协议规定的数据包长特征。
尽管很多协议都有意模糊这一些特征,但是还是有迹可寻。
传输层包长特征在内核协议层很容易得到,是高效实现分类器非常合适的一个特征值。
对于一条TCP 或者UDP 连接来说,一个包的特征并不能很好体现协议的特征,模糊性和偶然性都会使数据产生一定的偏差,而一定Pac-ket 数目内的平均包则可以很好反映出特定应用所固有的协议特征。
通过以上对P2P 协议特征的分析,结合到具体的聚类模型中来看,聚类的对象是连接,有用的特征必须是能在连接上的表现出来的。
对一个5元组来说可选特征是非常多的,包长、包个数、包的方向性、包头的长度、连接的活跃程度、结点的行为特征、以及协议等等,有相关研究给出了近30个备选特征。
选取不同特征对聚类的结果将会有很大的影响,直接关系到协议识别器识别率的高低。
就特征选取的理论来说,当选取的特征互相之间独立的时候能得到更好的聚类效果,因此特征选取应该充分考虑各特征之间的内在联系和其所反图1协议识别流程连接聚类标签建树结果识别器连接谭炜,吴健:基于半监督学习的P2P协议识别2009,30(2)293映出的协议的本质属性,同时为了识别器的效率问题还必须考虑特征的获取与计算的复杂度因素。
除了解决选取什么特征外,选取多少特征也就是特征向量的维数的选择也是关系到聚类和识别效率的至关重要问题。
高的维数也就是特征数必然带来更好的聚类效果,而同时也带来了更高的计算复杂度。
经过特征的相关性分析以及综合考虑了实现的复杂度因素初步定下了5维特征向量:包方向、包平均长度、正向包平均长度。
包头平均长度、反向包payload 长(这里正向定义为一条连接里包数更多的传输方向)。
目前选取这些特征时采用的是贪心选择法,也就是针对不同特征组合做实验,然后根据最后的识别准确率确定识别准确率最高的组合为所选取的特征组合。
如何采用机器学习的方法并结合数据的归一化确定更好特征的权值矩阵是需要进一步解决的问题。
2.2聚类模型分析对连接进行聚类需要有好的样本空间,网络上充满着大量的各色应用,新应用层出不穷,取得所有应用的连接特征数据来模拟整个网络是非常困难甚至是不可能的,而获取未知应用的连接数据则是很容易获得。
就全监督的聚类和半监督的聚类的效果的对比有学者已经有过详细的论述参见文献[1],本文采取了半监督的聚类模型,也就是说聚类的训练数据是大量未标签数据和少量标签数据混合得到的。
未标签的数据能很好的模拟整个网络环境,获取简单,对识别率的提高也有积极的影响。
整个学习过程是基于半监督的聚类理论,采用什么聚类算法并不是很重要,因为聚类算法本身效果的提高对最后识别率的影响没有特征和整个识别模型的影响重要[1]。
为了实现的简单性本文选用了Simple K-Means作为聚类的算法,除去算法本身一些细节的过程外,有两个重要的细节将影响到最后聚类和识别的效果:2.2.1数据的归一化特征向量的归一化通过简单的缩放来完成,距离函数选用简单高效的欧拉距离,利于聚类算法和识别器的高效实现。
由前文可知本质上特征向量的归一化可以与特征的选取结合起来利用机器学习出一种更合理的归一化策略和特征权值矩阵来提高聚类和最后识别器的准确率,这是作者将进一步研究的方向。
2.2.2K值的选取K值的选取将影响到最后识别器的大小和识别准确率的高低。
容易知道当K越大时聚类出来的类越多,识别准确率势必会更高,可是K越大聚类必然更慢,识别器的识别速度也会更慢,选取K值则需要找到具体的平衡点。