当前位置: 首页 > news >正文

数据仓库与数据挖掘复习资料

一、题型与考点[第一种]

1、解释基本概念(中英互译+解释简单的含义);
2、简答题(每个10分有两个一定要记住):

① 考时间序列Time series(第六章)的基本概念含义+解释+作用(序列模式挖掘的作用);
② 考聚类(第五章)重点考密度聚类的定义描述+DBSCAN算法的描述定义(+DBSCAN优缺点)+应用;

3、考综合题:

① C4.5(ID3)考伪代码;
② kNN考伪代码;
③ Apriori考伪代码;
④ k-Means考伪代码;
⑤ PageRank考伪代码+定义+应用(这个题目占比很大好好复习);
⑥ EM算法应该会考定义;
⑦ 闭合项目集会考;
考伪代码的题目一定要去牢记,记住了应该就差不多了(伪代码应该出的题目会比较简单一些,不考选择填空)

4、考点详解章节 

第一章+第二章应该只考名词解释、中英互译(比如说数据挖掘、爬虫、数据仓库、信息熵、知识发现、数据分析、机器学习、神经网络、分类聚类等等);
第三章考Apriori算法+闭合项目集;
第四章考KNN算法+ID3算法+EM算法;
第五章非常重要考点多分数很高(重点复习)考聚类的技术方法+K中心点算法(定义简答)+AGNES算法+DIANA算法考大题+密度聚类方法考DBSCAN(重点)
第六章考时间序列+序列模式挖掘的作用
第七章考web数据来源+PageRank算法+基于随机冲浪的PageRank算法+权威中心页面定义
第八章应该不考;

二、题型与考点[第二种](ffjtql总结)

第一章 绪论

一、[课后习题]中英互译与解释
1、Data Mining:数据挖掘

 (1)【简单定义】从大型数据中挖掘所需要的知识(课后答案给的这个);
 (2)【KDD看作数据挖掘的特例】从数据库、数据仓库以及其他数据存储方式中挖掘有用知识的过程(P11);
 (3)【作为KDD过程的一个步骤】KDD(知识发现)中通过特定的算法在可接受的计算效率限制内生成特定模式的一个步骤(P11);
 (4)【广义】从大型数据集中,挖掘隐含在其中的、人们事先不知道的、对决策有用的知识的完整过程(P11);
 (5)【狭义】从特定形式的数据集中提炼知识的过程(P11)。

2、Artificial Intelligence:人工智能
        研究如何应用机器来模拟人类某些智能行为的基本理论、方法和技术的一门科学。
3、Machine Learning:机器学习
        研究如何使用机器来模拟人类学习活动的一门学科。
4、Knowledge Engineering:知识工程
        研究知识信息处理并探讨开发知识系统的技术。
5、Information Retrieval:信息检索
        研究合适的信息组织并根据用户需求快速而准确地查找信息的技术。通常指的是计算机息检索,它以计算机技术为手段,完成电子信息的汇集、存储和查找等的相关技术。
6、Data Visualization:数据可视化
        运用计算机图形学和图像处理等技术,将数据换为图形或图像在屏幕上显示出来。它是进行人机交互处理、数据解释以及提高系统可用性的重要手段。
7、OLTP(On-Line Transaction Processing):联机事务处理
        传统的关系型数据库的主要应用,主要是基本的、日常的事务处理(增删改查),例如银行交易(CSDN)。
8、OLAP(On-Line Analytic Processing):联机分析处理
        数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果(CSDN)。
9、Decision Support:决策支持
        决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策。
10、KDD(Knowledge Discovery in Databases):知识发现
        从数据中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程。
11、Transaction Database:事务数据库
        一个事务数据库是对事务型数据的收集。
12、Distributed Database:分布式数据库
        物理上分散而逻辑上集中的数据库系统【在逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上】。

二、[补充]名词解释
1、大数据:

        指一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
2、数据分析技术(必考):

        是从大量的、不完全的、有噪声的、模糊的、随机的数据集中识别有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程。它是一门涉及面很广的交叉学科,包括机器学习、数理统计、神级网络、数据库、模式识别、粗糙集等相关技术。
3、广义知识(Generalization):

        是指描述类别特征的概括性知识。这类数据挖掘系统是对细节数据所蕴含的概念特征信息的概括和抽象的过程。
4、关联知识(Association):

        反映一个事件和其他事件之间的依赖或关联。关联知识挖掘的目的就是找出数据库中隐藏的关联信息。
5、传统数据仓库技术:

        使用ETL(Extract,Transform,Load)或ETCL(Extract,Transform,Clean,Load)工具实现数据的导出、转换、清洗和装入工具。使用操作型数据存储(Operational Data Store.,oDS)存储明细数据,使用数据集市和数据仓库计数实现面向主题的历史数据存储,使用多维分析工具进行前端展现,以及使用数据仓库工具提供的挖掘引擎或基于单独的数据挖掘工具进行预测分析等。
6、数据仓库(Data Warehouse):

        一种新型的数据存储和处理手段,被数据库厂商普遍接受并且相关辅助建模和管理工具快速推向市场,成为多数据源集成的一种有效的技术支撑环境。

第二章 知识发现过程与应用结构
一、知识发现(Knowledge Discovery in Database,KDD)
 【必考】一个系统化的工作,必须对可以利用的源数据进行分析,确定合适的挖掘目标,然后才能着手系统的设计和开发。KDD是一个多步骤的处理过程,一般分为问题定义、数据采集、数据预处理、数据挖掘、模式评估等基本阶段。
 过程可以简单地概括为:首先从数据源中抽取感兴趣的数据,并把它组织成适合挖掘的数据组织形式;然后,调用相应的算法生成所需的知识;最后对生成的知识模式进行评估,并把有价值的知识集成到企业的智能系统中。

