数据挖掘与机器学习究竟是怎样的关系和区别

后使用快捷导航没有帐号?
查看: 1252|回复: 8
机器学习到底和数据挖掘以及人工智能有啥不同呀,现在还是迷惑
金牌会员, 积分 2389, 距离下一级还需 611 积分
论坛徽章:22
如题,求大神解惑
金牌会员, 积分 2769, 距离下一级还需 231 积分
论坛徽章:47
为何要纠结这些呢,都是在统计学基础上,依赖计算机做复杂的矩阵运算,采用各种算法出结果为人民服雾的……只是偏向的应用领域或者说法不太一样
就好像练武术,能打人就可以了,何必纠结于不同的门派和招式呢?
注册会员, 积分 110, 距离下一级还需 90 积分
论坛徽章:3
偏向的应用领域不太一样,能否具体解释一下?分别面向哪些应用领域呢?
中级会员, 积分 434, 距离下一级还需 66 积分
论坛徽章:5
对数据挖掘而言,数据库提供数据管理技术,机器学习和统计学提供数据分析技术。
由于统计学往往醉心于理论的优美而忽视实际的效用,因此,统计学界提供的很多技术通常都要在机器学习界进一步研究,
变成有效的机器学习算法之后才能再进入数据挖掘领域。从这个意义上说,统计学主要是通过机器学习来对数据挖掘发挥影响,
而机器学习和数据库则是数据挖掘的两大支撑技术
高级会员, 积分 651, 距离下一级还需 349 积分
论坛徽章:3
我觉的人工智能范围比较大,机器学习相对来说属于人工智能的范畴。数据挖掘是将机器学习作为工具,利用机器学习的算法用来完成数据挖掘。另外数据挖掘也使用到其他很多内容,而机器学习也在其他很多领域得到运用。
中级会员, 积分 448, 距离下一级还需 52 积分
论坛徽章:1
更注重应用,实践性更强
中级会员, 积分 328, 距离下一级还需 172 积分
论坛徽章:11
应用领域,应用层面不同而已,基础都是一样的
论坛徽章:20
真心没啥区别
扫一扫加入本版微信群数据挖掘领域中的分类和回归区别是什么?
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:走刀口
链接:/question//answer/
来源:知乎
分类和回归的区别在于输出变量的类型。
定量输出称为回归,或者说是连续变量预测;定性输出称为分类,或者说是离散变量预测。
举个例子:预测明天的气温是多少度,这是一个回归任务;预测明天是阴、晴还是雨,就是一个分类任务。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?人工智能机器学习统计学数据挖掘之间有什么区别? - 文章 - 伯乐在线
& 人工智能\机器学习\统计学\数据挖掘之间有什么区别?
【伯乐在线导读】:前段时间,作者在 (译注:国外的一个系列问答网站,其中Stack Overflow是其中一个子站)看到一个很有意思的问题,引起了他的注意。经过阅读和分析 StackExchange 上的所有答案后,他觉得有必将其想法写下来。
以下是 StackExchange 上的问题:
人工智能、机器学习、统计学和数据挖掘有什么区别?
是否可以这样说,它们是利用不同方法解决相似问题的四个领域?它们之间到底有什么共同点和不同点?如果它们之间有层次等级的区分,应该是怎样一回事?
我假定题主是想得到一个清晰的图,上面有各个领域清晰的分界线。因此,在这里我尝试用我最简单的方式来解释这个问题。
机器学习是一门涉及自学习算法发展的科学。这类算法本质上是通用的,可以应用到众多相关问题的领域。
数据挖掘是一类实用的应用算法(大多是机器学习算法),利用各个领域产出的数据来解决各个领域相关的问题。
统计学是一门研究怎样收集,组织,分析和解释数据中的数字化信息的科学。统计学可以分为两大类:描述统计学和推断统计学。描述统计学涉及组织,累加和描绘数据中的信息。推断统计学涉及使用抽样数据来推断总体。
机器学习利用统计学(大多是推断统计学)来开发自学习算法。
数据挖掘则是在从算法得到的结果上应用统计学(大多是描述统计学),来解决问题。
数据挖掘作为一门学科兴起,旨在各种各样的行业中(尤其是商业)求解问题,求解过程需要用到不同研究领域的不同技术和实践。
1960年求解问题的从业者使用术语Data fishing来称呼他们所做的工作。1989年Gregory Piatetsky Shapiro使用术语knowledge Discovery in the Database(KDD,数据集上的知识发掘)。1990年一家公司在商标上使用术语数据挖掘来描述他们的工作。现如今现如今数据挖掘和KDD两词可以交换使用。
人工智能这门科学的目的在于开发一个模拟人类能在某种环境下做出反应和行为的系统或软件。由于这个领域极其广泛,人工智能将其目标定义为多个子目标。然后每个子目标就都发展成了一个独立的研究分支。
这里是一张人工智能所要完成的主要目标列表(亦称为AI问题)
1、Reasoning(推理)
2、Knowledge representation(知识表示)
3、Automated planning and scheduling(自动规划)
4、Machine learning(机器学习)
5、Natural language processing(自然语言处理)
6、Computer vision(计算机视觉)
7、Robotics(机器人学)
8、General intelligence or strong AI(通用智能或强人工智能)
正如列表中提到的,机器学习这一研究领域是由AI的一个子目标发展而来,用来帮助机器和软件进行自我学习来解决遇到的问题。
自然语言处理是另一个由AI的一个子目标发展而来的研究领域,用来帮助机器与真人进行沟通交流。
计算机视觉是由AI的目标而兴起的一个领域,用来辨认和识别机器所能看到的物体。
机器人学也是脱胎于AI的目标,用来给一个机器赋予实际的形态以完成实际的动作。
它们之间有层次等级的区分吗,应该是怎样一回事?
解释这些科学和研究层次关系的一个方法是分析其历史。
科学和研究的起源
统计学——1749年
人工智能——1940年
机器学习——1946年
数据挖掘——1980年
统计学的历史公认起源于1749年左右,用来表征信息。研究人员使用统计学来表征国家的经济水平以及表征用于军事用途的物质资源。随后统计学的用途扩充到数据的分析及其组织。
人工智能的历史碰巧存在两种类型:经典的和现代的。经典人工智能可在古时的故事和著作中看得到。然而,1940年当人们在描述用机器模仿人类的思想时才出现了现代人工智能。
1946年,作为AI的分支,机器学习的起源出现了,它的目标在于使机器不通过编程和明确的硬接线进行自我学习来对目标求解。
是否可以这样说,它们是利用不同方法解决相似问题的四个领域?
可以这么来说(统计学,人工智能和机器学习)是高度相互依赖的领域,没有其他领域的引领和帮助,他们不能够单独存在。很高兴能看到这三个领域是一个全局领域而非三个有所隔阂的领域。
正如这三个领域是一个全局领域,它们在解决共同目标时发挥了自己的优势。因此,该方案适用于许多不同领域中,因为隐含的核心问题是一致的。
接下来是该数据挖掘出场了,它从全局获取解决方案并应用到不同的领域(商业、军事、医学、太空)来解决同一隐含本质的问题。这也是数据挖掘扩大其受欢迎程度的时期。
我希望我的解释已经回答了答主所提问一切疑问,我相信这能清晰地帮助任何一个想要理解这四个领域关键点的人们。如果你对该话题有任何想要说的或者要分享的,请在评论里写下你的想法。
关于作者:
可能感兴趣的话题
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线内容团队正试图以我们微薄的力量,把优秀的原创文章和译文分享给读者,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线后使用快捷导航没有帐号?
查看: 3729|回复: 14
人工神经网络和机器学习有什么关系
注册会员, 积分 152, 距离下一级还需 48 积分
论坛徽章:15
小伙伴,我想问下人工和有什么关系
注册会员, 积分 81, 距离下一级还需 119 积分
论坛徽章:3
机器学习中的一种算法。
注册会员, 积分 59, 距离下一级还需 141 积分
论坛徽章:10
其中一种算法而已了。
注册会员, 积分 106, 距离下一级还需 94 积分
论坛徽章:3
人工神经网络是比较新的机器学习算法吧
注册会员, 积分 54, 距离下一级还需 146 积分
论坛徽章:1
机器学习是个概念,神经网络是种手段
新手上路, 积分 28, 距离下一级还需 22 积分
论坛徽章:6
是机器学习的一种算法。好像有个例子就是手写识别。可以参考coursera里机器学习课程看下。
注册会员, 积分 191, 距离下一级还需 9 积分
论坛徽章:2
一个概念问题,神经网络是机器学习的一类方法,不过目前好像也是主要方法
注册会员, 积分 95, 距离下一级还需 105 积分
论坛徽章:20
有一个本书,叫神经网络与机器学习,很经典,可以看看
注册会员, 积分 164, 距离下一级还需 36 积分
论坛徽章:3
人工神经网络是机器学习的一种并不太新的方法。。。不过最新重新焕发光彩,以深度学习的形式出现了。
中级会员, 积分 214, 距离下一级还需 286 积分
论坛徽章:7
人工神经网络是机器学习更具体的实现
扫一扫加入本版微信群2103人阅读
(一)模式识别的诞生与人工智能
自动控制起始是从工业革命之后,人们就希望设计出减少人工干预,能自己进行调节(regulate)的机器,工程领域开始想出了根轨迹等等土招儿。等到40 年代,伴随二战的需要,计算机的产生,维纳(Wiener)——信息论和控制论(Cybernetics)的祖师爷正式开创了这“两论”。
控制论这个词是维纳根据古希腊词根发明出来的。用老爷子自己的话说就是“Cybernetics :or control and communication in the animal and the machine”。animal先不提,那是人家天才小时候就对生物学有兴趣;在工程方面,控制论的control主要是围着machine转的。因为祖师开山的时候是二战中,初衷就是要让机器代替人进行防空武器的随动瞄准。
维纳是数学家,写出来的理论和公式,让当时的工程师们看着实在头疼。但是维纳不仅仅是数学家和“搞理论”的,实际工程问题,人家二战中参与了,也想到了。最典型的就是对噪声的处理。
典型的负反馈控制系统框图里,从“传感器”的到“给定输入”之间,画一根线就连过来了。可是实际中,传感器有误差,测量回路中有包含噪声,需要的测量值甚至根本就是淹没在一片嘈杂的信号里面(水声信号)。这时候管识别“真实值”的问题叫滤波,通过设计各种滤波器来解决。
但是一学到现代信号处理这块就会发现和传统的信号处理不一样了,不再是时域、频域、Z域的滤波器变来变去了。从维纳最佳滤波的算法和ARMA模型的原理就可 以看出来,既然是用随机过程和概率统计来看待和描述信号和噪声,那么已经可以把这个滤波问题用“估计(Estimation)”、“预测 (Prediction)”来描述了。此外,对系统的状态方程确定参数的问题,好像是用的“辨识(Identification)”吧,都差不多。之所以罗嗦这些词,是因为这些词在模式识别的分支里出现的词。
祖师爷提出、总结这些方法大概主要为了玩转控制问题里的那些传感器。但是,其他不需要machine、不需要控制的领域,但是也需要用传感器去测量、去噪声、估计、预测、辨识啊!其实从需求角度,类似“怎么让机器能像人一样分辨人的语音”的研究,也是从40年代就开始了,一开始也是“语谱图”之类的土招儿,好像是贝尔实验室弄的吧。类似的问题“识别航拍照片”,“识别手写文字”都是类 似的工作。这些工作也都希望使用计算机代替人来做呢。
花开两朵各表一枝,先放下各行各业的需求和土招儿暂且不说,再来看看计算机。与此同时,计算机产生之后也需要找到更多的应用领域。除了吸引人的计算速度之外,数学家开始琢磨让计算机再干点别的。
于是,50年代开始出现“人工智能(artificial intelligence AI)”这个词。注意是artificial不是simulation。也就是说,不是用计算机“模仿”人脑硬件结构和人的思维过程,而是研究怎么让半导体造计算机用二进制数据结构+算法去达到肉长的人脑的智能“效果”。好比做题,只需要你能得到结果,不看步骤。数据结构和算法是计算机专业的核心之一,也是当年在“制造计算机”之外,研究怎么“使用计算机”的独门课程。(咱们中国大学里的计算机系大概是60年代从电子系、自动化系里独立出来的。)所以
“会编程、搞软件的”IT民工里,科班生比半路出家的“蓝领”强就强在,除了会if for这些语法之外,就是人家数据结构、算法、离散数学这些方面正经学过。那些“走迷宫”、“8皇后问题”,就是数学家抽象出来,丢给计算机去做的人的智力题。
AI又叫狭义的人工智能,基本可以等同于计算机算法了。当然也确实有研究人脑结构和思维过程,用计算机去simulation人脑的 “广义”人工智能,不过那更多是医学、生理学的事情啦。也许有人说不对啊,神经网络(Neural Networks NN)可是就是模拟人的神经元呀的算法啊,算狭义还是广义?这个,统计学家们发来抗议电,说NN压根就没那么玄乎,不过就是类似“投影寻踪回归 (Projection Pursuit Regression)”的算法。这个后面写到模式识别具体算法时候会提到。
但是除了做智力题之外,人的能力里属于智能的到底都有什么呢?经过总结,其中之一是识别能力,然后是决策能力。
这下好了,一边是需求,一边是计算机的计算能力。估计、预测、辨识、识别……是时候把这些类似的工作统筹解决了!
这样在60年代,模式识别(Pattern RecognitionPR)产生了。
(二)模式识别的流程与机器学习
一个标准的模式识别流程是:
“客观对象”—1—&“数值表示”—2—&“计算机算法”—3—&“识别结果”
但是这个流程只是计算机工作时的流程。而在能这样工作之前还要干很多事。比如人脸识别,一个计算机算法又不是天生就认识很多人,算法要经过训练和学习好了,才能照上面这个过程工作。
那么到底在训练、学习些什么,又是在识别些呢?
这个还是要回到定义。“模式识别”这个词不是太容易顾名思义的,我直到研究生入学以后很长时间还是不明白是什么意思,就知道是能分类。
还是说人脸识别吧。对人来说,看见来自于1个人的人脸图像,即使是不同表情和姿势的,我们也能认出这些图像来自于同一个人。而你之所以能认出来,可能是观察了脸型+发型,也可能是五官形状的组合。可是到底是图像上的什么决定了你的判断呢?你有的能说出来,可是有的却又说不清道不明的。于是,就用一个抽象的词 ——“模式”来形容那些能够让你判断出哪些样本属于同一类别、能够和其他类别相区别的特征或者属性。
我们下面设计计算机算法为每1个人的图像建立唯一的1个“模式”或者说模型,不同的N个人对应于N个模型。很可能每个人的身份编号i对应一个参数模型Mi。这个建立或者说训练(train)过程可能就是“统计”这些图像,确定每个模型的参数。
而开发者为了评价算法性能,也要先预备一些已知类别的图像,分成train set 和test set,这样在训练集上训练好的算法,要测试集上测试一下。根据测试结果调整算法参数,或者实在太差的话要换一种算法了。不断的调整参数、不断改程序,不断的train,不断的test……所以这方面的论文通常要附上算法在各种数据集,各种情况下的结果。一个图,一张表的背后,要写好多程序,花好多时间在电脑上运行。
这样训练好后,就可以按上面那个流程工作了。如果一张属于第i人的图片来了,算法用保存的N个人的模型去分别计算相似度,判断 这张图片来自于模型Mj的可能性最大,也就等于电脑可以通过看图片识别出了这人的身份是j。如果j等于真实身份i,那就识别正确了,如果每次都识别对,那电脑就达到了人脑的能力了。
注意算法在输出j的时候是不知道真实身份i的,那么这种工作,就可以看成是一种预测(Prediction)。 如果需要输出是离散变量,比如这里是类别,就称为分类(Classification),而需要预测连续型变量的,比如股指,房价,就称为回归 (Regression)。这里的回归没有针对“过去”的值的意思,就是说预测的目标输出的是连续性的值。
好了,现在来说机器学习 (Machine Learning ML)。回顾一下你的模型从哪里来的?虽然有些模型假设,但主要从输入的已知身份的数据中来的。而算法的“训练-考试”过程,又很像人的学习过程,于是把这一类计算机算法叫做Machine Learning。其实是MachineLearning from data了。看起来是Machine在不断自己 Learning,其实是人写的算法让它一直learning。如果算法是纯用统计学,也可以叫统计学习(Statistical Learning)。
所以在我看来,ML可能是最类似AI的范畴了,都是计算机算法嘛。区别是AI是具备类人能力就行,不管算法怎么来的,一个拍脑袋定义的出来的公式也算。而 ML要窄一些,是特指经过Learning from data 过程而获得的“智能”。用统计学的里的概念来说,ML是一种数据驱动的,非参数(Nonparametric)或者半参数 (Semiparametric)算法。
再来比较PR和ML。可以说,PR里面的算法部分基本上一定是属于ML。区别在于,PR里的ML算法主要就是在做预测。而整个ML就要广多了,如果你的算法输入是棋谱,那么训练好的算法就可以下棋打牌。但是UCI上面供机器学习算法之间进行能力比较的标准数据集基本都是分类和回归问题。这么看ML和PR实在是太相似了。
说到了这里,PR里面的ML算法,主要都是在用统计学(少部分有图论),问题也就出来了。提出算法的主要是人家数学家、统计学家、或者计算机专业的干的,已经属于science了。可是怎么模式识别的事净是自动化、电子信息、通信这些专业的搞呢?虽然你们攒一起改叫Electronics Engineering了,可那也是Engineering啊,本科顶多学点高数,线代,复变,信号系统,古典概型和简单数理统计,再学编码啥的,到硕士嘛顶多学点矩阵论,随机过程顶天了。就这点数学底子,提不出啥牛X算法,凭啥模式识别专业还是你们这些工科生霸着啊?丢给数学系、统计系,或者计算机系得
了,人家CS好歹也是S啊。
嗯,我也疑惑了很久,明明都是在折腾数学,怎么还是赖在工科里呢?
(三)模式识别中的工程、技术
为什么要说说PR没被数学、统计和计算机专业抢去的问题,实际是想分析一下PR里的科学与技术,理论与工程的问题。
如果去学PR,看任何一种这方面的经典教材来看,基本上全是在讲各种理论、各种分类回归算法、和算法的思路。(关于这方面的经典教材,其实特别想单独来说的。如果是第一本,挑一本对自己胃口的书很重要。原因是经典基本都是700页起的,而且基本满眼望去都是公式。理科生不论,对于看理论经常感觉力不从心,或者没什么耐心的工科生,如果找了一本不对自己胃口的书可能就很难看下去,Amazon上的书评里每本经典都有一堆5星,但是也颇有些1 2星的。)
虽然可以说“学PR 就等于学各种分类算法”,但是不等于说PR就等于分类算法。最起码炮制这方面的论文就不等于炮制分类算法,想想也是,不然工科生还有的混吗!
作为说PR的最后一节,这次工科生要来吹吹牛,看看PR除了统计理论和算法,有什么离不了工程、技术的地方。
还是先把流程图再画一遍:
“客观对象”—1—&“数值表示”—2—&“计算机算法”—3—&“识别结果”
上一篇主要说的是 “计算机算法”—3—&“识别结果”这块,确实最重要,是核心。“数值表示”—2—&“计算机算法”比较简单:算法要求输入的数据通常都是个 很规整的矩阵,比如N个训练样本,每个样本p个特征(feature),输入就是一个N*p的矩阵。此外,有的算法需要对列进行标准化,有的不接受连续型变量和离散值变量的混合,有的干脆不接受连续型变量,要量化变成哑变量。所以根据算法的不同,对数据的形式也要稍微做点加工。这也没啥特别的。
关键就在于前面,“客观对象”—1—&“数值表示”。
还是继续以人脸识别为例吧。研究了一个算法,都要在网上的几个标准人脸库中的图像上实验自己的算法。通常库里每个人的照片包括各种姿态(比如稍微左右侧一些,抬头低头),表情变化,各种光照阴影,有的还有饰物比如眼睛,帽子,发型变化。图像尺寸都是统一的,的比如256*256,灰度也是8bit这样。
好了,你的算法在几个人脸库上跑得不错,实验数据有了,论文有谱了,你很开心。老板也很开心,于是老板接了个小项目,让你参与做个人脸识别的门禁系统。这时候你就会发现,想按照那个完整流程来工作,1这一步的问题一点也不少。
首先就是传感器的问题。传感器直接决定了图像有没有形变,颜色和灰度有没有改变,是不是清楚,分辨率有多高。通常的问题不是“有还是没有”,而是“有。怎么办?”
所以从硬件选型到板卡布置这块首先少不了“专门经验”,然后还有成像这块和图像处理的知识。得到内外参数,怎么把畸变调整一下,然后降降噪声,直方图均衡调整一下对比度,尺寸也调整一下。这些图像处理课里的内容,虽然也都是简单的数学公式,但是,场合不同,想要的图像效果不同,参数上也总要微调的——让我想起了PID参数的整定。嗯,很工科。
插一句,我所理解的工程学就是对实际问题的专门经验的积累。公式理论简单,而经验的获得,只需要多花时间和实际问题打交道,自然熟能生巧。这么看工科很easy,经验也没什么神秘的。但是每个人的时间总是有限的,如果专门在一个领域花了比别人多的时间,那么他的经验就变得宝贵起来了。此外“接触实际”四个字也不是人人都喜欢的。实际中没有书本上的“理想条件”,只有各种层出不穷的想不到的问题。挑战性一点不比在理论上探索低。工科的思维就是事前对可能遇到的实际问题的复杂性的敏感和估计,事中遇到问题时的能想法子解决。可以对性能妥协、将就;可以对参数近似、也可以试验出来;可以把原本充满创新的玩意改得朴实无华或者面目全非——一切只为了这玩意最后能工作起来、能动换(然后再慢慢往好看、好用上改)。
嗯, 跑题了,继续。现在图像清楚得已经堪比人脸库了,识别效果还不错。找客户来验收吧!可是给客户演示完,人家突然问系统能不能集成到一起,做到DSP和嵌入式系统上;还要这样,还要那样……嗯?等等,你忽然想到好像程序是在双核PC上跑的,好像用了好些个MATLAB导出的函数,有个算法还是R里面的……
你嘴上说是,脸上没反应,但心里浮现的却是《潜伏》里陆桥山审马奎时从牙缝里挤出来的台词:我真想撕烂你的嘴!你当初不是说……
可老板下了死命令,大家只好大干快上干起来!作为开发算法的你,责无旁贷啊!
软件彻底用C和C++重写!不能用好使的MATLAB了,API真矬,简单的矩阵运算要费劳资这么大劲。不知不觉1礼拜过去了,终于写好了。
赶紧到下载到那边已经是改到第N版刚拿回来,还热乎乎的板卡:
咦,没反应?软件还是硬件问题?那边查电路,这边改程序试试?
呼,有影了,可是噪声咋这么严重,鼻子不是鼻子脸不是脸的?摄像头还是板子上有干扰?软件上能再改改参数?
终于运行起来了,怎么好像卡死了?哦,原来是太慢了。硬件条件比PC机差了好几个档次了,怎么办啊,换个简单一点的算法?那性能咋办?那之前那个算法好不容易得到实验结果不是都白做了么?
满头黑线了吧?
这 个人脸识别的例子有点夸张了,但不是完全虚构出来的。通过这个例子想说的是,数据来源,软硬件的布置,性能的取舍,参数的实验调整都是论文上看不到也写不出来的实际工程问题。通常需要各种不同的传感器和硬件打交道,也需要各行各业的专业背景知识。涉及图像的少不了摄像头、照相机和图像处理的知识;做水声信号和语音识别,少不了拾音器阵列,频域方面的信号处理知识。这也就是为啥自动化,电子,通信、甚至生物医学专业能掺和其中的原因。
最后总结一下我对PR的认识:
PR是因为各个领域有“电脑代替人脑”的实际需求才产生的,所以是一定面向应用的。
PR不是在标准数据集上验证分类算法的性能就完了,这个是ML的事情。PR是要把ML算法在实际问题中用起来。是理论加实际,科学和技术(虽然理论是核心)。
前三节主要是围绕PR来说,就说到这吧。下面打算试着说说我认识的机器学习算法概貌和一直没露面的数据挖掘。
(四)可解释性和数据挖掘
从这节开始,打算把ML算法的概貌描绘一下。
ML 领域发展特别快,几乎所有的论文都声称自己弄出一种新算法。看论文多了之后我的体会是,如果心里没有几条线索,就分辨不出这一堆算法的区别与联系,最后的结果是学会一堆“支离”的算法,学习了苹果只知道这是苹果,给个鸭梨就不认识了,给个苹果梨就更不明白是什么东西了。至于应用时,更不知道哪种算法更适合自己的问题。
一般都是把ML算法分成两大类:有监督学习(SupervisedLearning)和无监督学习(Unsupervised Learning)。我觉得这其实是从输入数据的形式上分的,说这个离不了公式和图表了,不想先说这个。
从ML的目的和用途来分,可以分成预测(Prediction)和数据挖掘(Data Mining)。我觉得对应用来说,这么分更有意义些。
这两大类算法的核心区别就是:预测问题更重视算法的预测能力(Predictive Power),数据挖掘问题更重视算法的可解释性(Interpretability)。
预测之前说过了,针对的目标变量如果是离散的类别标记,比如医学上的某种病的阴性阳性,或者人的身份编号,就叫分类(Classification);如果针对的连续的变量,比如股价,房价,就叫回归(Regression)。
预测能力很容易理解,我们只关心train set上训练好的算法在testset上面误差、误分类率要尽可能低。也就是说,模型给出的预测要尽可能地接近实际结果。
可解释性就要好好说说了。简单说就是,我们更关心输入的p维变量之间的联系,或者算法产生的预测是哪几个变量起了主要作用,也就是说,算法给出预测结果的根据是什么。
比 如商业智能(BI)上常见的购物篮分析(Market BasketAnalysis)就是个典型的看中可解释性的数据挖掘问题。因为直接有“钱景”,所以几乎每个讲统计的,讲数据挖掘、机器学习的,甚至讲数据库应用的书,都要提到这个事,现在各个购物购书网站也都在做这个事。
零售商从积攒的海量顾客账单中可以“挖掘”出什么呢?首先,分析哪几种商品容易同时出现在顾客的购物篮里,商场就可以把这些看起来风马牛不相及的东西放在一起,方便顾客购买;另一方面,分析客户办会员卡时留下的个人信息,可以分析出经常光顾本商场的是那些特征的人,这样对外投放使广告便更加有的放矢,可望吸引更多这些类型的人来。
流行的做法是每张账单作为1个p维向 量,对应所有p种商品。买了置1,没买置0。N张账单就组成了一张N*p的值为0-1的表格。用流行的Apriori算法从数据中“挖掘”购物模式。比如一个support = 0.03,confidence = 0.87的Rule:
{花生酱,黄油,果酱}=&{面包}
这就说明,如果一个顾客同时买了前三种东西,那么他同时买面包的可能性是87%。而这种同时买4种东西的顾客,在总顾客中占3%。
这个模式看起来平淡无奇,可是有时有很奇怪的模式被挖掘出来,忘了从哪里看到的一个例子:
{尿布,奶粉}=&{啤酒,刮胡刀}
把这4个放一起确实提高了销量,原因后面再说。
而对客户身份信息的挖掘结果比如说是:
support = 0.13,confidence = 0.8
{在家讲英语,有住房,职业是professional}=&收入大于$40000。
那就赶紧针对这些人,在他们经常出没的地方做广告吧!
注意看这些“模式”,前面的括号里只有2 3个“变量”,远远小于总共p个变量。也就是说,我们做出的预测,只依赖于所有p个变量中特定几个变量。
如果我说这就是可解释性。恐怕大家还是不明白。嗯,佛教上阐释概念,有“表诠”和“遮诠”的说法。为了说明一个概念,表诠就是说“它是什么”;遮诠却不说“它是什么”,而是说“它不是什么,不是什么……”。嗯,下面再和不具备可解释性的算法比一下就知道了。
比如还是N*p的矩阵,如果我想分析什么东西导致了买面包,我把其他p-1种东西 +1个截距项一共N*p做为X,面包N*1作为Y,做个最小二乘:
Beta = (X’*X)-1*X’*y
这个结果Beta意味着什么呢?有了这个Beta,给我任何一个1*(p-1)的账单x,都能给出买面包与否的预测值y_est = x* Beta。
但是,看着这个回归出来的p维的Beta,我不能像之前那样,简单说出对买面包来说是哪几种别的商品起了更重要的作用,也就没法想出提高销量的方法了。
这就是预测能力和可解释性的区别。
预测能力就是输出结果的准确度,而可解释性是可以用来帮助人们理解模式背后的原因。比如从前面那个{尿布,奶粉}=&{啤酒,刮胡刀}的购物模式,再配合顾客的年龄和性别,就最后推断出,可能是妻子在坐月子时,年轻父亲们被打发出来购物的。进而可以重新设计实验或者进行改进:不但把这已发现的4种商品摆一起,而且把其他年轻父亲可能会买的东西也摆过来试试。
医学上也是这样。不是特别关注用已有的p项的因素(行为习惯、实验条件、检查化验 结果)去准确预测疾病,而更关注如何从p个因素中发现是哪几种因素组合更容易导致疾病,进而可以改进实验设计,改进检查,乃至改进预防和治疗的方案。传统上统计学里作为因素分析(Factor Analysis)问题来研究,而数据挖掘使用的方法就更多,涉及的更广。而且数据挖掘也不仅仅是用来进行变量选择和重要性分析,可以用树、图、层次聚类之类直观的结构,描述变量之间的复杂依赖关系。
前一段有个书叫《小趋势》(microtrends)的,里面举了美国社会统计学家统计出来的许多看起来奇妙的小众人群,用来描述当今的美国社会。甚至进而有针对性地设计竞选宣传策略,左右选举结果。这都属于看中可解释性的数据挖掘了。
总结一下预测和数据挖掘的区别:
预测是偏重得到决策结果,数据挖掘是偏重分析决策原因和过程。
预测问题主要是在生物特征鉴别(人脸,语音,指纹,虹膜)、机器视觉、目标跟踪这些领域,直接代替人进行决策。在商业数据,医学数据里,需要解决数据挖掘问题,给人提供参考。
之所以要费劲区分预测和数据挖掘,因为天下没有免费的午餐,一种算法预测精度高了通常很难具备太好的可解释性。要针对具体的应用问题选择合适的算法,就要明白自己更需要的哪种能力。很多算法同时具备一定的预测准确度和可解释性,仅从算法形式上很难分清,还是应该从应用背景上来分析。
个人最后发点谬论:一个应用问题到底是预测还是数据挖掘,说到底是你有没有能力改变数据来源,或者重新设计输入数据?针对图像的,你一定是在既定的传感器硬件条件下设计算法的;散户炒股,你的数据源也是有限的,所以这些都是预测问题,而且预测准了就够了。而商业销售数据、医学实验数据,你是可以改变销售策略,改变实验条件的,而且,你的目的不仅是分析现有数据,更在于是后面应该采取什么行动。
站在工科来侃理科,熟悉预测却偏要来侃数据挖掘,一头汗啊。
(转自西西河论坛)
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3113次
排名:千里之外

我要回帖

 

随机推荐