数据挖掘技术论文 干货分享:数据挖掘浅谈

干货分享:数据挖掘浅谈

编辑导读:数据挖掘是指从大量的、不完全的、有噪声的、模糊的、随机的数据中通过算法搜索隐藏于其中信息的过程。本文作者围绕数据挖掘展开分析,希望对你有帮助。

数据挖掘技术论文 干货分享:数据挖掘浅谈

豆豆和花花开了一家鲜花店。豆豆跟花花说:“情人节快到了,咱店都需要准备哪类情人节花束?每类花束需要准备多少?……” 花花回答道,“根据顾客分类,大致分为自信示爱、甜蜜上心、星河挚爱等共8类。前三类去年卖地特别好,今年需要提供比上年多30%的花束……”。豆豆说:“鲜花的保质期特别短,所以,多购买的鲜花只能从30%降至10%,既可以控制成本,又可以积攒口碑……”

在上面案例中,花花制定采购方案首先进行顾客分类,在数据挖掘领域,可以使用无监督模型(例如k-means),也可以使用分类模型(例如KNN、决策树、逻辑回归等)将用户分群。花花预估“今年需要提供比上一年高30%的花束”,在数据挖掘领域,可以使用回归模型进行预测。

接下来,笔者就跟你浅谈一下数据挖掘。

01 机器学习与数据挖掘的区别与联系

1.1 概念

首先,我们对机器学习和数据挖掘的定义做一下总结:数据挖掘是指从大量的、不完全的、有噪声的、模糊的、随机的数据中通过算法搜索隐藏于其中信息的过程。换句话说,数据挖掘试图从海量数据中找到有用的信息。

机器学习是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。也就是说,机器学习就是将现实生活中的问题抽象成数学模型,利用数学方法对这个数学模型进行求解,从而解决现实生活中的问题。

1.2 联系与区别

1.2.1 联系 数据挖掘受到很多学科领域的影响,其中包括数据库、机器学习、统计学、领域知识及模式识别等领域。简而言之,对于数据挖掘,数据库提供数据存储技术,机器学习和统计学提供数据分析技术。

数据挖掘技术论文 干货分享:数据挖掘浅谈

统计学经常忽视实际的效用醉心于理论的优美,因此,统计学提供的大部分技术都要在机器学习领域进一步研究,变成机器学习算法后才能进入数据挖掘领域。从这方面来讲,统计学主要是通过机器学习来对数据挖掘发挥影响,而机器学习和数据库则是数据挖掘的两大支撑。简言之,机器学习为数据挖掘提供解决实际问题的方法,数据挖掘中算法的成功应用,说明了机器学习对算法的研究具有实际运用价值。

1.2.2 区别

从数据分析来讲,大多数数据挖掘技术都是来自于机器学习,但是机器学习研究不把海量数据作为处理对象,因此,数据挖掘需要对算法进行改造,使得算法性能和空间占用达到实用的地步。同时,数据挖掘还有自身独特的内容——关联分析。

至于,数据挖掘和模式识别,从概念上区分,数据挖掘重在发现知识,模式识别重在认识事物。

简言之,机器学习注重相关机器学习算法的理论研究和算法提升,更偏向理论和学术;数据挖掘注重运用算法或者其他某种模式解决实际问题,更偏向实践和运用。

02 机器学习的分类

机器学习的方法是基于数据产生的“模型”的算法,也称为“学习算法”。机器学习方法包括有监督学习、无监督学习、半监督学习和强化学习。

数据挖掘技术论文 干货分享:数据挖掘浅谈

2.1 有监督学习

有监督学习指对数据的若干特征与标签之间的关联性进行建模的过程。它的主要目标是从有标签的训练数据中学习模型,以便对未知或未来的数据做出预测。以用户是否会复购鲜花为例,可以采用监督学习算法在打过标签的(正确标识是与否)数据上训练模型,然后用该模型来预测新用户是否属于粘性用户。

标签为离散值的监督学习任务称为「分类任务」,例如上述的用户是否会复购鲜花示例。常用的分类模型包括KNN、决策树、逻辑回归等。

标签为连续值的监督学习任务称为「回归任务」,例如根据历史数据预测未来的销售额。常用的回归模型为线性回归、非线性回归和岭回归等。

注意:机器学习领域的预测变量通常称为特征,而响应变量通常称为目标变量或标签。

2.2 无监督学习