三、阶梯处理过程模型

各阶段的主要任务是:

1、数据准备:了解相关领域的情况,弄清楚用户的要求,确定挖掘的总体目标和方法并对原数据结构加以分析、确定数据选择原则等工作。
2、数据选择:从数据库中提取与KDD目标相关的数据。
3、数据预处理:主要是对上一阶段产生的数据进行再加工,检查数据的完整性及数据的一致性,对其中的噪声数据进行处理,对丢失的数据可以利用统计方法进行填补。对一些不适合于操作的数据进行必要的处理等。
4、数据缩减:对经过预处理的数据,根据知识发现的任务对数据进行抽取处理,使数据再次精简取其精华,更好地集中于用户挖掘目标上。
5、确定KDD的目标:根据挖掘的目标和用户的要求,确定KDD所发现的具体知识模式和类型(如分类、聚类、关联规则等)。
6、确定数据挖掘算法:根据上一阶段所确定的模式,选择合适的数据挖掘算法(包括选取合适的参数、知识表示方式,并保证数据挖掘算法与整个KDD的评判标准相一致)。
7、数据挖掘:运用选定的算法,从数据中提取出用户所需要的知识。
8、模式解释:对发现的模式进行解释。在此过程中,为了取得更为有效的知识,可能会返回到前面的某些处理步骤中以改进结果,保证提取出的知识是有效和可用的。
9、知识评价:将发现的知识以用户能了解的方式呈现给用户。这期间也包含对知识的一致性的检查,以确信本次发现的知识不与以前发现的知识相抵触。


第三章 关联规则挖掘理论和算法

一、Apriori算法
1、概念与定理

2、伪代码
(1)Apriori(发现频繁项目集)

(2)apriori-gen(Lk-1)(候选集产生)

(3)has_infrequent_subset(c,Lk-1)(判断候选集的元素)

(4)从给定的频繁项目集中生成强关联规则

(5)递归测试一个频繁项目集中的关联规则

3、例题


二、Close算法
1、基本原理
        一个频繁闭合项目集的所有闭合子集一定是频繁的,一个非频繁闭合项目集的所有闭合超集一定是非频繁的。
2、闭合项集(P83例题)





例题勘误:
 
        由伪代码可知,若p是其i项子集闭合的子集,则将其删除。
 
        {BD}是子集{D}的闭合{BD}的子集,所以下文生成的FC2里面的BD应该要删掉,即FC2={AB,AC,BC}。


第四章 分类方法

一、k-Nearest Neighbors算法
1、相关概念

(1)距离度量:二维空间两个点的欧几里得距离(kNN算法常用距离,也被称为L2规范)计算公式为:

(2)K值选择:在许多实际应用中数据是不充足的。为了选择好的模型,可以采用交叉验证方法。交叉验证的基本想法是重复地使用数据,把给定的数据进行切分,将切分的数据组合为训练集与测试集,在此基础上反复进行训练测试以及模型的选择。
(3)分类决策规则:kNN算法使用的分类决策规则是多数表决,如果损失函数为0-1损失函数,那么要使误分类率最小即使经验风险最小,多数表决规则实际上就等同于经验风险最小化。
(4)主要思想:计算每个训练数据到待分类元组的距离,取和待分类元组距离最近的k个训练数据,k个数据中哪个类别的训练数据占多数,则待分类元组就属于哪个类别。

2、伪代码

3、例题


例题勘误:
        本题的测试数据为<范可可,女,1.50>,并非<范可可,女,1.6>。

二、ID3算法
1、相关概念

 (1)期望信息:设S是s个数据样本的集合。假定类标号属性具有m个不同值,定义m个不同类Ci (i = 1,2,......,m)。设Si是类Ci中的样本数。对一个给定的样本分类所需的期望信息由下式给出:

 (2)熵值:设属性A具有v个不同值{a1,a2,...,av},可以用属性A将S划分为v个子集{S1,S2,...,Sv},其中Si包含S中这样一些样本,它们在A上具有值aj。如果A作为测试属性(即最好的分裂属性),则这些子集对应于包含集合S的结点生长出来的分支。设Sij是子集Sj中类Cj的样本数。根据由A划分成子集的熵由下式给出:

 (3)信息增益:对于在A上分支将获得的信息增益可以由下面的公式得到:

2、伪代码
 
3、例题

三、EM算法
1、定义
        最大期望算法(Expectation-Maximization Algorithm,又译期望最大化算法)在统计中被用于寻找依赖于不可观察的隐性变量的概率模型中参数的最大似然估计。
2、基本思想

第五章 聚类方法

一、聚类技术分类
1、划分方法
(1)主要思想
         给定一个有n个对象的数据集,划分聚类技术将构造数据k个划分,每一个划分就代表一个簇,k≤n。也就是说它将数据划分为k个簇,而且这k个划分满足下列条件:

 ① 每一个簇至少包含一个对象;
 ② 每一个对象属于且仅属于一个簇。

         对于给定的k,算法首先给出一个初始的划分方法,以后通过反复迭代的方法改变划分,使得每一次改进之后的划分方案都较前一次更好。所谓好的标准就是:同一簇中的对象越近越好,而不同簇中的对象越远越好。目标是最小化所有对象与其参照点之间的相异度之和。这里的远近或者相异度/相似度实际上是聚类的评价函数。
(2)代表算法
         k-均值、k-中心点、k-模、k原型、PAM等。
2、层次方法
(1)凝聚层次聚类
         凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某 个终结条件被满足,绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。代表是AGNES算法。
