`
美丽的小岛
  • 浏览: 310809 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

漫谈数据挖掘从入门到进阶(转)

 
阅读更多

In no particular order: 

Foundations of Machine Learning, Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar
An ambitious book that covers an impressive subset of the theoretical basis of machine learning. Includes excellent treatment of fundamentals (learning complexity, kernel methods, boosting, PAC learning, regression), as well as some subects that are almost never covered properly (ranking, multiclass, online). Additionally gives a nice ML perspective of some things (JL-lemma) that usually are not talked about well in textbooks.

Learning From Data, Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin 
Sort of like Foundations of Machine Learning, but seems to be built for an undergrad curriculum. Contains stuff about the theoretical underpinnings, but omits the more complicated theory. It is well-written and intuitive, with theoretically intense parts clearly marked and roped off for those who are, e.g., too mathematically "young." 

Information Theory, Inference, and Learning Algorithms, David J. C. MacKay [free pdf] 
A presentation of statistical modeling that is unified across information theory, coding theory, statistics, physics, ML, computational biology, cryptography, and signal processing. It is fantastically and uniquely illuminating. Contains my favorite treatment of many subjects (Ising models, Monte Carlo methods, fountaint codes, etc.). 

All of Statistics, Larry Wasserman 
Most of ML is collected into a series of tasks (regression, classification, clustering, etc.) whose only commonality is that they are types of statistical inference. Among the virtues of this remarkable book is that it approaches the subject of statistical inference in a very general fashion, and in a way that is graceful and approachable, but still rigorous. This is a good starting point for ML, as most of ML is a specialization of some subset of the topics presented here. IMO, it is the best book of its type. 

Machine Learning: A Probabilistic Perspective, Kevin P. Murphy 
Mostly a roundup of the recent explosion in Bayesian inference. Unlike other books on this list, ML:APP seems to have been assembled by collecting papers, stapling them all together, making the notation consistent, and adding a bit of glue to unify them. For example, most of the figures are pulled (with permission) directly from other papers. This is not a bad thing! I'm very glad someone did it. But it does sometimes feel rushed, and there are many typos. 

Pattern Recognition and Machine Learning, Christopher M. Bishop 
Bishop's book is useful mainly because it is quite thorough, and contains a good treatment of many of the esoteric corners of well-known methods. But I also found it to be quite dense, and often didn't understand exactly what Bishop was saying, or how he derived something. I find that it is very useful when I consult it about a subject after having already read 2 or 3 other texts. 

The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Trevor Hastie, Robert Tibshirani, Jerome Friedman [free pdf] 
The quintessential (frequentist) ML text. It's more computationally-minded than I would have expected from classically trained statisticians, but its lack of robustly Bayesian material dates it in some ways. (I'm not saying one perspective is better, I'm saing you should know both. 

Probabilistic Graphical Models: Principles and Techniques, Daphne Koller, Nir Friedman 
A dense, comprehensive, and canonical treatment of graphical models. Covers Markov Random Fields, Contitional Random fields, Bayes nets, and so on. 

Gaussian Processes For Machine Learning, Carl Edward Rasmussen, Christopher K. I. Williams [free pdf] 
The classical treatment of the Gaussian process, an important class of statistical model. 


做数据挖掘也有些年头了,写这篇文一方面是让我写篇文,朋友作为数据挖掘方面的参考,另一方面也是有抛砖引玉之意,希望能够和一些大牛交流,相互促进,让大家见笑了。 
######################################### 
更新部分 
######################################### 
Q&A: 
Q:学习,最近在看集体智慧编程,楼主可否推荐下数学基础的书? 
A:我数学本身也不好 自己也在偷偷补 因为看的不多也不能给出个提纲式的建议 只能给您列下我近期看过和在看的觉得不错的书 您看做参考吧 
1.矩阵方面 Kaare Brandt Petersen的《The Matrix Cookbook》 网易公开课中的《麻省理工公开课:线性代数》 
2.概率论与数理统计方面 JohnA.Rice 的《数理统计与数据分析》《统计建模与R软件》 
3.微积分方面 网易公开课中的《麻省理工学院公开课:单变量微积分》 

其实您只要有了 
1.概率论与数理统计以及其他统计学基础 
2.扎实的线性代数功底 
3.微积分(如果能学习下实变函数和泛函分析就更好了) 
这几方面的基础 基本上机器学习的大部分算法您都具有了其数学基础 
如果您觉得我说的太泛 可以先看看《模式分类》这本书的附录中的数学基础 这样您就大体有个印象了 
推荐两篇我认为写的不错的相关博客 http://blog.sina.com.cn/s/blog_6833a4df0100nazk.html 
http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_descent.html 

######################################### 
入门: 

数据挖掘入门的书籍,中文的大体有这些: 
Jiawei Han的《数据挖掘概念与技术》 
Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术》 
Tom Mitchell的《机器学习》 
TOBY SEGARAN的《集体智慧编程》 
Anand Rajaraman的《大数据》 
Pang-Ning Tan的《数据挖掘导论》 
Matthew A. Russell的《社交网站的数据挖掘与分析》 

很多人的第一本数据挖掘书都是Jiawei Han的《数据挖掘概念与技术》,这本书也是我们组老板推荐的入门书(我个人觉得他之所以推荐是因为Han是他的老师)。其实我个人来说并不是很推荐把这本书。这本书什么都讲了,甚至很多书少有涉及的一些点比如OLAP的方面都有涉猎。但是其实这本书对于初学者不是那么友好的,给人一种教科书的感觉,如果你有大毅力读完这本书,也只能获得一些零碎的概念的认识,很难上手实际的项目。

 



我个人推荐的入门书是这两本:TOBY SEGARAN的《集体智慧编程》和Ian H. Witten / Eibe Frank的《数据挖掘 实用机器学习技术》 
《集体智慧编程》很适合希望了解数据挖掘技术的程序员,这本书讲述了数据挖掘里面的很多实用的算法,而且最重要的是其讲述的方式不是像Han那种大牛掉书袋的讲法,而是从实际的例子入手,辅以python的代码,让你很快的就能理解到这种算法能够应用在哪个实际问题上,并且还能自己上手写写代码。唯一的缺点是不够深入,基本没有数学推导,而且不够全面,内容不够翔实。不过作为一本入门书这些缺点反而是帮助理解和入门的优点。

 


推荐的另一本《数据挖掘 实用机器学习技术》则相对上一本书要稍微难一点,不过在容易理解的程度上依然甩Han老师的书几条街,其作者就是著名的Weka的编写者。整本书的思想脉络也是尽可能的由易到难,从简单的模型入手扩展到现实生活中实际的算法问题,最难能可贵的是书的最后还稍微讲了下如何使用weka,这样大家就能在学习算法之余能够用weka做做小的实验,有直观的认识。

 



看完上述两本书后,我觉得大体数据挖掘就算有个初步的了解了。往后再怎么继续入门,就看个人需求了。 
如果是只是想要稍微了解下相关的技术,或者作为业余爱好,则可随便再看看Anand Rajaraman的《大数据》以及Matthew A. Russell的《社交网站的数据挖掘与分析》。前者是斯坦福的"Web挖掘"这门课程的材料基础上总结而成。选取了很多数据挖掘里的小点作为展开的,不够系统,但讲的挺好,所以适合有个初步的了解后再看。后者则亦是如此,要注意的是里面很多api因为GFS的缘故不能直接实验,也是个遗憾

 
 



如果是继续相关的研究学习,我认为则还需要先过一遍Tom Mitchell的《机器学习》。这本书可以看做是对于十多年前的机器学习的一个综述,作者简单明了的讲述了很多流行的算法(十年前的),并且对于各个算法的适用点和特点都有详细的解说,轻快地在一本薄薄的小书里给了大家一个机器学习之旅。

 



进阶: 

进阶这个话题就难说了,毕竟大家对于进阶的理解各有不同,是个仁者见仁的问题。就我个人来说,则建议如下展开: 

视频学习方面: 
可以看看斯坦福的《机器学习》这门课程的视频,最近听说网易公开课已经全部翻译了,而且给出了双语字幕,更加容易学习了^_^ 

书籍学习方面: 
我个人推荐的是这样:可以先看看李航的《统计学习方法》,这本书着重于数学推导,能让我们很快的对于一些算法的理解更加深入。有了上面这本书的基础,就可以开始啃一些经典名著了。

 


这些名著看的顺序可以不分先后,也可以同时学习: 
Richard O. Duda的《模式分类》这本书是力荐,很多高校的数据挖掘导论课程的教科书便是这本(也是我的数据挖掘入门书,很有感情的)。如果你不通读这本书,你会发现在你研究很多问题的时候,甚至一些相对简单的问题(比如贝叶斯在高斯假设下为什么退化成线性分类器)都要再重新回头读这本书。

 


Christopher M. Bishop的《Pattern Recognition And Machine Learning》这本书也是经典巨著,整本书写的非常清爽。

 


《The Elements of Statistical Learning》这本书豆友有句很好的吐槽“机器学习 -- 从入门到精通”可以作为这本书的副标题。可以看出这本书对于机器学习进阶的重要性。值得一说的是这本书虽然有中文版,但是翻译之烂也甚是有名,听说是学体育的翻译的。

 


Hoppner, Frank的《Guide to Intelligent Data Analysis》这本书相对于上面基本经典巨著并不出名,但是写的甚好,是knime官网上推荐的,标榜的是解决实际生活中的数据挖掘问题,讲述了CRISP-DM标准化流程,每章后面给出了R和knime的应用例子。

 



项目方面: 
事实上,我觉得从进阶起就应该上手一些简单的项目了。如果不实践只是看书和研究算法,我觉得是无法真正理解数据挖掘的精髓所在的。打个简单的比方,就算你看完了C++ Primer、effective C++等等书籍,如果自己不写C++,那么自己也就会停留在hello world的级别。实践出真知非常切合数据挖掘这门学科,实际上手项目后才会发现什么叫"80%的准备,20%的建模",real world的问题我认为并不是仅仅靠modeling就能很好的解决的。详细的可以看看《Guide to Intelligent Data Analysis》就能略知一二。如果上手做推荐或者一些简单的项目,也可以考虑用用mahout,推荐的入门手册是《mahout in action》。项目问题说来话长,有时间会以CRISP流程为引单独作文,这里也就不详谈了。

 



软件方面: 
我常用而且推荐的软件有如下,这里只是简单的列出,以后有时间再详细分析和写出入门:
Weka Java的软件,可以集成到自己的项目中

 


Orange 一个用python写的数据挖掘开源软件,界面做的很漂亮,可以做图形化实验,也可以用python调用编程。

 


Knime 和Orange类似,特点是可以集成weka和R等开源软件

 


SAS的EM模块以及R 还有最最经典的matlab大大 
这里有篇文有简要的介绍http://www.oschina.net/question/12_14026 

再往后: 
再往后的其实就是我就是觉得是学数学了,然后就是深入读一些你感兴趣的topic的书籍和paper,接项目,做项目了。发展有数据分析师或者去专门的企业做数据研究员,当然混学术界的我就不清楚了。 

初略写完发现成一篇长文了,最近也是在做一个用眼底照片预测stroke的项目,比较忙,等闲下来以后也会写些算法或者软件或者实际项目的心得的文。当然也只是我个人粗浅的想法,也希望能和大家有所交流,相互促进,我个人的邮箱是flclain@gmail.com,有什么问题可以再帖子里讨论,也可邮件交流^_^

分享到:
评论

相关推荐

    大嘴巴漫谈数据挖掘和解析卷积神经网络

    例如,在图像识别中,数据挖掘可以帮助我们清洗和预处理图像数据,而CNN则可以学习到这些数据的高级特征,实现对图像的精准分类。在自然语言处理中,数据挖掘可用于搜集和整理语料库,而CNN则可以处理文本数据,进行...

    大嘴巴漫谈数据挖掘:产品商用需测试,可用测试验原型.docx

    在《大嘴巴漫谈数据挖掘:产品商用需测试,可用测试验原型》中,作者强调了在产品推出前进行测试的重要性,尤其是通过可用性测试和试商用来验证产品原型的效能。 可用性测试是产品开发中的关键环节,它旨在评估产品...

    大嘴漫谈数据挖掘概论和技术

    数据挖掘是一种从海量数据中提取有价值知识的过程,它结合了计算机科学、统计学和机器学习等多个领域的技术。在“大嘴漫谈数据挖掘”一书中,作者易向军以通俗易懂的方式,深入浅出地介绍了这个领域的基础知识和常用...

    漫谈数据挖掘

    数据挖掘是一种从海量数据中提取有价值信息的过程,它结合了计算机科学、统计学和机器学习等领域的技术。《漫谈数据挖掘》这本书以其独特的视角,深入浅出地介绍了这一复杂而重要的主题。以下是对该书内容的详细解读...

    漫谈大数据和数据挖掘.pdf

    在当前的信息化时代,IT(信息科技)已经演进到DT(数据科技)。DT时代的到来,是基于物联网的万物互联技术,它预示着我们进入了一个以数据为主导的时代。在这个时代中,数据的应用和分析能力成为核心竞争力,数据...

    漫谈_信号与系统入门

    ### 漫谈_信号与系统入门 #### 一、卷积的作用及其直观理解 **卷积**在信号处理领域中扮演着极其重要的角色。它不仅是一种数学运算,更是理解和解决实际问题的关键工具之一。文章通过一个故事的形式,生动地解释了...

    C++开发桌面项目从基础到进阶

    ### 漫谈以后的进阶学习之路 随着技术的不断进步,C++也在不断发展。学习新版本的语言特性、深入理解编译原理、探索并发编程技术等都是未来学习的方向。此外,参与开源项目也是提升技能的好方法。例如,可以关注C++...

    漫谈机器人革命与大数据挖掘技术对人类未来生活影响 图.doc

    本文将从多个方面探讨机器人革命和大数据挖掘技术对人类生活的影响。 首先,让我们来探讨一下搜索引擎技术的发展。搜索引擎技术的发展使得我们可以快速地获取信息,但是不同的搜索引擎对信息的处理方式不同。例如,...

    pid,从入门到精通

    ### PID技术从入门到精通 #### 一、自动调节系统的发展历程 自动调节系统作为现代工业自动化领域的重要组成部分,经历了漫长而丰富的历史发展过程。在中国古代,人们就已经开始尝试使用简单的机械装置来实现某些...

    漫谈设计模式-从面向对象开始

    这些对象包含数据(通常称为属性或字段)和行为(通常称为方法)。面向对象编程的四大基本原则是封装、抽象、继承和多态性。 封装是指将对象的实现细节隐藏起来,只暴露对外接口。这有助于减少程序各部分之间的依赖...

    Scrum漫谈_生动入门教程

    敏捷开发之Scrum漫谈,文档结合实际的图片,描述了工作实际场景,让人根据容易理解和学习敏捷开发的思想

    从入门到精通吃透PID教程

    ### 从入门到精通吃透PID教程 #### 第一章 自动调节系统的发展历程 - **1-1 中国古代的自动调节系统**:探讨中国古代在机械制造和工程领域中的自动调节技术的应用,如古代的水利灌溉系统等。 - **1-2 指南车的可行...

    漫谈兼容内核.zip

    漫谈兼容内核之一:ReactOS怎样实现系统调用 漫谈兼容内核之二:关于kernel-win32的对象管理 漫谈兼容内核之三:Kernel-win32的文件操作 漫谈兼容内核之四:Kernel-win32的进程管理 漫谈兼容内核之五:Kernel-win32...

    漫谈兼容内核.7z

    谈兼容内核之一:ReactOS怎样实现系统调用.pdf 漫谈兼容内核之二:关于kernel -win32的对象管理.pdf 漫谈兼容内核之三:关于kernel-win32的文件操作.pdf 漫谈兼容内核之四:Kernel-win32的进程管理.pdf 漫谈兼容内核...

    架构漫谈(王概凯架构系列文章整理)

    整理了王概凯的关于架构的系列文章; 文章列表如下: 架构漫谈(一):什么是架构? 架构漫谈(二):认识概念是理解架构的...架构漫谈(八):从架构的角度看如何写好代码 架构漫谈(九):理清技术、业务和架构的关系

    分享Java相关的东西 - Java安全漫谈笔记相关内容.zip

    反射的几个进阶技巧Java安全漫谈 - 04.RMI的通信过程分析Java安全漫谈 - 05.利用codebase攻击RMI注册中心Java安全漫谈 - 06.深入理解RMI协议与序列化对象Java安全漫谈 - 07.不同语言中的反序列化漏洞Java安全漫谈 - ...

    漫谈设计模式:从面向对象开始(带书签)

    《漫谈设计模式:从面向对象开始(带书签)》设计模式相关书籍。

    漫谈AOSP蓝牙漏洞挖掘技术.pdf

    【漫谈AOSP蓝牙漏洞挖掘技术】 在2022年的看雪安全开发者峰会上,韩子诺(ele7enxxh),一位OPPO安珀实验室的高级安全专家,分享了关于AOSP(Android Open Source Project)蓝牙漏洞挖掘的技术细节。韩子诺在...

    漫谈高数pdf(共十篇)

    《漫谈高数》系列文章深入探讨了高等数学的核心概念,尤其聚焦于级数理论及其在实际问题中的应用。在首篇文章《漫谈高数(一)泰勒级数的物理意义》中,作者巧妙地将复杂的数学原理与直观的物理意义相结合,使读者能够...

Global site tag (gtag.js) - Google Analytics