(一)数据挖掘和机器学习
数据挖掘包括八个步骤:信息搜集、数据集成、数据规范、数据清理、数据转换、数据挖掘过程、模式评估和知识表示。数据挖掘过程是一个迭代过程,每个步骤如果没有达到预期的目标,都需要回到前面的步骤重新调整并执行。并不是所有的数据挖掘工作都需要包括这里列出的每一个步骤,例如作业中缺少多个数据源,那么数据集成的步骤就可以省略。数据协议、数据清理和数据转换被称为数据预处理。在数据挖掘方面,至少60%的成本用于信息搜集,而至少60%的精力和时间用于数据预处理。
(二)关联分析
关联分析是一种简单实用的分析技术,其目的是找出大数据集中存在的相关性或相似性,从而描述事物中某些属性的规则和模式。
关联分析是从大量的数据中发现有趣的关联和项目集之间的关联。关联分析的一个典型例子是购物篮分析。该过程通过发现购物篮中不同商品之间的关系来分析顾客的购买习惯,同时找出顾客经常购买的商品。这种联系的发现可以帮助零售商制定营销策略。其他应用包括零售价格设计、产品促销、产品布局和基于购买模式的客户划分。
1.基本概念
(1)一套项目。在关联分析中,0或更多项的集合称为项集。如果一组项目包含k项,则称为k项集。
(2)支持度。支持用于确定给定数据集的频率,即给定数据集在所有数据集中出现的频率。
(3)置信度用于确定Y在包含X的事务中发生的频率。
2.关联分析算法的基本原理
支持是一项重要的措施,如果支持程度很低,就意味着这一规则只是偶然出现的,基本上是毫无意义的。因此,支持常常用于删除无意义的规则。置信是一种推理规则,具有可靠性。在c(X->Y)的情况下,信任级别越高,Y在包含X的事务中出现的概率就越大,否则这个规则就没有意义。
支持和置信阈值通常是在关联规则发现中设置的,而关联规则发现所有支持大于或等于模仿且置信度大于支持的规则。因此,提高关联分析算法的效率最简单的方法就是提高支持度和置信度的阈值。
3.关联分析的基本算法
查找所有满足最小支持阈值的项集,通常称为频繁项集(例如,频繁2项集、频繁3项集)。
从符合最低置信度的频繁项集中查找所有规则。
评价关联分析算法如下。
(1)Apriori算法
Apriori算法是挖掘关联规则的频繁项集的基本算法,也是最著名的关联规则挖掘算法之一。Apriori算法是基于对频繁项集特征的先验知识命名的。它使用一种称为逐层搜索的迭代方法,并使用一组k项来探索(k+1)项集。
为了提高层次搜索的处理效率,生成相应的频繁项集,Apriori算法利用了一个重要的属性,并利用Apriori属性,有效地减少了频繁项集的搜索空间。
Apriori属性:频繁项集的任何子集也应该是频繁项集。
从定义上证明了,如果一个项集i不满足最小支持阈值min_sup,则i不频繁。附件P(I)可达CDM如果将项A添加到项目集I中,则生成的新项目集(IUA)也不会频繁,而且整个事务数据库中出现的次数不能大于原始项目集的出现次数。因此P(IUA)<min_sup或(IUA)也不常见。这样,可以根据公式很容易地确定Apriori性质。
Apriori算法的优化有以下几种方法。
1)基于划分的方法。该算法将数据库逻辑划分为几个离散块,一次单独考虑一个块,生成所有频繁项集,然后利用生成的频繁项集生成所有可能的频繁项集,最后,计算了对这些项集的支持。在这里,选择块的大小,以便每个块可以放在主内存中,每个阶段只需要扫描一次。算法的正确性由至少一个块中的每个可能的频繁项集来保证。
上面讨论的算法可以高度并行,每个块可以分配给处理器以生成频繁项集。在每个生成频繁项集的循环完成之后,用于在处理器之间进行通信以生成全局项的候选项是一组项。通常这里的通信过程是算法执行时间的主要瓶颈。另一方面,每个处理器生成频繁项集的时间是一个瓶颈。其他方法包括在多处理器之间共享哈希树以生成频繁项集,其中可以找到生成频繁项集的更多并行化方法。
2)基于Hash的方法。Park等人提出了一种高效的基于哈希(Hash)的频繁项集生成算法。通过实验,我们可以发现,查找频繁项集的主要计算方法是生成频繁A项集h,Park等人利用这一性质引入哈希技术改进了频繁两项集的生成方法。
3)基于抽样的方法。在前一次扫描信息的基础上,对算法进行了详细的组合分析,得到了一种改进的算法。其基本思想首先是从数据库中抽取样本,得到可能在整个数据库中建立的规则,然后对数据库的其余部分进行验证。该算法相当简单,大大降低了I/O成本,但最大的缺点是结果不准确,即存在所谓的数据失真(Dataskew)。分布在同一页上的数据通常是高度相关的,并不代表整个数据库中模式的分布。因此,5%的事务数据的采样成本与扫描整个数据库的成本相似。
4)减少交易数量。为了减小将来扫描的事务集的大小,基本原则是,当事务不包含一组长度为k的大项集时,它不能包含长度为k+1的大量项集。然后可以删除这些事务,并在下一次扫描中减少要扫描的事务集的数量。这是Apriori的基本思想。
(2)FP-增长算法
由于Apriori算法的固有缺陷,即使进行了优化,其效率仍然不能令人满意。2000年,韩嘉伟等人提出了一种基于频繁模式树(Frequency Pattern Tree,FP-tree)的频繁模式发现算法。在FP-增长算法中,通过两次扫描事务数据库,将每个事务中包含的频繁项按降序压缩到FP-tree中。在未来发现频繁模式的过程中,不必再扫描事务数据库,而只需在FP-tree中搜索,并通过递归调用FP-增长算法直接生成频繁模式。因此,不需要在整个发现过程中生成候选模式。该算法克服了Apriori算法中存在的问题,在执行效率上优于Apriori算法。
(三)分类和回归
1.分类问题
分类是一种非常重要的数据挖掘方法。分类的概念是在现有数据的基础上学习分类函数或构造分类模型(俗称分类器)。该函数或模型可以将数据库中的每个数据样本映射到给定类别中的一个,从而可以应用于数据预测。分类器是数据挖掘中对样本进行分类的通用术语,包括逻辑回归、决策树、朴素贝叶斯、神经网络等。
分类过程说明如下:
(1)选取样本(包括阳性样本和阴性样本),将样本分为训练样本和测试样本两部分;
(2)在训练样本上实现分类器算法,生成分类模型;
(3)在测试样本上实现分类模型,生成预测结果;
(4)根据预测结果计算必要的评价指标,对分类模型的性能进行评价。
以下是一些基本的分类器。
(1)逻辑回归分类器
逻辑回归模型是一种分类模型,它可以用条件概率分布P(y/X)表示,其中随机变量X的范围是实的,随机变量y的值是-1或1。
对于CTR估计,我们可以使用上述逻辑回归方法。在计算广告的应用环境中,yt1表示用户将单击广告0或1,这意味着用户不会点击广告,而变量X代表<query,>adulations>数据对。数据对响应的特征向量可以是查询唯一的,也可以是广告特有的,也可以是将查询与广告匹配的。W是这些特征的权向量,表示相应特征的重要性。训练可获得所需的训练数据,特征参数的规模可达10亿个数量级。当确定特征的权重时,输入“检查、广告”数据对,计算出的P(yong 1/X)表示估计的CTR。显然,这是一个Sigmod函数,其值介于0到1之间。
因此,该问题成为一个以对数似然函数为目标函数的无约束优化问题。一般采用梯度下降法、牛顿拟牛顿法或拟牛顿法求解参数优化问题。无论采用哪种参数优化方法,它们都遵循一个相似的基本流程:首先给出初始权向量W0在零附近的随机值,然后一次又一次地迭代。在每一次迭代中,根据当前的权向量W计算目标函数的最快下降方向,并对权向量进行更新,直到目标函数稳定到极值为止,并将加权向量W作为目标函数的最优解。
不同优化算法的主要区别在于目标函数下降方向D1的计算方法不同。D1通常由目标函数的权向量W的导数或二阶导数决定。
(2)决策树分类器
决策树分类器提供一组属性,决策树根据属性集对数据进行分类。这一过程类似于根据植物的特性来识别植物。可以使用这样的分类器来确定某人的信誉,例如,决策树可能会得出结论:“一个家庭、一辆价值15 000到23 000美元的汽车和两个孩子”都有很好的信用。决策树生成器从训练集生成决策树。SGI的数据挖掘工具Mine Set提供的可视化工具使用树形图来显示决策树分类器的结构,其中每个决策都由树的一个节点表示。图形表示可以帮助用户理解分类算法,并为数据提供有价值的视角。生成的分类器可用于对数据进行分类。
(3)选择树分类器
选择树分类器使用类似于决策树分类器的技术对数据进行分类。与决策树不同,选择树包含有多个分支的特殊选择节点。例如,用于区分汽车起源的选择树中的选择节点可以选择马力、汽缸数或汽车重量作为信息属性。在决策树中,节点可以一次最多选择一个属性作为考虑对象。在选择树中进行分类时可以考虑到各种情况。选择树通常比决策树更精确,但它们也要大得多。选择树生成器使用与决策树生成器相同的算法从训练集生成选择树。Mine Set的可视化工具使用树形图来显示选择树。树形图可以帮助用户理解分类器,发现哪些属性在确定标签属性的值时更为重要,也可以用来对数据进行分类。
(4)证据分类器
证据分类器通过检查基于给定属性的特定结果的可能性来对数据进行分类。例如,如果一个人拥有一辆价值在15 000~23 000美元的汽车,那么70%的人很可能有良好的信用,30%的人的信用很差。基于一个简单的概率模型,分类器利用最大概率值对数据进行分类和预测。类似于决策树分类器,生成器从训练集生成证据分类器。Mine Set的可视化工具使用证据地图来显示分类器,分类器由一系列描述不同概率值的饼图组成。证据图可以帮助用户理解分类算法,提供对数据的洞察力,并帮助用户对数据进行分类。
2.回归问题
回归分析是一种统计分析方法,用来确定两个或多个变量之间的定量关系,并得到了广泛的应用。根据所涉及的自变量数,回归分析可分为单变量回归分析和多元回归分析,根据自变量与因变量的关系可分为线性回归分析和非线性回归分析。如果在回归分析中只包含一个自变量和一个因变量,且它们之间的关系可以近似地用一条直线来表示,这种回归分析称为一元线性回归分析。如果回归分析包括两个或两个以上的自变量,且因变量和自变量是线性的,则称为多元线性回归分析。该方法可用于确定多个领域中各因素(数据)之间的关系,从而对数据进行预测和分析。例如,研究鲁莽驾驶与道路交通事故数量之间关系的最佳方法是回归分析。
回归原理是建立变量Y(或因变量、响应变量)、自变量或自变量、解释变量之间关系的模型。
回归模型主要包括以下变量:
(1)未知参数β可以是标量或向量;
(2)自变量X;(www.xing528.com)
(3)因变量Y。
回归模型将Y与一个关于X和β的函数联系起来。
(四)聚类分析
聚类分析是将研究对象划分为具有相对同质性的组群的一种统计分析技术。聚类分析不同于分类分析,分类分析是监督学习,聚类分析是无监督学习。
1.聚类方法的分类
(1)分层聚类。包括组合法、分解法、树形图。
(2)无层次聚类。它包括划分聚类和谱聚类。
K均值(无层次聚类)的执行过程如下:
(1)初始化。选择(或指定)某些记录作为聚合点。
(2)循环。根据邻近原理,将其他记录浓缩到凝结点,计算各初始分类的中心位置(平均值),并对计算出的中心位置进行重新聚类,使其反复循环,直到凝结点收敛为止。
该方法具有如下特点:
(1)通常需要已知类别的数目;
(2)可人为地指定初始位置;
(3)节省计算时间;
(4)只能使用连续变量。
2.聚类算法的分类
(1)分区法(PAM)。首先,创建k分区,k是要创建的分区数;然后,通过将对象从一个分区移动到另一个分区,使用循环本地化技术来帮助提高分区质量。
(2)层次法(层次法)。创建层次结构来分解给定的数据集。该方法可分为自顶向下(分解)和自下而上(合并)操作。为了弥补分解和合并的不足,分层合并常常与其他聚类方法(如循环定位)相结合。
(3)密度法。对象的聚类是根据密度来完成的,聚类是基于对象周围的密度进行的。
(4)基于网格的方法。首先将对象空间划分为有限个元素,形成网格结构,然后利用网格结构完成聚类。
(5)基于模型的方法。它假设每个聚类模型并找到符合相应模型的数据。
(五)孤立点检测
定义:样本空间中与其他样本点的一般行为或特征不一致的点称为孤立点。
1.异常值产生的原因
(1)计算或操作上的错误。例如,一个人的年龄是负10岁,这是由异常值引起的误操作的明显结果。
(2)数据本身的变异性或弹性。例如,公司中的CEO必须大大高于其他普通员工的工资,因此由于数据本身的可变性,CEO成为一个异常值。
2.离群点检测方法
(1)基于统计分布的孤立点检测
统计方法是基于模型的方法,即为数据创建一个模型,并根据对象拟合模型对它们进行评估。大多数用于孤立点检测的统计方法是构造概率分布模型,并考虑对象是否有可能拟合该模型。
离群点的概率定义是由数据对象的概率分布来塑造异常值,并且它具有较低的概率。这种情况的前提是用户必须知道数据集的分布情况,如果估计错误就造成了重尾分布。
异常检测的混合模型方法是:异常检测采用两种分布式混合模型,一种是普通数据,另一种是孤立点。
聚类和异常检测目标对分布参数进行估计,使数据的总似然(概率)最大化。聚类中采用EM算法估计各概率分布的参数。但是,这里提供的异常检测技术使用了一种简单的方法,最初将所有对象放入一个普通对象集中,而异常对象集是空的,然后使用迭代过程将对象从普通集合移动到异常集。只要这种转移提高了数据的总可能性(实际上,它相当于将正常对象分布下的低概率对象分类为异常值)。假设异常对象是均匀分布的,异常对象是由这些对象组成的,在均匀分布下异常对象的概率明显高于正态分布的异常对象。
(2)基于距离的孤立点检测
基于距离的离群点检测是指,如果样本空间D中至少有N个样本点,且对象()与对象()之间的距离大于Dmin的距离,则调用该对象。是一个以“至少N个样本点”和Dmin为参数的基于距离的孤立点。
事实上,可以证明,在大多数情况下,如果对象是基于统计的离群点检测方法发现的异常值,那么就必须有相应的N和Dmin,所以它也是一个基于距离的离群点。
该方法的缺点是数据分布均匀。当数据分布不均匀时,基于距离的孤立点检测将变得困难。
(3)基于密度的局部孤立点检测
如果一个对象是一个本地离群点,那么它就会远离它的本地域。
与以往的方法不同的是,基于密度的局部孤立点检测不把离群值看作二进制性质,即不是简单地使用Yes或No来确定某个点是否是孤立点,而是用一个权重值来评估它的异常值。
它是本地的,在这个程度上取决于相对于其域的对象的隔离。该方法可以同时检测全局异常值和局部异常值。
在样本空间数据分布不均匀的情况下,基于密度的局部孤立点检测能够准确地发现异常值。
(4)基于偏差的离群点检测
基于偏差的离群点检测通过检测一组目标的主要特征来识别异常值,并将具有“偏差”特征的点视为异常点。
通常有两种技术:顺序异常和OLAP数据立方体。
(六)复杂数据类型的挖掘
复杂数据类型的挖掘包括复杂对象、空间数据、多媒体数据、时间序列数据、文本数据和Web数据。
研究了对象关系和面向对象数据库系统中访问复杂结构化数据的方法,在这些系统中,大量的复杂数据对象被组织成类,类按照类/子类的层次结构组织。类中的每个对象都具有一个对象标识,一组属性,这些属性可以具有复杂的数据结构,如集合(集)值或列表(列表)值数据、类组合层次结构、多媒体数据等。用于描述与对象类相关的程序或规则的一组方法。
对象关系数据库和面向对象数据库的主要特性是存储、访问和建模复杂的结构数据,例如收集和列表值数据,以及具有嵌套结构的数据。
以下是数据摘要。
1.集值属性泛化
将集合中的每个值推广到相应的高级概念,或导出集合的一般特征,例如集合中的元素数、类型或值在集合中的间隔分布或数值数据的加权平均值。
如果单个值属性形成格(格)或“层次”,或者如果有不同的可泛化路径,则可以将其推广为集值属性。此外,广义集值属性的可拓性应遵循集合中每个值的可拓路径。
2.列表值属性泛化
与集合值属性类似,元素的顺序保持在可泛化状态。列表中的每个值都可以推广到相应的高级概念,或者列表可以被概括为一个一般特征,例如列表长度、列表元素类型、值间隔、数值加权平均值或删除列表中不重要的元素。列表可以概括为列表、集合或单个值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。