(2)分裂层次聚类
         分裂的层次聚类与凝聚的层次聚类相反,采用自顶向下的策略,它首先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终结条件。代表是DIANA算法。
3、基于密度的方法
         密度聚类方法的指导思想是,只要一个区域中的点的密度大于某个域值,就把它加到与之相近的聚类中去。这类算法能克服基于距离的算法只能发现“类圆形”聚类的缺点,可发现任意形状的聚类,且对噪声数据不敏感。但计算密度单元的计算复杂度大,需要建立空间索引来降低计算量,且对数据维数的伸缩性较差。这类方法需要扫描整个数据库,每个数据对象都可能引起一次查询,因此当数据量大时会造成频繁的/O操作。代表算法有DBSCAN、OPTICS、DENCLUE算法等。
4、基于模型的方法
         SOM(SOM神经网络)和COBWEB(简单增量概念聚类算法)。


二、k-Means算法
1、基本概念
         k-平均(k-Means),也被称为k-均值,是一种得到最广泛使用的聚类算法。k-平均算法以k为参数,把个对象分为k个簇,以使簇内具有较高的相似度。相似度的计算根据一个簇中对象的平均值来进行。
        算法首先随机地选择k个对象,每个对象初始地代表了一个簇的平均值或中心。对剩余的每个对象根据其与各个簇中心的距离,将它赋给最近的簇。然后重新计算每个簇的平均值。这个过程不断重复,直到准则函数收敛。
         k-Means算法的准则函数定义为:

        即E是数据库所有对象的平方误差的总和。其中x是空间中的点,表示给定的数据对象,¯xi是簇Ci的平均值。这可以保证生成的结果簇尽可能的紧凑和独立。
2、伪代码

3、例题
 
4、性能分析
(1)优点

① 是解决聚类问题的一种经典算法,简单、快速;
② 对处理大数据集,该算法是相对可伸缩和高效率的;
③ 当结果簇是密集的,它的效果较好。

(2)缺点

① 在簇的平均值被定义的情况下才能使用,可能不适用于某些应用;
② 必须事先给出k(要生成的簇的数目),而且对初值敏感,对于不同的初始值,可能会导致不同结果;
③ 不适合于发现非凸面形状的簇或者大小差别很大的簇。而且它对于噪声和孤立点数据是敏感的。

三、k-中心点算法
1、基本思路
        首先为每个簇任意选择一个代表对象;剩余的对象根据其与代表对象的距离分配给最近的一个簇。然后反复地用非代表对象来代替代表对象,以改进聚类的质量。这样划分方法仍然是基于最小化所有对象与其参照点之间的相异度之和的原则来执行的。
2、PAM
        PAM(Partitioning Around Medoid,围绕中心点的划分)是最早提出的k-中心点算法之一,它选用簇中位置最中心的对象作为代表对象,试图对个对象给出个划分。代表对象也被称为是中心点,其他对象则被称为非代表对象。最初随机选择k个对象作为中心点,该算法反复地用非代表对象来代替代表对象,试图找出更好的中心点,以改进聚类的质量。在每次迭代中,所有可能的对象对被分析,每个对中的一个对象是中心点,而另一个是非代表对象。对可能的各种组合,估算聚类结果的质量。一个对象O_i可以被使最大平方误差值减少的对象代替。在一次迭代中产生的最佳对象集合成为下次迭代的中心点。
3、伪代码
 
 

四、AGNES算法
1、基本概念
        AGNES(AGglomerative NESting)算法是凝聚的层次聚类方法。AGNES算法最初将每个对象作为一个簇,然后这些簇根据某些准则被一步步地合并。例如,如果簇C1中的一个对象和簇C2中的一个对象之间的距离是所有属于不同簇的对象间欧氏距离中最小的,C1和C2可能被合并。这是一种单链接方法,其每个簇可以被簇中所有对象代表,两个簇间的相似度由这两个不同簇中距离最近的数据点对的相似度来确定。聚类的合并过程反复进行直到所有的对象最终合并形成一个簇。在聚类中,用户能定义希望得到的簇数目作为一个结束条件。
2、伪代码
 
3、例题
 

五、DIANA算法
1、基本概念
        DIANA(Divisive ANAlysis)算法属于分裂的层次聚类。与凝聚的层次聚类相反,它采用一种自顶向下的策略,它首先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终结条件,例如达到了某个希望的簇数目,或者两个最近簇之间的距离超过了某个阈值。
        在DIANA方法的处理过程中,所有的对象初始都放在一个簇中。根据一些原则将该簇分裂。簇的分裂过程反复进行,直到最终每个新的簇只包含一个对象。在聚类中,用户能定义希望得到的簇数目作为一个结束条件并使用下面两种测度方法:

① 簇的直径:在一个簇中的任意两个数据点都有一个欧氏距离,这些距离中的最大值是簇的直径。
② 平均相异度(平均距离):

2、伪代码
 
3、例题
 

六、DBSCAN算法
1、基本概念
        DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在有“噪声”的空间数据库中发现任意形状的聚类。
        DBSCAN的指导思想是,只要一个区域中,点的密度大于某个阈值,就把它加到与之相连的簇中去。

2、伪代码
 
3、例题


4、优缺点
(1)优点

 ① 聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类:
 ② 与k-Means比较起来,不需要输入要划分的聚类个数:
 ③ 聚类簇的形状没有偏倚:
 ④ 对噪声数据不敏感。

(2)缺点

 ① 当数据量增大时,要求较大的内存支持I/O消耗也很大:
 ② 当空间聚类的密度不均匀、聚类间距差相差很大时,聚类质量较差,因为这种情况下参数MinPts和Eps选取困难。
 ③ 算法聚类效果依赖与距离公式选取,实际应用中常用欧式距离,对于高维数据,存在“维数灾难”。