无监督学习指对不带任何标签的数据特征进行建模,通常被看成是一种“让数据自己介绍自己”的过程。也就是说,用无监督学习,可以在没有目标变量或奖励函数的指导下,探索数据结构来提取有意义的信息。这类模型包括「聚类任务」和「降维任务」。其中,聚类算法可以将数据分成不同的组别,而降维算法追求用更简洁的方式表现数据。

2.3 半监督学习

半监督学习方法介于有监督学习和无监督学习之间,通常在数据不完整时使用。

2.4 强化学习

强化学习不同于监督学习,它将学习看作是试探评价过程,以“试错”的方式进行学习,并与环境交互已获得奖惩指导行为,以其作为评价。也就是说,强调如何基于环境而行动,以取得最大化的预期利益。此时,系统靠自身的状态和动作进行学习,从而改进行动方案以适应环境。

03 数据挖掘建模过程

从数据本身来考虑,数据挖掘建模过程通常需要有理解商业、理解数据、准备数据、建模型、评估模型和部署模型6个步骤。

数据挖掘技术论文 干货分享:数据挖掘浅谈

3.1 理解商业

理解商业算是数据挖掘中最重要的一部分,在这个阶段我们需要明确商业目标、评估商业环境、确定挖掘目标以及产生一个项目计划。简单地说,就是针对不同的业务场景,需要明白挖掘的目标是什么,需要达到什么样的效果。用大白话讲,就是你到底想干啥。

仍以鲜花店为例,为了提高销售额,店员可以帮助客户快速找到他感兴趣的花束,同时在保证用户体验的情况下,为其附加一个可接受的小饰品,比如花瓶、零食、香水等。

3.2 理解数据

数据是挖掘过程的“原材料”,在数据理解过程中我们需要了解都有哪些数据,这些数据的特征是什么,可以通过对数据进行描述分析得到数据的特点。其中,了解有哪些数据尤为重要,其决定了后期工作进展的顺利程度。比如和花店有关的数据:

1)鲜花数据:鲜花名称、鲜花品类、采购时间、采购数量、采购金额等。

2)经营数据:经营时间、预定时间、预定品类、预定人数等。

3)其他数据:是否为节假日、用户口碑、竞争对手动向、天气情况等。

3.3 准备数据

在数据准备阶段我们需要对数据作出清洗、重建、合并等操作。选出要进行分析的数据,并对不符合模型输入要求的数据进行规范化操作。主要是为建模准备数据,可以从数据预处理、特征提取、特征选择等几方面出发,整理如下:1)缺失值:由于个人隐私或设备故障导致某些观测值在某些纬度上的漏缺,通常称为缺失值。缺失值存在可能会导致模型结果的错误,所以针对缺失值可以考虑删除、众数或均值填充等解决。

2)异常值:由于远离正常样本的观测点,它们的存在同样会对模型的准确型造成影响。可以通过象限图或3sigma(正态分布)进行判断,如果是,可以考虑删除或单独处理。

3)量纲不一致:模型容易受到不同量纲的影响,因此需要通过标准化方法(通常采用归一化、Normalization之类的方法)将数据进行转换。

4)维度灾难:当数据集中包含上百乃至上千万的变量时,往往会提高模型的复杂度,从而影响模型的运行效率,所以需要采用方差分析、相关分析、主成分分析等手段实现降维。

3.4 建模型

一般情况下,预处理将占整个数据挖掘流程80%左右的时间。在保证数据“干净”的前提下,需要选出合适的模型。以下是常用的机器算法。1)分类模型:KNN、决策树、逻辑回归等。

2)回归模型:线性回归、岭回归、支持向量回归等。

3)无监督模型:k-means等。

数据挖掘中大部分模型都不是专为解决某个问题而特制的,模型之间相互不排斥。不能说一个问题只能采用某个模型,其他的都不能用。通常来说,针对某个数据分析项目,并不存在所谓的最好的模型,在最终决定选择哪种模型之前,各种模型都尝试一下,然后再选取一个较好的。各种模型在不同的环境中,优劣会有所不同。

3.5 评估模型

评估阶段主要是对建模结果进行评估,目的是选出最佳的模型,让这个模型能够更好地反映数据的真实性。并不是每一次建模都能符合我们的目标,对效果较差的结果分析原因,偶尔也会返回前面的步骤对挖掘过程重新定义。比如,对于决策树或者逻辑回归,即使在训练集中表现良好,但在测试集中结果较差,说明该模型存在过拟合。

3.6 模型部署

建立的模型需要解决实际的问题,它还包括了监督、产生报表和重新评估模型等过程。很多时候建模一般使用spss、python、r等,在建模的过程中只考虑模型的可用性,在生产环境中通常会利用Java或C++等语言将模型改写,从而提高运行性能。

