模式挖掘算法
1. 序列模式的序列挖掘算法步骤
1) 排序阶段。数据库D以客户号为主键交易时间为次键进行排序。这个阶段将原来的事务数据库转换成由客户序列组成的数据库。
2) 频繁项集阶段。找出所有频繁项集组成的集合L。也同步得到所有频繁1-序列组成的集合。
3) 转换阶段。在找序列模式的过程中要不断地进行检测一个给定的频繁集是否包含于一个客户序列中。
4) 序列阶段利用已知的频繁集的集合来找到所需的序列。类似于关联的Apriori算法。 AprioriAll算法与Apriori算法的执行过程是一样的,不同点在于候选集的产生,具体候选者的产生如下:
候选集生成的时候需要区分最后两个元素的前后,因此就有<p.item1,p.item2,…,p.,q.>和<p.item1,p.item2,…, q.,p.>两个元素。 AprioriSome算法可以看做是AprioriAll算法的改进,具体可以分为两个阶段:
(1)Forward阶段:找出置顶长度的所有大序列,在产生Li后,根据判断函数j=next(last),此时last=i,j>i,下个阶段不产生i+1的候选项,而是产生j的候选项,如果j=i+1,那么就根据Li生成Cj,如果j>i+1,那么Cj就有Cj-1产生。然后扫描数据库计算Cj的支持度。
(2)Backward阶段:根据Lj中的大项集,去掉Ci(i<j)中出现的Lj项,然后计算Ci中的支持度,判断那些在Forward阶段被漏判的项集。
AprioriAll算法和AprioriSome算法的比较:
(1)AprioriAll用去计算出所有的候选Ck,而AprioriSome会直接用去计算所有的候选,因为包含,所以AprioriSome会产生比较多的候选。
(2)虽然AprioriSome跳跃式计算候选,但因为它所产生的候选比较多,可能在回溯阶段前就占满内存。
(3)如果内存占满了,AprioriSome就会被迫去计算最后一组的候选。
(4)对于较低的支持度,有较长的大序列,AprioriSome算法要好些。 GSP(Generalized Sequential Patterns)算法,类似于Apriori算法大体分为候选集产生、候选集计数以及扩展分类三个阶段。与AprioriAll算法相比,GSP算法统计较少的候选集,并且在数据转换过程中不需要事先计算频繁集。
GSP的计算步骤与Apriori类似,但是主要不同在于产生候选序列模式,GSP产生候选序列模式可以分成如下两个步骤:
(1)连接阶段:如果去掉序列模式S1的第一个项目与去掉序列模式S2的最后一个项目所得到的序列相同,则可以将S1和S2进行连接,即将S2的最后一个项目添加到S1中去。
(2)剪枝阶段:若某候选序列模式的某个子集不是序列模式,则此候选序列模式不可能是序列模式,将它从候选序列模式中删除。
2. 求大神简述一下LLE算法(或降维算法)在模式识别和数据挖掘中是怎样被应用的呢,谢谢
关于LLE算法具体的理论部分你可参考http://www.pami.sjtu.e.cn/people/xzj/introcelle.htm
Locally linear embedding (LLE),使用这种算法可以进行非线性降维,关键是其能够使降维后的数据保持原有拓扑结构
先给出一张下面算法得到的图 ,图中第一幅
LLE算法可以归结为三步:
(1)寻找每个样本点的k个近邻点;
(2)由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;
(3)由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值。
为原始数据,第三个为降维后的数据,可以看出处理后的低维数据保持了原有的拓扑结构。
另,本人对LLE算法不是很熟悉,在此介绍一下其他降维算法的使用,以SVD算法为例。
电影推荐。
(1)假设现在有一个用户和电影评分的二维矩阵,矩阵内容是用户对电影的评分,现有得知某个用户对部分电影的评分,由此为该用户推荐他可能喜欢的电影。
(2)假设用户有100W,电影有100W部,那么对于任意一种推荐算法来说,这个数据量都很大,该问题无法在单机上进行运算解决;
(3)这100W维特征中必然存在一些几乎不重要的特征,这时,我们就需要用降维算法进行降维,降维的目的就是去掉大量的不重要的特征,以简化运算;
(4)在此例中,可以使用SVD(或SVD++)算法对矩阵进行降维
图片相似度
(1)通常,进行图片相似度判断首先会将图片通过傅里叶变换转换成数值代表的矩阵,矩阵代表着该图片,一般来说矩阵维数越高越精确
(2)同样,维数过高的情况下,相似度计算成本很高,因此同样需要降维,在图片相似度识别中常用的降维算法是PCA算法;
总之,降维的目的就是减少特征的维数,减少运算的成本。
以上皆为我的拙见,如有疑义请指正。
3. 数据挖掘与算法是什么关系
数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。
数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。数据挖掘算法是根据数据创建数据挖掘模型的一组试探法和计算。 为了创建模型,算法将首先分析您提供的数据,并查找特定类型的模式和趋势。算法使用此分析的结果来定义用于创建挖掘模型的最佳参数。然后,这些参数应用于整个数据集,以便提取可行模式和详细统计信息。
关于数据挖掘的相关学习,推荐CDA数据师的相关课程,课程内容兼顾培养解决数据挖掘流程问题的横向能力以及解决数据挖掘算法问题的纵向能力。要求学生具备从数据治理根源出发的思维,通过数字化工作方法来探查业务问题,通过近因分析、宏观根因分析等手段,再选择业务流程优化工具还是算法工具,而非“遇到问题调算法包”。真正理解商业思维,项目思维,能够遇到问题解决问题。点击预约免费试听课