第六章 时间序列和序列模式挖掘

一、时间序列及其应用
1、基本概念 
        所谓时间序列就是将某一指标在不同时间上的不同数值,按照时间的先后顺序排列而成的数列。由于前后时刻的数值或数据点的相关性往往呈现某种趋势性或周期性变化,因此时间序列里蕴藏着其他信息形式所不能代替的有用知识。
        所谓时间序列挖掘就是从时间序列数据中提取人们事先不知道的、但又是潜在有用的与时间属性相关的信息和知识,并用于短期、中期或长期预测。指导人们的社会、经济、军事和生活等行为。通过对过去历史行为的客观记录分析,揭示其内在规律,进而完成预测未来行为等决策性工作。
2、应用 
        时间序列分析的一个重要应用是预测,即根据已知时间序列中数据的变化特征和趋势,预测未来属性值。
        从经济到工程技术,从天文到地理和气象,几乎在各种领域都会遇到时间序列,因此时间序列挖掘有着广泛的数据基础和广阔的应用前景。

二、时间序列预测的常用方法
1、确定性时间序列预测方法
        对于平稳变化特征的时间序列,可以利用属性现在的值预测将来的值。对于具有明显的季节变动的时间序列来说,需要先将最近的观察值去掉季节性因素的影响产生变化趋势,然后结合季节性因素进行预测。一种更科学的评价时间序列变动的方法是把数据的变动看成是长期趋势、季节变动和随机性变动共同作用的结果。时间序列分析就是设法消除随机性波动、分解季节性变化、拟合确定性趋势,因而形成对发展水平分析、趋势变动分析、周期波动分析和长期趋势加周期波动分析等一系列确定性时间序列预测方法。
        2、随机性时间序列预测方法
通过建立随机模型,对随机时间序列进行分析,可以预测未来值。
3、其他方法
        许多技术,如神经网络、遗传算法,都可用于时间序列的预测。由于大量的时间序列是非平稳的,因此探讨多种技术结合来实现时间序列挖掘是必要的。

三、基于ARMA模型的序列匹配算法
        通过建立随机模型,对随机时间序列进行分析,可以预测未来值。若时间序列是平稳的,可以用自回归(Auto Regressive model,AR)模型、移动回归(Moving Average model,MA)模型或自回归移动平均(Auto Regressive Moving 
        Average model,ARMA)模型进行分析预测。ARMA模型是时序方法中最基本的、实际应用最广的时序模型。此后,AR模型逐步发展为ARMA模型、多维ARMA模型。ARMA通常被广泛用于预测。由于ARMA模型是一个信息的凝聚器,可将系统的特性与系统状态的所有信息凝聚在其中,因而它也可以用于时间序列的匹配。

四、序列挖掘
1、基本概念
        序列挖掘或称序列模式挖掘,是指从序列数据库中发现蕴含的序列模式。时间序列分析和序列模式挖掘有许多相似之处,在应用范畴、技术方法等方面也有很大的重合度。但序列挖掘一般是指相对时间或者其他顺序出现的序列的高频率子序列的发现,典型的应用还是限于离散型序列。
2、应用
        近年来序列模式挖掘已经成为数据挖掘的一个重要方面,其应用范围也不局限于交易数据库,在DNA分析等尖端科学研究领域、Web访问等新型应用数据源等众多方面得到针对性研究。
3、步骤

(1)排序阶段:对数据库进行排序(Sort),排序的结果将原始的数据库转换成序列数据库(比较实际可能需要其他的预处理手段来辅助进行);
(2)大项集阶段:这个阶段要找出所有频繁的项集(即大项集)组成的集合L。实际上,也同步得到所有大1-序列组成的集合,即{<l> | l∈L};
(3)转换阶段:在寻找序列模式的过程中,我们要不断地进行检测一个给定的大序列集合是否包含于一个客户序列中;
(4)序列阶段:利用转换后的数据库寻找频繁的序列,即大序列(Large Sequence);
(5)选最大阶段:在大序列集中找出最长序列(Maximal Sequences)。


五、AprioriAll & AprioriSome
1、AprioriAll算法
        AprioriAll算法源于频繁集算法Apriori,它把Apriori的基本思想(如果某个项集是频繁的,那么它的所有子集也是频繁的)扩展到序列挖掘中,也是一个多遍扫描数据库的算法。
在每一遍扫描中都利用前一遍的大序列来产生候选序列,然后在完成遍历整个数据库后测试它们的支持度。
        在第一遍扫描中,利用大项目集阶段的输出来初始化大1-序列的集合。
在每次遍历中,从一个由大序列组成的种子集开始,利用这个种子集,可以产生新的潜在的大序列。
        在第一次遍历前,所有在大项集阶段得到的大1-序列组成了种子集。
2、AprioriSome算法
        AprioriSome算法可以看作是AprioriAll算法的改进,具体过程分为两个阶段:

(1)前推阶段用于找出指定长度的所有大序列;
(2)回溯阶段用于查找其他长度的所有大序列。

第七章 Web挖掘技术

一、Web挖掘的数据来源
1、服务器日志数据
        个人浏览Web服务器时,服务器方将会产生三种类型的日志文件:Server logs、Error logs和Cookie logs,这些日志用于记录用户访间的基本情况,因此也是进行Web访问信息挖掘的主要数据源。
2、在线市场数据
        在线市场数据是指和市场活动相关的信息。例如一个电子商务站点,存储相关的电子商务信息。从内容上说,不同目的的商务网站有不同的商务信息。但是,这类数据通常是用传统的关系型数据库结构来存储数据。在线市场数据是业务数据,是进行业务相关分析的主体。用户的挖掘目标只有结合在线市场数据分析才能达到目的。