祝大家情人节快乐!

作者:猫耳朵,专注于数据分析;“数据人创作者联盟”成员。

本文由@一个数据人的自留地 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Pexels,基于CC0协议。

趣味数据挖掘系列3:一篇 “它引” 上万的大牛论文 与 数据血统论

数据挖掘技术论文 干货分享:数据挖掘浅谈

本文先通俗地介绍快速挖掘关联规则的Apriori算法,然后介绍发表这一算法的论文(它被引用了11480+次),最后关注此文的实际影响 与 传统影响因子的差距。

有言在先,趣味数据挖掘和趣味数学一样,有些段落比较细致,此文虽只要中学数学知识,但须静心把它当回事,或许要在草稿上写画,才读得顺畅。

数据挖掘技术论文 干货分享:数据挖掘浅谈

1

朴素挖掘方法中的组合数呈指数增长

上文中,关联规则朴素挖掘法的主要脉络是 “组合对象–选举-唱票-计票”。人们说组合对象数量很大,究竟大到什么程度?

从m个对象中选k个对象的组合数记为C(m,k), 中学数学中, C(m,k)=m!/k!(m-k)!, 下面简单估计它的增大趋势:

C(m,k) 是二项式(1+x)m 展开后第k+1项系数,令x=1,容易得出∑C(m,k)= (1+1)m= 2m

所以,二项式展开后的m+1个系数的平均值为2m /(m+1) ,其分布称为二项分布,中学数学给出前几个是(1,1)(1,2,1) (1,3,3,1) (1,4,6,4,1),…大致规律是两头小,中间大,还可用杨辉三角形计算。中间的系数远大于平均值 2m /(m+1) . 所以说,组合数是大致随m的指数增长的。

于是,朴素挖掘方法耗时也随m的指数增长的,当m=105,(一个超市中的物品数量),2m /(m+1) 可是天文数字!

为解决朴素挖掘方法中组合爆炸问题,R. Agrawal和 R.Srikant与1994年提出了Aprior算法。

2

Aprior性质与数据血统论:高频集的子集一定是高频集

Aprior,形容词,发音 [‘ei prai ‘o rai], 其译意包括:演绎的、先天的、先验的、推测的、演绎的、事前的,等等。

笔者体会,Aprior算法命名是采用“先天的”这一层意思(曾与R.Agrawal同登黄山,但兴奋中忘了问这个问题)。

Aprior性质说:高频集的子集一定是高频集,这相当于“龙生龙、凤生凤”,注意,它并未断言“老鼠生儿打地洞”,所以,属于半血统论。

社会生活中,血统论带来不公平,22个世纪前,大泽乡起义的带头人陈胜,代表老百姓的发出了一声呐喊:“王侯将相宁有种乎?”,它穿越时空、而今还振聋发聩(典出《史记·陈涉世家》)。

数据空间中的血统论带来了数据的不公平,正好可用于数据剪枝,尽早排除哪些不必要扫描的对象,从而提高计算速度。

这个数据血统论 有下列两层意思:

2.1从高频集看其子集

用乒乓球竞赛作比喻,设在10次竞赛中有5次以上夺冠的选手的称为高频选手,(相当于支持度阈值=5/10);

Aprior性质说:如果双打组合 {A, B} 是高频的,则其子集{A}和{B}都是高频的。

为什么?因已知A, B联手5次夺冠,A还可能和其他选手联手或单打而夺冠,所以A的夺冠总次数不低于5。

Aprior性质对任意k项集都成立,双打只说了k=2的特例;人们都承认它,有公理体系之洁癖的数学美爱好者,也可在一番定义之后去证明它。

2.2 Aprior构造性命题

(k+1)项的高频集一定可以用其两个k项的高频子集 连接而成。

例如,上篇博文中 k=3时, {烤鸭,面饼,面酱} 是高频集,用 JOIN 表示数据库中的连接运算,则这个三项集可用两个双项(高频)集 连接而成,如下所示:{烤鸭,面饼} JOIN {面饼,面酱} == {烤鸭,面饼,面酱}。要点是,两个记录中的“面饼”作粘连项,用数据库的行话,是两个只有一行的表(关系)做等值连接。

一般地描述,(k+1)项的高频集有(k+1)个k项子集(且都是高频的),容易找到其中的两个,使他们有K-1项相同,连接即可。

3

迅速排除非高频集的法宝

上述Aprior构造性命题的逆否命题是“不能用两个k项高频集连接而成的k+1项集,一定不是高频集”,使得我们能用构造性命题把高频候选集 迭代地、循序渐进地、一个不漏地 构造出来,因为凡是构造不出来,都要排除,不必操心。

