基于聚类的日志分析技术综述与展望_梁晓雪
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 3) 发现任意形状聚类的能力 很多聚类算 法采用基于欧几里德距离的相似性度量方法, 这类 算法发现的聚类通常是些球状的、大小和密度相近 的类. 日志分析采用无指导的分类, 要求是任意形 状的聚类.
( 4) 输入参数对知识领域的弱依赖性 很多 聚类算法都要求用户输入一些参数, 例如聚类数、 结果的支持度及置信度等. 这些参数对聚类的结果 敏感又难确定, 使分析结果不易控制.
高维
低
数值 凸 状、球状
高
一般
中
任意
任意
低
高
中
数值
任意
低
一般
高
数值
任意
低
高
高 数值、分类 任意
低
高
时间复杂度 一般 高 低 低 高
抗干扰 高 高
一般 高
一般
11211 k- means 算法 指定 k 是算法的输入参 数, 代表该算法在数据集上分割并计算后输出的聚
类的数量. 数据集是由 n 个数据点组成的. 在初始
稳定; 人工干预较少; 需要确定的参数较少; 聚类的 结果较稳定.
选取初始聚类中心点现有的方法: 任意选择; 凭经验选取有代表性的点作为起始 聚类中心; 把全部样本分成 k 类, 计算各类均值作 为初始聚类中心以每个样本为中心, 通过给定半径 值划出球形区域, 选择密度最大的点为第 1 个初始 聚类中心, 然后再给定 1 个正数, 以这个正数为中 心距, 选择次大密度点, 依次类推选出 k 个初始聚 类中心; 由 k - 1 类聚类问题解出 k 类问题的代表 点. 将所有样本看成一个类, 他们的均值点为聚类 中心, 然后在离他最远的一个样本作为另一个初始 聚类中心, 依次类推, 由 k - 1 类的代表点和离他们 最远的一个样本点作为 k 类的初始聚类中心; 按最 大最小距离聚类法中寻找聚类中心的方法确定初 始聚类中心; 用扩展聚类中心的选取方法, 将点延 伸为线, 将某些特殊位置的干扰点归于正确的一类 中. ( 3) 提高算法的收敛速度 已有的方法从该 算法的时间复杂度进行考虑, 通过相似性准则来去 掉聚类中心的候选集. 同时还可以通过抽样进行聚 类分析提高收敛度, 这种方法降低了算法的时间复 杂度, 但是结果的准确性也差一些. 11212 k- means 算法性能分析 用错 误函数来
化时, 根据输入参数 k 随机性地从 n 个数据点{ i 1,
i 2, ,, in } 中找出 k 个原型{ W 1, W 2, ,, W k} . 因
此有 Wj = i m, j I { 1, 2, ,, k } , m I { 1, 2, ,, n } 聚类的质量是由错误函数( 1) 确定的:
k
聚类应用于日志分析是一个具有挑战性的领
域, 它对聚类算法提出了特别的要求[ 4, 7] . ( 1) 伸缩性 针对百万条的日志条目, 算法的
时间复杂度不能太高, 最好是多项式时间的算法. 值得注意的是, 当算法不能处理大数据量时, 抽样 也不是一个好的主意, 因为这样通常导致歪曲的结 果.
( 2) 处理非数值型字段的能力 聚类算法中 很多算法的相似性都是基于距离的, 由于日志条目 中数据类型的多样性, 如何度量日志条目之间的距 离也是应该去考虑的.
访问时间也相同时, 用户会话相似度为
2 Web 日志聚类相关技术
实际应用中, 针对 Web 日志数据的聚类主要 有用户聚类和页面聚类 2 种. 用户聚类针对用户的
会话进行分析, 根据用户访问动作寻找行为模式相 似的用户. 页面聚类针对浏览页面、停留时间进行
量化分析. 在进行聚类分析之前, 应当明确如何度
量距离以及如何确定算法的输入参数. 211 页面聚类相似度计算 在聚类分析中, 距离 与相似系数是聚类分析常用的分类统计量[ 15] . 对
阵. 系数矩阵反映网页间的相似程度, 是页面聚类 所依据的基础.
212 用户聚类相似度计算 用户会话是用户对
网站的一次访问过程中所请求的 URL 集合. 对用 户会话的聚类要考虑用户对页面的访问次数和浏
览时间, 文献[ 18] 提出了计算用户会话相似度公
式的雏形. 文献[ 19] 考虑访 问时间、网站结构 和 URL 3 个因素, 给出了计算公式
第 S1 期
梁晓雪等: 基于聚类的日志分析技 术综述与展望
53
选择聚类算法最先应该考虑的就是算法的准确性 和复杂度问题. 目前 k- means 算法已经用于文本 信息处理并且取得较好结果. 理由如下: 首先, kmeans 在孤立点[ 8] 情况 下鲁棒性好. 第二, 由 kmeans 方法发现的聚类与输入顺序 无关. 第三, 对 数据的平移与正交变换其结果不变. 文献[ 2] 通过
54
云南大学学报( 自然科学版)
第 31 卷
评价聚类质量, 当各簇之间区别明显且数据分布稠 密时是比较有效的; 当各簇的形状 和大小差别很 大, 为使错误函数值达到最小, 有可能出现将大的 簇分割的现象. 此外在运用错误函数评测聚类效果 时, 最佳聚类结果对应于目标函数的极值点, 由于 目标函数存在着许多局部极小点, 算法的每一步都 是沿着目标函数减小的方向进行, 若初始化落在一 个局部极小点附近, 就会造成算法在局部极小处收 敛. 因此, 初始聚类中心的随机选取可能陷入局部 最优解.
于有 p 个变量的样品来说, n 个样品可以视为 p 维 空间中的 n 个点, 用 dij 表示第i 个样品与第j 个样 品间的距离, 距离越小, 2 个样品越接近, 同样也可 以定义相似系数来反映距离.
在进行页面聚类分析时, 首先进行预处理将网
页内容表示为向量空间模型, 其相似性可采用余弦 距离、明氏距离、马氏距离来计算, 鉴于明氏距离适
Mkl = 其中,
nn
6 6 ski sjkSu( i , j )
i= 1 j = 1
n
n
,
6 6 ski skj
i= 1 j = 1
Su( i , j ) =
Pi H Pj
.
( 3)
| Pi | | Pj |
Mkl 是用户会话相似度. 其中 i , j 取Leabharlann Baidu为 1, 2, ,,
n, 表示网站页面的编号; k , l 为用户会话的编号, ski 取值为 0, 1, 2, 3, 当不为 0 时表示第 k 个用户会
6 6 E =
| im - Wj | 2.
( 1)
j= 1 i I c
mj
假设有 n 个模式, 每一个模式的维数为 d, 则k
- means 算法的时间复杂度为 O( nkd ) . 可见 k means 算法具有较好的可伸缩性, 适合处理大文档
集. 由于初始聚类中心是随机选取的 k 个点, 因此
一旦这 k 个点选取不合理, 将会误导聚类过程, 得
划分法 层次法 密度法 网格法 模型法
算法名称 k- means C ham eleon DB SC AN WaveCluster COBW EB
表 1 典型聚类算法性能比较 T ab11 Compar ison for typical clustering alg orithms
伸缩 数据类型 发现形状 知识依赖
话中对页面 i 的访问时间, 等于 0 表示第 k 个用户
会话没有对页面 i 进行访问. 最后一个页面访问时
间设置为 1. Pi 和 Pj 表示第 i 个页面和第j 个页面 的路径, Su( i , j ) 表示第 i 个页面和第j 个页面的路
径差异. 当页面 i 和页面j 被访问的 U RL 相同并且
实验 对 比, 在 100 到 200 个 聚类 的 情况 下, k means 在处理时间、检测率等方面综合性能表现优 秀. 文献[ 9, 10] 中选择 k- means 算法作为改进的 基础, 也是因为其简单和高效的特点. 该算法同时 局限于输入参数的顺序、随机种子的选取、变异系 数的调整等因素, 仍需要改进.
1 聚类在日志分析中的应用
基于聚类的日志分析研究, 重在构建训练数据 对日志进行分类和特征提取. 日志聚类得以实现的 依据来源于 L1Port noy 等[ 1] 提出的 2 点假设: ¹ 正 常数据量远远大于异常; º异常数据与正常数据特 征偏差大. 由于日志数据量大, 人工标记代价高, 使 用带标记训练数据将失去实际操作意义, 因此, 无 标记数据聚类[ 1~ 3] 更适用于入侵检测的事后审计 工作. 111 聚类算法的选择标准 聚类是对数据对象的 集合无指导进行分组. J1 Han 和 M1 K amber[ 4] 将 聚类方法归纳为 5 类: 划分的方法、层次的方法、基 于密度的方法、基 于网格的方法和 基于模型的方 法[ 4~ 6] .
到不合理的结果. 所以 k - means 算法的应用需要
解决 3 个问题: k 值的选择、聚类中心的选取、算法
复杂度.
( 1) k 值的选定很难估计, 通常需选择若干个
k 值进行实验 已有的算法是通过类的自动合并
和分裂, 得到比较合理的类型数目 k . 文献[ 9] 中给 出 k 值取 16~ 22 之间时, 聚类效果好. 在文献[ 11]
中关于 k 均值中聚类数目 k 值的确定是根据方差
分析理论, 应用混合 F 统计量来确定最佳类数, 并
应用了模糊划分熵来验证. 文献[ 12] 中使用了一
种结合全协方差矩阵 RPCL 算法, 并逐步删除只包
含少量训练数据的类. 文献[ 13] 中以一种称为次
胜者受罚的学习规则自动决定类的适当数目. ( 2) 初始聚类中心选取的标准 聚类中心较
( 5) 处理高维数据的能力 每一条日志都有 很多字段( 维) , 一些聚类算法处理二、三维数据时 表现良好, 但对高维数据, 人的理解力很难对聚类 结果的好坏做出判别.
从表 1 的比较可以看出各种聚类算法在某个 方面达到了日志分析的要求. 112 日志聚类算法的改进方向 针对海量日志,
* 收稿日期: 2009- 03- 04 作者简介: 梁晓雪( 1984- ) , 女, 硕士生, 主要从事网络日志分析及入侵检测方面的研究; E- mail: lxxzj2003@ 163. com
用于一般的欧式空间, 对于多维空间 中的 2 个向 量, 采用夹角余弦来度量它们之间的相似度[ 16] . 网 页 A 1, A 2 的内容相似度计算公式( 2) :
q1, 2 = cos( A 1, A 2) =
6 ( tf idf( A 1, t ) # tf idf ( A 2, t ) )
tI T
聚类应用于日志分析处理, 从海量数据中构建 简洁、精确的数据轮廓已成为安全审计领域的研究 热点. 数据挖掘中的关联规则算法、序列模式算法 和分类算法已经用在日志分析和入侵检测中. 但是 这些方法在正确区分和处理动态变化的攻击模式 上仍有不足, 采用 聚类分析日志将 是解决数据丰 富, 信息匮乏, 发现新入侵模式的一种有效方法. 同 时, 也向人们提出了亟待解决的问题, 如聚类算法 的复杂性、扩展性、输入顺序与输出结果、复杂形状 聚类、高维聚类等.
云 南 大 学 学 报 ( 自 然 科 学 版 ) , 2009, 31 ( S1) : 52~ 55 Journal of Yunnan University
CN 53- 1045/ N ISSN 0258- 7971
基于聚类的日志分析技术综述与展望 *
梁晓雪1, 王 锋2
( 11 昆明理工大学 云南省计算机技术应用重点实验室, 云南 昆明 650051; 21 昆明理工大学 信息工程与自动化学院, 云南 昆明 650051)
, (2)
6 6 tf idf ( A 1, t ) 2 #
t fidf( A 2, t ) 2
tI T
tI T
其中 t f idf ( A 1, t ) , t fidf( A 2, t ) 表示词 t 在网页A 1,
A 2 中的权值. 有关 T F - IDF 权值见文献[ 17] . 两
两页面之间的距离或相似系数可构成多维系数矩
摘要: 针对聚类应用在日志分析中存在的主 要问题, 从聚类 算法的 选择标 准、改 进方向、性能 分析 3 个方面 探讨了 k- means 算法在该领域的研究成果. 在此基础上论述了 Web 日志聚类相关技术以及今后的研究方向.
关键词: 日志分析; 聚类; k- means 中图分类号: T P 39 文献标识码: A 文章编号: 0258- 7971( 2009) S1- 0052- 04
( 4) 输入参数对知识领域的弱依赖性 很多 聚类算法都要求用户输入一些参数, 例如聚类数、 结果的支持度及置信度等. 这些参数对聚类的结果 敏感又难确定, 使分析结果不易控制.
高维
低
数值 凸 状、球状
高
一般
中
任意
任意
低
高
中
数值
任意
低
一般
高
数值
任意
低
高
高 数值、分类 任意
低
高
时间复杂度 一般 高 低 低 高
抗干扰 高 高
一般 高
一般
11211 k- means 算法 指定 k 是算法的输入参 数, 代表该算法在数据集上分割并计算后输出的聚
类的数量. 数据集是由 n 个数据点组成的. 在初始
稳定; 人工干预较少; 需要确定的参数较少; 聚类的 结果较稳定.
选取初始聚类中心点现有的方法: 任意选择; 凭经验选取有代表性的点作为起始 聚类中心; 把全部样本分成 k 类, 计算各类均值作 为初始聚类中心以每个样本为中心, 通过给定半径 值划出球形区域, 选择密度最大的点为第 1 个初始 聚类中心, 然后再给定 1 个正数, 以这个正数为中 心距, 选择次大密度点, 依次类推选出 k 个初始聚 类中心; 由 k - 1 类聚类问题解出 k 类问题的代表 点. 将所有样本看成一个类, 他们的均值点为聚类 中心, 然后在离他最远的一个样本作为另一个初始 聚类中心, 依次类推, 由 k - 1 类的代表点和离他们 最远的一个样本点作为 k 类的初始聚类中心; 按最 大最小距离聚类法中寻找聚类中心的方法确定初 始聚类中心; 用扩展聚类中心的选取方法, 将点延 伸为线, 将某些特殊位置的干扰点归于正确的一类 中. ( 3) 提高算法的收敛速度 已有的方法从该 算法的时间复杂度进行考虑, 通过相似性准则来去 掉聚类中心的候选集. 同时还可以通过抽样进行聚 类分析提高收敛度, 这种方法降低了算法的时间复 杂度, 但是结果的准确性也差一些. 11212 k- means 算法性能分析 用错 误函数来
化时, 根据输入参数 k 随机性地从 n 个数据点{ i 1,
i 2, ,, in } 中找出 k 个原型{ W 1, W 2, ,, W k} . 因
此有 Wj = i m, j I { 1, 2, ,, k } , m I { 1, 2, ,, n } 聚类的质量是由错误函数( 1) 确定的:
k
聚类应用于日志分析是一个具有挑战性的领
域, 它对聚类算法提出了特别的要求[ 4, 7] . ( 1) 伸缩性 针对百万条的日志条目, 算法的
时间复杂度不能太高, 最好是多项式时间的算法. 值得注意的是, 当算法不能处理大数据量时, 抽样 也不是一个好的主意, 因为这样通常导致歪曲的结 果.
( 2) 处理非数值型字段的能力 聚类算法中 很多算法的相似性都是基于距离的, 由于日志条目 中数据类型的多样性, 如何度量日志条目之间的距 离也是应该去考虑的.
访问时间也相同时, 用户会话相似度为
2 Web 日志聚类相关技术
实际应用中, 针对 Web 日志数据的聚类主要 有用户聚类和页面聚类 2 种. 用户聚类针对用户的
会话进行分析, 根据用户访问动作寻找行为模式相 似的用户. 页面聚类针对浏览页面、停留时间进行
量化分析. 在进行聚类分析之前, 应当明确如何度
量距离以及如何确定算法的输入参数. 211 页面聚类相似度计算 在聚类分析中, 距离 与相似系数是聚类分析常用的分类统计量[ 15] . 对
阵. 系数矩阵反映网页间的相似程度, 是页面聚类 所依据的基础.
212 用户聚类相似度计算 用户会话是用户对
网站的一次访问过程中所请求的 URL 集合. 对用 户会话的聚类要考虑用户对页面的访问次数和浏
览时间, 文献[ 18] 提出了计算用户会话相似度公
式的雏形. 文献[ 19] 考虑访 问时间、网站结构 和 URL 3 个因素, 给出了计算公式
第 S1 期
梁晓雪等: 基于聚类的日志分析技 术综述与展望
53
选择聚类算法最先应该考虑的就是算法的准确性 和复杂度问题. 目前 k- means 算法已经用于文本 信息处理并且取得较好结果. 理由如下: 首先, kmeans 在孤立点[ 8] 情况 下鲁棒性好. 第二, 由 kmeans 方法发现的聚类与输入顺序 无关. 第三, 对 数据的平移与正交变换其结果不变. 文献[ 2] 通过
54
云南大学学报( 自然科学版)
第 31 卷
评价聚类质量, 当各簇之间区别明显且数据分布稠 密时是比较有效的; 当各簇的形状 和大小差别很 大, 为使错误函数值达到最小, 有可能出现将大的 簇分割的现象. 此外在运用错误函数评测聚类效果 时, 最佳聚类结果对应于目标函数的极值点, 由于 目标函数存在着许多局部极小点, 算法的每一步都 是沿着目标函数减小的方向进行, 若初始化落在一 个局部极小点附近, 就会造成算法在局部极小处收 敛. 因此, 初始聚类中心的随机选取可能陷入局部 最优解.
于有 p 个变量的样品来说, n 个样品可以视为 p 维 空间中的 n 个点, 用 dij 表示第i 个样品与第j 个样 品间的距离, 距离越小, 2 个样品越接近, 同样也可 以定义相似系数来反映距离.
在进行页面聚类分析时, 首先进行预处理将网
页内容表示为向量空间模型, 其相似性可采用余弦 距离、明氏距离、马氏距离来计算, 鉴于明氏距离适
Mkl = 其中,
nn
6 6 ski sjkSu( i , j )
i= 1 j = 1
n
n
,
6 6 ski skj
i= 1 j = 1
Su( i , j ) =
Pi H Pj
.
( 3)
| Pi | | Pj |
Mkl 是用户会话相似度. 其中 i , j 取Leabharlann Baidu为 1, 2, ,,
n, 表示网站页面的编号; k , l 为用户会话的编号, ski 取值为 0, 1, 2, 3, 当不为 0 时表示第 k 个用户会
6 6 E =
| im - Wj | 2.
( 1)
j= 1 i I c
mj
假设有 n 个模式, 每一个模式的维数为 d, 则k
- means 算法的时间复杂度为 O( nkd ) . 可见 k means 算法具有较好的可伸缩性, 适合处理大文档
集. 由于初始聚类中心是随机选取的 k 个点, 因此
一旦这 k 个点选取不合理, 将会误导聚类过程, 得
划分法 层次法 密度法 网格法 模型法
算法名称 k- means C ham eleon DB SC AN WaveCluster COBW EB
表 1 典型聚类算法性能比较 T ab11 Compar ison for typical clustering alg orithms
伸缩 数据类型 发现形状 知识依赖
话中对页面 i 的访问时间, 等于 0 表示第 k 个用户
会话没有对页面 i 进行访问. 最后一个页面访问时
间设置为 1. Pi 和 Pj 表示第 i 个页面和第j 个页面 的路径, Su( i , j ) 表示第 i 个页面和第j 个页面的路
径差异. 当页面 i 和页面j 被访问的 U RL 相同并且
实验 对 比, 在 100 到 200 个 聚类 的 情况 下, k means 在处理时间、检测率等方面综合性能表现优 秀. 文献[ 9, 10] 中选择 k- means 算法作为改进的 基础, 也是因为其简单和高效的特点. 该算法同时 局限于输入参数的顺序、随机种子的选取、变异系 数的调整等因素, 仍需要改进.
1 聚类在日志分析中的应用
基于聚类的日志分析研究, 重在构建训练数据 对日志进行分类和特征提取. 日志聚类得以实现的 依据来源于 L1Port noy 等[ 1] 提出的 2 点假设: ¹ 正 常数据量远远大于异常; º异常数据与正常数据特 征偏差大. 由于日志数据量大, 人工标记代价高, 使 用带标记训练数据将失去实际操作意义, 因此, 无 标记数据聚类[ 1~ 3] 更适用于入侵检测的事后审计 工作. 111 聚类算法的选择标准 聚类是对数据对象的 集合无指导进行分组. J1 Han 和 M1 K amber[ 4] 将 聚类方法归纳为 5 类: 划分的方法、层次的方法、基 于密度的方法、基 于网格的方法和 基于模型的方 法[ 4~ 6] .
到不合理的结果. 所以 k - means 算法的应用需要
解决 3 个问题: k 值的选择、聚类中心的选取、算法
复杂度.
( 1) k 值的选定很难估计, 通常需选择若干个
k 值进行实验 已有的算法是通过类的自动合并
和分裂, 得到比较合理的类型数目 k . 文献[ 9] 中给 出 k 值取 16~ 22 之间时, 聚类效果好. 在文献[ 11]
中关于 k 均值中聚类数目 k 值的确定是根据方差
分析理论, 应用混合 F 统计量来确定最佳类数, 并
应用了模糊划分熵来验证. 文献[ 12] 中使用了一
种结合全协方差矩阵 RPCL 算法, 并逐步删除只包
含少量训练数据的类. 文献[ 13] 中以一种称为次
胜者受罚的学习规则自动决定类的适当数目. ( 2) 初始聚类中心选取的标准 聚类中心较
( 5) 处理高维数据的能力 每一条日志都有 很多字段( 维) , 一些聚类算法处理二、三维数据时 表现良好, 但对高维数据, 人的理解力很难对聚类 结果的好坏做出判别.
从表 1 的比较可以看出各种聚类算法在某个 方面达到了日志分析的要求. 112 日志聚类算法的改进方向 针对海量日志,
* 收稿日期: 2009- 03- 04 作者简介: 梁晓雪( 1984- ) , 女, 硕士生, 主要从事网络日志分析及入侵检测方面的研究; E- mail: lxxzj2003@ 163. com
用于一般的欧式空间, 对于多维空间 中的 2 个向 量, 采用夹角余弦来度量它们之间的相似度[ 16] . 网 页 A 1, A 2 的内容相似度计算公式( 2) :
q1, 2 = cos( A 1, A 2) =
6 ( tf idf( A 1, t ) # tf idf ( A 2, t ) )
tI T
聚类应用于日志分析处理, 从海量数据中构建 简洁、精确的数据轮廓已成为安全审计领域的研究 热点. 数据挖掘中的关联规则算法、序列模式算法 和分类算法已经用在日志分析和入侵检测中. 但是 这些方法在正确区分和处理动态变化的攻击模式 上仍有不足, 采用 聚类分析日志将 是解决数据丰 富, 信息匮乏, 发现新入侵模式的一种有效方法. 同 时, 也向人们提出了亟待解决的问题, 如聚类算法 的复杂性、扩展性、输入顺序与输出结果、复杂形状 聚类、高维聚类等.
云 南 大 学 学 报 ( 自 然 科 学 版 ) , 2009, 31 ( S1) : 52~ 55 Journal of Yunnan University
CN 53- 1045/ N ISSN 0258- 7971
基于聚类的日志分析技术综述与展望 *
梁晓雪1, 王 锋2
( 11 昆明理工大学 云南省计算机技术应用重点实验室, 云南 昆明 650051; 21 昆明理工大学 信息工程与自动化学院, 云南 昆明 650051)
, (2)
6 6 tf idf ( A 1, t ) 2 #
t fidf( A 2, t ) 2
tI T
tI T
其中 t f idf ( A 1, t ) , t fidf( A 2, t ) 表示词 t 在网页A 1,
A 2 中的权值. 有关 T F - IDF 权值见文献[ 17] . 两
两页面之间的距离或相似系数可构成多维系数矩
摘要: 针对聚类应用在日志分析中存在的主 要问题, 从聚类 算法的 选择标 准、改 进方向、性能 分析 3 个方面 探讨了 k- means 算法在该领域的研究成果. 在此基础上论述了 Web 日志聚类相关技术以及今后的研究方向.
关键词: 日志分析; 聚类; k- means 中图分类号: T P 39 文献标识码: A 文章编号: 0258- 7971( 2009) S1- 0052- 04