3、Web页面
        现有的Web数据挖掘方法大都是针对Web页面开展的。目前的Web页面大多满足HTML标准。由于HTML页面包含文本和多媒体信息(包括图片,语音,图像),所以涉及数据挖掘领域中的文本挖掘和多媒体挖掘。现有的HTML页面内容,缺乏标准的描述方式,难以挖掘。为了解决这个问题,1998年WWW社团提出了XML语言标准(eXtensible Markup Language)。该标准通过把一些描述页面内容的标记(tag)添加到HTML页面中,用于对HTML页面内容进行自描述,例如对一个内容为科技论文的页面添加相关标记,描述其作者,关键词等。XML的标记并不是限制死的,是由页面的创立者自己安排给出和定义的,但要遵循一定的规范。
4、Web页面超链接关系
        Web页面之间的超链接关系是一种重要的资源,页面的设计者把它们认为是重要的页面地址添加到自己的页面上。显然,如果一个页面被很多页面引用,那么它一定是重要的。这就是从中需要挖掘的知识。
5、其他信息
        这些信息主要包括用户注册信息等一系列信息。为了更好地实现挖掘任务,适当地附加信息(如描述用户的基本情况和特征的信息)是必要的。

二、Web结构挖掘方法
1、页面等级(PageRank)方法
(1)页面等级
        设u为一个Web页,Bu为所有指向u的页面的集合,Fu为所有u指向的页面的集合,c(<1)为一个归一化的因子,那么u页面的等级R(u)被定义为:

        基本的页面分级方法主要考虑一个页面的入度,即通过进入该页面的页面等级得到。同时在将一个页面的等级值传递时,采用平均分配方法传递到所有它所指向的页面,即每个从它链接处的页面等分它的等级值。
(2)基于随机冲浪模型的页面等级值
        设u为一个Web页,Bu为所有指向u的页面的集合,Fu为所有u指向的页面的集合。假设用户按着概率d随机单击一个超级链接来继续浏览页面,则基于随机冲浪模型的页面等级值可以通过下式计算:

        d的经验值被很多文献推荐为0.85或0.5,这样能最大程度保证等级值的传递一直顺利地进行下去,避免出现中断或者被无限放大。
2、PageRank算法
(1)基本概念
        PageRank算法的核心部分可以从一个有向图开始。最典型的方法是根据有向图构造一个邻接矩阵来进行处理。邻接矩阵A=(a(i,j))中的元素a(i,j) (∈[0,1])表示从页面j指向页面i的概率。
        基本的PageRank算法在计算等级值时,每个页面都将自己的等级值平均地分配给其引用的页面节点。假设一个页面的等级值为1,该页面上共有n个超链接,其分配给每个超链接页面的等级值就是1/n,那么就可以理解为该页面以1/n的概率跳转到任意一个其所引用的页面上。
        一般地,把邻接矩阵A转换成所谓的转移概率矩阵M来实现PageRank算法:

        其中,Q是一个常量矩阵,最常用的是Q=(q(i,j)),q(i,j)=1/n.
        转移概率矩阵M可以作为一个向量变换矩阵来帮助完成页面等级值向量R的迭代计算:

(2)伪代码
 
(3)例题


3、权威页面和中心页面
(1)基本概念

 ① 权威页面是指包含需求信息的最佳资源页面;
 ② 中心页面是一个包含权威页面链接的页面。

(2)HITS技术组成

 ① 基于一组给定的关键字,可以找到相关的页面(有可能相当多);
 ② 权威页面和中心页面与上述页面有关,具有最高权重的页面被返回。

(3)HITS伪代码
 

 
 

相关文章:

数据仓库与数据挖掘复习资料

一、题型与考点[第一种] 1、解释基本概念(中英互译解释简单的含义)&#xff1b; 2、简答题(每个10分有两个一定要记住)&#xff1a; ① 考时间序列Time series(第六章)的基本概念含义解释作用&#xff08;序列模式挖掘的作用&#xff09;&#xff1b; ② 考聚类(第五章)重点考…...

限流算法,基于go的gRPC 实现的

目录 一、单机限流 1、令牌桶算法 3、固定窗口限流算法 4、滑动窗口 二、集群限流 1、分布式固定窗口 &#xff08;基于redis&#xff09; 2、分布式滑动窗口 一、单机限流 1、令牌桶算法 令牌桶算法是当流量进入系统前需要获取令牌&#xff0c;没有令牌那么就要进行限…...

Shell中HTTP变量和文本处理

在Shell中&#xff0c;HTTP变量和文本处理是常见的任务之一。Shell是一个命令行解释器&#xff0c;可以用来自动化执行各种系统任务。在Shell中&#xff0c;我们可以使用各种命令和工具来处理HTTP变量和文本。 首先&#xff0c;让我们来看看如何在Shell中处理HTTP变量。HTTP变…...

java学习part39map

159-集合框架-Map不同实现类的对比与HashMap中元素的特点_哔哩哔哩_bilibili 1.Map 2.Entry 个人理解是c的pair&#xff0c;代表一个键值对。Map就是entry的叠加 3.常用方法 4.TreeMap 5.Properties...

使用sqoop操作HDFS与MySQL之间的数据互传

一&#xff0c;数据从HDFS中导出至MySQL中 1&#xff09;开启Hadoop、mysql进程 start-all.sh/etc/init.d/mysqld start/etc/init.d/mysqld status 2&#xff09;将学生数据stu_data.csv传到HDFS的/local_student目录下 在hdfs中创建目录 hdfs dfs -mkdir /local_student 上…...

Kafka使用指南