这是我们迅速排除非高频集、缩小候选空间的法宝。大致思路的估计如下:

摸着石头过河 试探地确定支持度阈值。 假定超市有10万种商品,想找出同时被购买得比较多的K项集合,K=1,2,..,10。什么是“比较多”?怎样选择支持度阈值T?

T=0.01; 满足此阈值的项多,挖掘系统计算很长时间才算完,可能经济意义小

T=0.95 ,可能太大,类似于元宵节大部分家庭买汤圆,平时满足此阈值的商品少,甚至为空集;挖掘系统很快(几秒钟-几分钟)就算完了

T=20%,即有20%的顾客都买的货物,(这类商品真实存在,例如食品、餐巾纸,卫生纸等等)。比较中庸,有意义,中等时间消耗。

4

Aprior原理作迅速剪枝

下面,为了找到量的感觉,将用常识与合理假定,给出一些具体的数据。

4.1 先找出高频单项集

设挖掘系统扫描数据库得知,支持度不小于20% 单项集 只有 100项。

这一次从10万项中剪掉了99.9%。

4.2 只有高频单项集,才有资格组合成高频双项集的候选集(根据构造性命题)

这个消息太好了,按照Aprior原理,不需扫描 10万种商品,而只需考虑100项商品组成的双项集,他们一共有100(100-1)/2 =4950项,如果采用朴素的笨方法,从10万项产生双项集,会有10^5 *10^5-1)/2 > 10^9项!

这一次剪掉的不少于99.9999999%当然,没被剪枝的,还需要扫描一次流水账,核实其高频性。

设 4950个双项集中,支持度不小于20%的只有 10项,(双项高频集比单项集要难一些,因为项与项需要“缘分”才能被同时购买),则4940项及其超集都被剪掉了,这一次又剪掉4940/4950=99.7%

4.3 只有高频双项集才有资格连接成高频三项集的候选集

10个双项集,彼此连接,产生的三项候选集超集不会超过10*9/2=45项,还不太多,核实其高频性也比较容易了。以此类推….

总的思想:

(a)知道了某项不是高频集,就把它排出;

(b)因为它的血统不够高贵,其超集合的血统一定不高贵,也被排除;

(c)在理想参数下,每次可能排除绝大部分。

这就是我们用来剪枝,加快的法宝。

5

一举成名的高被引用论文之特征

Aprior算法是IBM Almaden研究中心的 R. Agrawal和 R. Srikant在1994年提出的,发表在数据库界的顶级国际会议VLDB 94上,在Google 上一搜即得,有兴趣者不妨实查一下,它被引用了11480+ 次,也可在本文附件中下载。

这是顶级科学家在顶级国际会议上的一个方向的开创性论文,因为紧凑,原始文献比教科书中相关章节稍难读,更不像科普博文这样浅显。笔者在教学中,常推荐给新入门者,因为它有下列特色:

它于无中添有,高频数据的先天性质(Aprio性质)天天摆在光天化日下,被普通人熟视无睹、擦肩而过,人群中,有一个人– R. Agrawal,就像王菲在《传奇》中唱的,多看了它几眼,捅破了这层窗户纸,在人类知识上无中添有(这就是创新),窗户纸有个特点,未破之前,百思不得其解,捅破之后,一目了然,大众认可;

它也兴风作浪— 独特的算法,并不复杂,掀起了一阵关联规则研究的潮流。

它像破冰船,破开了关联规则研究方向的拦路坚冰;它像推土机,推开了露天煤矿的表土,又不独贪(矿场太大,也无法独贪),留给后来者的,不是榨干了油水的骨头,所以才有大批后来者跟踪、改进,引出了后来的成百上千篇的改进型论文,才有上万次的引用。

它很完整,有背景,有模型,有形式化描述,有理论、有算法,这也是数据挖掘界学术论文的标准写法,初学者可在这里学思想、学写法,学实验;

它有大规模实验验证,实验数据含105个记录,这在当时已经是的“海量”了,当年用的计算机是IBM RS6000,主频 33M,也许在1994年是不错的设备,今天看来,并不高贵。在大规模的数据集上测试算法的规模伸缩性,是如今数据挖掘论文攀登顶级会议的必要条件。

6

十大算法的Top4

在2006年,国际数据挖掘界推选十大数据挖掘算法,经过严密的程序,几个国际会议程序委员会( KDD-06, ICDM ’06, SDM ’06 ,ACM KDD Innovation Award and IEEE,ICDM )的提名 —投票—辩论,最后Aprilori 算法名列十大算法的第四名。(关于十大算法,另择机讨论)。

