数据挖掘图和网络
数据挖掘是从一堆未处理的数据中收集和处理数据的过程。建立模式后,可以识别数据集之间的各种关系,并以汇总格式呈现它们,这有助于各个行业的统计分析。在其他数据结构中,图被广泛用于建模高级结构和模式。在数据挖掘中,图用于寻找子图模式,用于数据的判别、分类、聚类等。图用于网络分析。通过链接各种节点,图形成了类似网络的通信、网络和计算机网络、社交网络等。在多关系数据挖掘中,由于关系数据库中数据集之间的各种相互关联的关系,使用了图或网络。
图挖掘
图挖掘是一个过程,其中挖掘技术用于在给定的现实世界图集合中寻找模式或关系。通过挖掘图,可以识别频繁的子结构和关系,这有助于对图集进行聚类,找到图集之间的关系,或者区分或表征图。预测这些模式趋势有助于构建模型以增强实时使用的任何应用程序。要实现图挖掘过程,必须学会挖掘频繁子图。
频繁子图挖掘
让我们考虑一个带有边集 E(h) 和顶点集 V(h) 的图 h。让我们考虑从 h 到 h' 的子图同构的存在,使得 h 是 h' 的子图。标签函数是将边或顶点绘制到标签的函数。让我们考虑一个标记图数据集, 让我们将 s(h) 视为支持,这意味着 F 中图的百分比,其中 h 是子图。频繁图具有不低于最小支持阈值的支持。让我们将其表示为 min_support。
寻找频繁子图的步骤:
寻找频繁子图有两个步骤。
- 第一步是创建频繁的子结构候选。
- 第二步是找到每个候选人的支持。我们必须优化和增强第一步,因为第二步是一个 NP 完全集,其计算复杂度准确且高。
频繁子结构挖掘有两种方法。
基于 Apriori 的方法:寻找频繁图的方法从尺寸较小的图开始。该方法通过创建具有额外顶点或边缘的候选者以自下而上的方式推进。该算法称为Apriori Graph 。让我们将 Q k视为大小为 k 的频繁子结构集。这种方法获得了一种水平挖掘技术。在使用 Apriori Graph 技术之前,必须完成候选的生成。这是通过组合两个相同但略有不同的频繁子图来完成的。在形成新的子结构后,检查图的频率。其中,经常找到的图表用于创建下一个候选者。这个生成频繁子结构候选的步骤是一个复杂的步骤。但是,当涉及到在项集中生成候选对象时,它既容易又不费吹灰之力。让我们考虑一个有两个大小为 3 的项目集的例子,使得和因此,使用连接派生的项目集将是 pqrs。但是当涉及到子结构时,连接两个子结构的方法不止一种。
算法:
这种方法基于频繁的子结构挖掘。
Input:
F= a graph data set.
min_support= minimum support threshold
Output:
Q1,Q2,Q3,....QK,
a frequent substructure set graphs with the size range from 1 to k.
Q1 <- all the frequent 1 subgraphs in F;
k <- 2;
while Qk-1 ≠ ∅ do
Qk <- ∅;
Gk <- candidate_generation(Qk-1);
foreach candidate l ∈ Gk do
l.count <- 0;
foreach Fi ∈ F do
if isomerism_subgraph(l,Fi) then
l.count <- l.count+1;
end
end
if l.count ≥ min_support(F) ∧ l∉Qk then
Qk = Qk U l;
end
end
k <- k+1;
end
这是一种迭代方法,其中第一个候选生成发生,然后是支持计算。子图是使用子图同构生成的。因此,通过有效地使用这种有助于 FSM 的方法来生成频繁子图。由于候选的迭代级别生成,Apriori 方法使用 BFS(广度优先搜索)。这是必要的,因为如果你想挖掘 k+1 个图,你应该已经挖掘到 k 个子图。
模式增长方法:这种模式增长方法可以同时使用 BFS 和 DFS(深度优先搜索)。 DFS 是这种方法的首选,因为它的内存消耗较少。让我们考虑一个图 h。通过添加边 e 可以形成一个新图。边可以引入顶点,但这不是必需的。如果它引入一个顶点,它可以通过两种方式完成,向前和向后。模式增长图很简单,但效率不高。因为有可能创建一个已经创建的类似图,这会导致计算效率低下。可以删除生成的重复图表,但会增加时间和工作量。为了避免创建重复图,应该非常谨慎和保守地引入频繁图,这需要其他算法。
算法:
下面的算法是一种基于模式增长的频繁子结构挖掘,采用简单的方法。如果您需要在不重复的情况下进行搜索,则必须使用 gSpan 使用不同的算法。
Input:
q= a frequent graph
F= a graph data set.
min_support= minimum support threshold
Output:
P = the frequent graph set
P <- ∅;
Call patterngrow_graph(q, F, min_support, P);
procedure patterngrow_graph(q, F, min_support, P)
if q ∈ P then return;
else insert q into P;
scan F once, find all the edges e such that q can be extended to q -> e;
for each frequent q -> e do
PatternGrowthGraph(q -> e, D, min_support, P);
return;
边 e 用于从旧图 q 扩展新图。新扩展的图表示为扩展可以向后或向前。
基于约束的子结构挖掘
根据用户的要求,约束描述了挖掘过程中的变化。但是,如果我们将它们概括并分类为特定的约束,则可以通过将它们推入给定的框架来轻松处理挖掘过程。约束推动策略用于模式增长挖掘任务。让我们看看一些重要的约束类别。
- 子图包含约束:当用户请求具有指定子图的模式时,使用此约束。此约束也称为集合包含约束。将给定的子图集作为查询,然后通过扩展子图集的模式,根据所选数据进行挖掘。当用户请求具有特定边或顶点集的模式时,可以使用此技术进行挖掘。
- 值和约束:这里,约束是边上的权重之和。有高低两个范围。这两个约束被指定为和第一个条件称为单调约束,因为一旦满足条件,仍然可以通过添加边来进行扩展,直到满足下一个条件。但是后一种条件称为反单调约束,因为一旦条件满足,就不能再进行扩展了。通过这种方法,约束推动技术将很好地发挥作用。
- 几何约束:在此约束中,取给定范围内连接的一对边之间的角度。让我们考虑一个图 h,这样其中 E 1 , E 2是在顶点 V 处连接并在其他两端 V 1 , V 2处连接到其他两个顶点的边。 A h被称为反单调约束,因为如果由两条边组合形成的任何一个角度不满足,它就不会移动到下一个级别,并且永远不会满足 A h 。它可以被推到边缘扩展过程中,并消除任何不满足 A h的扩展。
网络分析
在网络分析的概念中,单元之间的关系称为图中的链接。从数据挖掘的角度来看,这称为链接挖掘或链接分析。该网络是一个以图的形式具有多关系概念的转移数据集。该图非常大,节点作为对象,边作为链接,这些链接反过来表示节点或对象之间的关系。电话网络系统、WWW(万维网)就是很好的例子。它还有助于过滤数据集并提供客户首选的服务。每个网络都由许多节点组成。数据集非常庞大。因此,通过从广泛的数据集中研究和挖掘有用的信息将有助于解决问题和有效传输数据。
链接挖矿
有一些传统的机器学习方法,其中从一个关系中获取同质对象。但在网络中,由于节点数量众多,并且具有多关系、异构的性质,这并不适用。因此,链接挖掘在经过多种类型的研究后作为一个新领域出现了。链接挖掘是图挖掘、网络、超文本、逻辑编程、链接分析、预测分析和建模等多项研究的融合。链接不过是网络中节点之间的关系。借助链接,可以有效地进行挖矿过程。这需要完成各种功能。
- 基于链接的对象分类:在链接挖掘中,只有属性是不够的。这里链接和链接节点的特征也是必要的。一个最好的例子是基于 Web 的分类。在基于 Web 的分类中,系统根据指定词的存在来预测网页的分类,这意味着搜索词出现在该页面上。锚文本是用户单击搜索时打开的超链接的文本。这两件事在基于网络的分类中充当属性。属性可以是与链接和网页相关的任何内容。
- 链接类型预测:系统根据所涉及对象的资源,预测该链接的动机。在组织中,如果需要,它有助于建议员工之间的交互式通信会话。在在线零售市场,它有助于预测客户喜欢购买什么,从而增加销售额和推荐。
- 对象类型预测:这里的预测是基于所涉及的对象的类型、它的属性和属性、链接到它的对象的链接和特征。例如,在餐厅领域,使用类似的方法来预测客户是喜欢点餐还是直接访问餐厅。它还有助于预测客户喜欢的沟通方式,无论是通过电话还是邮件。
- 链接基数估计:在这个任务中,有两种类型的估计。第一个是预测链接到对象的链接数量。例如,可以通过查找链接到它的链接的数量来计算网页的权限百分比,这些链接称为内链接。充当枢纽的网页,这意味着一组网页表示可以使用外链接识别同一主题下的其他链接。例如,当大流行来袭时,找到受影响患者的联系可以引导我们找到其他患者,这有助于控制传播。第二个是通过预测从一个对象沿路线延伸的对象数量来完成的。此方法对于估计作为查询输出返回的对象编号至关重要。
- 预测链接存在:在链接类型预测中,预测链接的类型。但是,这里系统预测两个对象之间是否存在链接。例如,此任务用于预测两个网页之间是否存在链接。
- 对象协调:在此方法中,函数是根据它们的属性或特征或链接来预测任何两个对象是否相同。这种方法也称为身份不确定性或记录链接。该任务在引用匹配、细节提取、消除重复、合并对象方面具有相同的过程。例如,如果一个网站像镜子一样反映另一个网站,则此任务将提供帮助。
链接挖掘的挑战
- 统计与逻辑依赖关系:对象之间的逻辑关系由图链接结构表示。统计关系由概率相关性表示。在多关系的数据挖掘中,这两种依赖关系的合理处理是困难的。必须非常小心地找到对象之间的逻辑依赖关系以及属性之间的概率关系。这些依赖项占用了大量空间,使部署的数学模型变得复杂。
- 集体分类和整合:让我们考虑一个基于类标签对象的训练模型。在常规分类中,分类仅基于属性进行。如果在使用未标记的对象进行训练后有可能发生分类,则由于对象相关性的复杂性,模型将无法进行分类。这需要另一个补充迭代步骤,该步骤根据与其链接的对象的标签来合并对象的标签。这里进行集体分类。
- 建设性地使用标记和未标记数据:一种新兴技术是合并标记和未标记数据。未标记的数据有助于识别属性的分布。未标记数据中存在的链接帮助我们提取链接对象的属性。未标记和标记数据之间存在的链接有助于建立依赖性,从而提高干扰效率。
- 开放与封闭世界的假设相比:在传统方法中,假设我们知道域中存在的所有可能的对象/实体,这是封闭世界的假设。但是,封闭世界假设在现实的应用中是不切实际的。这需要针对包含不同对象集的关系对象的概率分布引入特定语言。
社区挖矿
网络分析包括寻找具有相似属性的组中的对象。这个过程被称为社区挖掘。在网页联动中,引入社区,其中一组网页遵循一个共同的主题。许多社区挖掘算法决定只有一个网络,并试图建立同质关系。但在现实世界的网页中,存在多个具有异构关系的网络。这证明了多关系社区挖掘的必要性。