Kafka简介架构设计Kafka的架构设计关键概念Kafka的架构设计关键机制 Partition介绍Partition工作机制 应用场景ACK机制介绍ACK机制原理ACK机制对性能的影响ACK控制粒度Kafka分区数对集群性能影响调整分区优化集群性能拓展Kafka数据全局有序 Kafka简介 Kafka是由Apache软件基金…...

HarmonyOS4.0从零开始的开发教程03初识ArkTS开发语言(中)

HarmonyOS&#xff08;二&#xff09;初识ArkTS开发语言&#xff08;中&#xff09;之TypeScript入门 浅析ArkTS的起源和演进 1 引言 Mozilla创造了JS&#xff0c;Microsoft创建了TS&#xff0c;Huawei进一步推出了ArkTS。 从最初的基础的逻辑交互能力&#xff0c;到具备类…...

西工大计算机学院计算机系统基础实验一(函数编写1~10)

还是那句话&#xff0c;千万不要慌&#xff0c;千万不要着急&#xff0c;耐下性子慢慢来&#xff0c;一步一个脚印&#xff0c;把基础打的牢牢的&#xff0c;一样不比那些人差。回到实验本身&#xff0c;自从​​​​​​按照西工大计算机学院计算机系统基础实验一&#xff08;…...

VMware 虚拟机 电脑重启后 NAT 模式连不上网络问题修复

问题描述&#xff1a; 昨天 VMware 安装centos7虚拟机&#xff0c;网络模式配置的是NAT模式&#xff0c;配置好后&#xff0c;当时能连上外网&#xff0c;今天电脑重启后&#xff0c;发现连不上外网了 检查下各个配置&#xff0c;都没变动&#xff0c;突然就连不上了 网上查了…...

【桑基图】绘制桑基图

绘制桑基图 一、绘制桑基图&#xff08;1&#xff09;方法一&#xff1a;去在线网站直接绘制&#xff08;2&#xff09;方法二&#xff1a;写html之后在vscode上运行 二、遇到的问题&#xff08;1&#xff09;当导入一些excel的时候&#xff0c;无法绘制出桑基图 一、绘制桑基图…...

ACM32F403/F433 12 位多通道,支持 MPU 存储保护功能,应用于工业控制,智能家居等产品中

ACM32F403/F433 芯片的内核基于 ARMv8-M 架构&#xff0c;支持 Cortex-M33 和 Cortex-M4F 指令集。芯片内核 支持一整套DSP指令用于数字信号处理&#xff0c;支持单精度FPU处理浮点数据&#xff0c;同时还支持Memory Protection Unit &#xff08;MPU&#xff09;用于提升应用的…...

7. 从零用Rust编写正反向代理, HTTP及TCP内网穿透原理及运行篇

wmproxy wmproxy是由Rust编写&#xff0c;已实现http/https代理&#xff0c;socks5代理&#xff0c; 反向代理&#xff0c;静态文件服务器&#xff0c;内网穿透&#xff0c;配置热更新等&#xff0c; 后续将实现websocket代理等&#xff0c;同时会将实现过程分享出来&#xff…...

UE4.27-UE5.1设置打包Android环境

打包Android配置文件 1. 配置打包Android的SDK需求文件位于下面文件中&#xff1a; 2. 指定了对应的SDK环境变量名字以及NDK需求等&#xff1a; UE4.27-UE5.1--脚本自动配置 安装前提 1. 务必关闭虚幻编辑器和Epic Games Launcher&#xff0c;以确保NDK组件的安装或引擎环境…...

MySQL授权密码