7

不公平的影响因子

VLDB顶级国际会议,一年只有几十篇论文的空间,进入VLDB似乎比进入奥运会还要难,但会议论文既不上EI,也不上SCI。ISI不计算其影响因子,或ISI影响因子为0。

根据DBLP和Google的论文统计,从1994-2003年,SIGMOD文章平均被引用70次,VLDB文章平均被引用50次。简单抽样表明,引用高峰在前两年,各占10年中引用数的20%以上,如果这个抽样有一般性,则 实际 影响因子可能不小于10,甚至不小于14。

而论文[1]被引用11480+ 次,是特例中的特例,可能进入计算机科学论文被引用次数的高端了。

8

假如R.Agrawal在中国

目前,我国若干学校和科研单位单位并不承认国际会议论文。可能是因为制定科研成果认定政策的官员,多非计算机专业人士,他们只认SCI-EI,而不认这些顶级会议。(相关问题,或许另择机讨论)。

所以,如果R. Agrawal,和 R. Srikan在中国,如果他们鼓起勇气,用那篇开创性的论文[1]作为申请博士学位或作为提职称的主打材料,可能会像刀郎唱的,受到“冲动的惩罚”。

最近有了好消息,中国计算机学会(CCF)公布了一个“推荐国际学术会议”清单,其中包括数据库界的四个顶级会议:SIGMOD,VLDB,ICDE 和 SIGKDD,也许这个推荐清单还不足以说服有关官员,但抗争者至少有了一点批判的武器,不再是手无寸铁。

参考文献:

[1] R Agrawal, and R Srikant .”Fast Algorithms for Mining Association Rules in Large Databases”, Proceedings of the 20th International Conference on Very Large Data Bases, p.487-499, September 12-15, 1994.

作者:唐常杰,四川大学,计算机学院,教授

点击文字查看精选热文

相关问答

数据挖掘,聚类分析算法研究的目的和意义是什么?

这个题目的确是有点超出本科生能力,因为数据聚类算法很多,都不是很容易实现,更不用说在效果,效率上的分析,而且绝大多数算法的优缺点早就总结过了,也很难创...

想考博,需要几篇文章,哪个学校的数据挖掘专业比较好,求推荐?

6、两位教授或相当专业技术职务专家的推荐书(加印密封),其中至少有一名博士生指导教师。扩展资料博士学位授予单位应从以下三个方面认定申请人是否具备博士...

毕业论文的研究方法及技术路线怎么写全文?

开题报告中的毕业论文的研究方法或技术路线可以按照以下步骤进行编写:1.研究方法概述:首先,简要介绍整个研究方法或技术路线的概述,包括所选用的主要方法或...

后台开发与数据挖掘哪个更适合研究生发展?

如果是三年硕士的话,做数据挖掘比较合适,学习一下基础算法,比较有理论深度,写论文容易。如果是做后台开发的话,偏实践,不容易写论文。不好从理论上做文章...

TKDE每年A类录用论文多少篇?

TKDE是IEEETransactionsonKnowledgeandDataEngineering(IEEE知识与数据工程交易)的缩写,是数据挖掘、机器学习、人工智能、数据库等领域的顶级...

专利文献和学术论文的相通之处?

专利文献与学术论文分别表现了技术创新与科学研究的新进展,通过专利主体将二者结合进行技术主题演化分析,对进一步发现专利技术与科学研究间的关系有一定的参...

数据分析技术现在发展得怎么样?

您是否想更好地了解传统数据与大数据之间的区别,在哪里可以找到数据以及可以使用哪些技术来处理数据?这些是处理数据时必须采取的第一步,因此这是一个不错...一...

做一名数据分析师,需要掌握哪些技术与知识?

您是否想更好地了解传统数据与大数据之间的区别,在哪里可以找到数据以及可以使用哪些技术来处理数据?这些是处理数据时必须采取的第一步,因此这是一个不错...一...

大数据分析的技术包括哪些?

您是否想更好地了解传统数据与大数据之间的区别,在哪里可以找到数据以及可以使用哪些技术来处理数据?这些是处理数据时必须采取的第一步,因此这是一个不错...您...

数据分析与挖掘工程师,有必要掌握网络爬虫技术吗?

您是否想更好地了解传统数据与大数据之间的区别,在哪里可以找到数据以及可以使用哪些技术来处理数据?这些是处理数据时必须采取的第一步,因此这是一个不错...一...