mysql> crate databases school charcter set utf8; Query OK, 1 row affected, 1 warning (0.00 sec) 2.在school数据库中创建Student和Score表 mysql> use school Database changed mysql> create table student-> -> (id int(10) primary key auto_incremen…...

0X05

打开题目 点击完登录和注册都没有什么反应&#xff0c;所以先扫一下看看 在出现admin.php后就截止了&#xff0c;访问看看,进入后台。。 尝试一下弱口令 admin/12345 或者是demo/demo 设计中-自定义->右上角导出主题 找到一个导出的点&#xff0c;下载了一个1.zip压缩包…...

Doris优化总结

1 查看QueryProfile 利用查询执行的统计结果,可以更好的帮助我们了解Doris的执行情况,并有针对性的进行相应Debug与调优工作。 FE将查询计划拆分成为Fragment下发到BE进行任务执行。BE在执行Fragment时记录了运行状态时的统计值,并将Fragment执行的统计信息输出到日志之中。…...

案例059:基于微信小程序的在线投稿系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

利用STM32内置Bootloader实现USB DFU固件升级

本文将介绍如何利用STM32内置的Bootloader来实现USB DFU&#xff08;Device Firmware Upgrade&#xff09;固件升级功能。首先&#xff0c;我们会介绍USB DFU的原理和工作流程。然后&#xff0c;我们将详细讲解如何配置STM32芯片以支持USB DFU&#xff0c;并提供相应的代码示例…...

Centos7如何安装MySQL

目录 一、卸载mysql 二、安装mysql 注&#xff1a;本文主要是看了这位大佬安装MySQL&#xff0c;才想着写一篇记录一下。 一、卸载mysql 安装mysql之前一定要将之前安装的mysql相关文件删除干净&#xff0c;防止出现错误。 &#xff08;1&#xff09;关闭mysql 开启了mysql就…...

VR远程带看,助力线下门店线上化转型“自救”

VR远程带看&#xff0c;因自身高效的沉浸式在线沟通功能&#xff0c;逐渐走进了大众的视野。身临其境的线上漫游体验以及实时同屏互联的新型交互模式&#xff0c;提升了商家同用户之间的沟通效率&#xff0c;进一步实现了远程线上一对一、一对多的同屏带看&#xff0c;用户足不…...

算法通关村第十七关-白银挑战贪心算法高频题目

大家好我是苏麟 , 今天说说贪心算法的高频题目 . 大纲 区间问题判断区间是否重叠合并区间插入区间 区间问题 判断区间是否重叠 描述 : 给定一个会议时间安排的数组 intervals &#xff0c;每个会议时间都会包括开始和结束的时间intervalsl[i] [start, end] &#xff0c;请你…...

【数据结构】动态规划(Dynamic Programming)

一.动态规划&#xff08;DP&#xff09;的定义&#xff1a; 求解决策过程&#xff08;decision process&#xff09;最优化的数学方法。 将多阶段决策过程转化为一系列单阶段问题&#xff0c;利用各阶段之间的关系&#xff0c;逐个求解。 二.动态规划的基本思想&#xff1a; …...

Redis key过期删除机制实现分析

文章目录 前言Redis key过期淘汰机制惰性删除机制定时扫描删除机制 前言 当我们创建Redis key时&#xff0c;可以通过expire命令指定key的过期时间(TTL)&#xff0c;当超过指定的TTL时间后&#xff0c;key将会失效。 那么当key失效后&#xff0c;Redis会立刻将其删除么&#…...

ElasticSearch 谈谈分词与倒排索引的原理

ElasticSearch是一个基于Lucene的搜索服务器。Lucene是Java的一个全文检索工具包&#xff0c;而ElasticSearch则是一个分布式搜索和分析引擎。下面&#xff0c;我们将详细讨论ElasticSearch中的分词和倒排索引的原理。 分词&#xff1a; 在ElasticSearch中&#xff0c;分词是…...

【Java】Java8重要特性——Lambda函数式编程以及Stream流对集合数据的操作

【Java】Java8重要特性——Lambda函数式编程以及Stream流对集合数据的操作 前言Lambda函数式编程Stream流对集合数据操作&#xff08;一&#xff09;创建Stream流&#xff08;二&#xff09;中间操作之filter&#xff08;三&#xff09;中间操作之map&#xff08;四&#xff09…...

大话数据结构-查找-散列表查找(哈希表)

注&#xff1a;本文同步发布于稀土掘金。 8 散列表查找&#xff08;哈希表&#xff09; 8.1 定义 散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f&#xff0c;使得每个关键字key对应一个存储位置f(key)。查找时&#xff0c;根据这个确定的对应关系找到给…...

持续集成交付CICD:Sonarqube自动更新项目质量配置

目录 一、实验 1.Sonarqube手动自定义质量规则并指定项目 2.Sonarqube自动更新项目质量配置 一、实验 1.Sonarqube手动自定义质量规则并指定项目 &#xff08;1&#xff09;自定义质量规则 ①新配置 ②更多激活规则③根据需求激活相应规则④已新增配置 ⑤ 查看 &#x…...

Linux设置Docker自动创建Nginx容器脚本

文章目录 前言一、本地新建脚本二、复制本地脚本到服务器三、执行服务器脚本总结如有启发&#xff0c;可点赞收藏哟~ 前言 一、本地新建脚本 在本地新建nginx-generator.sh脚本文件&#xff0c;并保存以下内容 主要动态定义两个变量&#xff08;容器名称/服务器本地文件名、端…...

技术博客:Vue中各种混淆用法汇总

技术博客&#xff1a;Vue中各种混淆用法汇总 摘要 本文主要介绍了在Vue中使用的一些常见混淆用法&#xff0c;包括new Vue()、export default {}、createApp()、Vue.component、Vue3注册全局组件、Vue.use()等&#xff0c;以及如何使用混淆器对代码进行加固&#xff0c;保护应…...

【python】Python生成GIF动图,多张图片转动态图,pillow

pip install pillow 示例代码&#xff1a; from PIL import Image, ImageSequence# 图片文件名列表 image_files [car.png, detected_map.png, base64_image_out.png]# 打开图片 images [Image.open(filename) for filename in image_files]# 设置输出 GIF 文件名 output_g…...

python/matlab图像去雾/去雨综述

图像去雾和去雨是计算机视觉领域的两个重要任务&#xff0c;旨在提高图像质量和可视化效果。本文将综述图像去雾和去雨的算法、理论以及相关项目代码示例。 一、图像去雾算法 基于暗通道先验的方法&#xff1a; 这是广泛应用于图像去雾的经典算法之一。该方法基于一个观察&…...

Docker+jenkins+gitlab实现持续集成

1.安装环境 服务器ip虚拟机版本192.168.5.132centos7.6192.168.5.152centos7.6 2. 安装docker 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源信息&#xff0c;要确保centos7能上外网 yum-config-manager --add-repo http:…...

Web前端JS如何获取 Video/Audio 视音频声道(左右声道|多声道)、视音频轨道、音频流数据

写在前面&#xff1a; 根据Web项目开发需求&#xff0c;需要在H5页面中&#xff0c;通过点击视频列表页中的任意视频进入视频详情页&#xff0c;然后根据视频的链接地址&#xff0c;主要是 .mp4 文件格式&#xff0c;在进行播放时实时的显示该视频的音频轨道情况&#xff0c;并…...

MySQL生成UUID并去除-

uuid()函数 uuid() 函数可以使mysql生成uuid,但是uuid中存在-,如下图&#xff1a; 去除uuid的- 默认生成的uuid含有-&#xff0c;我们可以使用replace函数替换掉-&#xff0c;SQL如下 select replace(uuid(),"-","") as uuid;Insert语句中使用UUID 如果…...

包与字符串

包是分类管理的需要&#xff0c;建立包用:package&#xff0c;包中类的引用import 学习使用javaAPI中的字符串类String&#xff0c;学会其成员方法的使用 &#xff08;必看&#xff09;eclipse包的分层等级结构设置 因为eclipse的包的结构默认是平行等级的&#xff0c;所以要手…...

【Gradle】mac环境安装Gradle及配置

官网安装说明&#xff1a;Gradle | Installation 由于Gradle运行依赖jvm&#xff0c;所以事先需要安装jdk&#xff0c;并确认你的jdk版本和gradle版本要求的对应关系&#xff0c;这个官网上有说明&#xff0c;但是我试了一下不太准确&#xff0c;供参考&#xff0c;链接如下&a…...

使用C语言操作kafka ---- librdkafka

1 安装librdkafka git clone https://github.com/edenhill/librdkafka.git cd librdkafka git checkout v1.7.0 ./configure make sudo make install sudo ldconfig 在librdkafka的examples目录下会有示例程序。比如consumer的启动需要下列参数 ./consumer <broker> &…...

误用STM32串口发送标志位 “USART_FLAG_TXE” “USART_FLAG_TC”造成的BUG

当你使用串口发送数据时是否出现过这样的情况&#xff1a; 1.发送时第一个字节丢失。 2.发送时出现莫名的字节丢失。 3.各种情况字节丢失。 1.先了解一下串口发送的流程图&#xff08;手动描绘&#xff09;&#xff1a; 可以假想USART_FLAG_TXE是用于检测"弹仓"&…...

指针(三)

函数指针 定义&#xff1a;整型指针是指向整形的指针,数组指针式指向数组的指针,其实函数指针就是指向函数的指针。 函数指针基础&#xff1a; &#xff08;&#xff09;优先级要高于*&#xff1b;一个变量除去了变量名&#xff0c;便是它的变量类型&#xff1b;一个指针变量…...

labelimg遇到的标签修改问题:修改一张图像的标签时,保存后导致classes.txt改变

问题描述&#xff1a;修改一张图像的标签时候&#xff0c; classes.txt 会同步更新&#xff0c;导致重新生成了 classes.txt 但是这个 classes.txt 只有你现在写的那个类别名&#xff0c;以前的没有了。 解决&#xff1a;设置一个 predefined_classes.txt&#xff0c;内容和模…...

Spring Cloud Gateway使用和配置

Spring Cloud Gateway是Spring官方基于Spring 5.0&#xff0c;Spring Boot 2.0和Project Reactor等技术开发的网关&#xff0c;Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关&#xff…...

RT-Thread 时钟管理

时钟管理 时钟是非常重要的概念&#xff0c;和朋友出去游玩需要约定时间&#xff0c;完成任务也需要花费时间&#xff0c;生活离不开时间。 操作系统也一样&#xff0c;需要通过时间来规范其任务的执行&#xff0c;操作系统中最小的时间单位是时钟节拍&#xff08;OS Tick&…...

User: zhangflink is not allowed to impersonate zhangflink

使用hive2连接进行添加数据是报错&#xff1a; [08S01][1] Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. User: zhangflink is not allowed to impersonate zhangflink 有些文章说需要修…...

深入理解Sentinel系列-1.初识Sentinel

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理&#x1f525;如果感觉博主的文章还不错的话&#xff…...

vue中字典的使用

1.引入字典 dicts: [order_status,product_type],2.表单中使用 select下拉 <el-form-item label"订单状态" prop"orderStatus"><el-select v-model"form.orderStatus" clearable placeholder"请输入订单状态" :disabled"…...

AWS基于x86 vs Graviton(ARM)的RDS MySQL性能对比

概述 这是一个系列。在前面&#xff0c;我们测试了阿里云经济版&#xff08;“ARM”&#xff09;与标准版的性能/价格对比&#xff1b;华为云x86规格与ARM&#xff08;鲲鹏增强&#xff09;版的性能/价格对比。现在&#xff0c;再来看看AWS的ARM版本的RDS情况 在2018年&#…...

ESP32 蓝牙音箱无法链接上电脑的解决:此项不起作用,请确保你的蓝牙设备仍可检测到

ESP32 被我加了放大器后通过A2DP链接手机播放一直正常&#xff0c;但是怎么都链接不到电脑&#xff0c;蓝牙设备可以被发现和配对&#xff0c;但是始终无法连接&#xff0c;显示&#xff1a; 此项不起作用&#xff0c;请确保你的蓝牙设备仍可检测到&#xff0c;然后再试一次 …...

会声会影2024软件还包含了视频教学以及模板素材

会声会影2024中文版是一款加拿大公司Corel发布的视频编软件。会声会影2024官方版支持视频合并、剪辑、屏幕录制、光盘制作、添加特效、字幕和配音等功能&#xff0c;用户可以快速上手。会声会影2024软件还包含了视频教学以及模板素材&#xff0c;让用户剪辑视频更加的轻松。 会…...

[Swift]RxSwift常见用法详解

RxSwift 是 ReactiveX API 的 Swift 版。它是一个基于 Swift 事件驱动的库&#xff0c;用于处理异步和基于事件的代码。 GitHub:https://github.com/ReactiveX/RxSwift 一、安装 首先&#xff0c;你需要安装 RxSwift。你可以使用 CocoaPods&#xff0c;Carthage 或者 Swift …...

探索鸿蒙_ArkTs开发语言

ArkTs 在正常的网页开发中&#xff0c;实现一个效果&#xff0c;需要htmlcssjs三种语言实现。 但是使用ArkTs语言&#xff0c;就能全部实现了。 ArkTs是基于TypeScript的&#xff0c;但是呢&#xff0c;TypeScript是基于javascript的&#xff0c;所以ArkTs不但能完成js的工作&a…...