机器学习资料与攻略超强整理吐血推荐(二)

在前文《机器学习资料与攻略超强整理吐血推荐(一)》中,我们讲到要进入人工智能的圈子,数学是不可逾越的第一关,然后我们又推荐了一些你必须掌握的数学方面的资料。接下来,在这一篇中,我们将介绍关于机器学习的理论与工具方面的资料。

二、工具篇


工欲善其事,必先利其器。大数据时代,人工智能的工具趋势是显而易见且确定无疑的。作为一名数据科学家,其实你可以选择的工具非常多,其实随着时代的发展和技术的演进,传统的SPSS、STATA和SAS等这些老牌数据分析工具都已经集成了机器学习和数据挖掘的模块。当然,这不是我们要推荐的重点。此处要谈的工具主要有四个:Matlab、R、Python 和 Weka。

1. Matlab

Matlab是一个非常成功的商业软件,做图像处理或信号处理的人对它一定不会陌生,它是在诸多领域进行学术研究的一大神器。现在随便什么人都知道AI时代已经开启,Matlab又岂能甘愿落于人后?为了提供对于各种领域应用的支持,Matlab中集成了为数众多的“工具箱(Toolbox)”,再加持到它原本就异常强大的矩阵计算能力上,其实用Matlab来做机器学习或者数据挖掘也是相当不错的选择。Matlab中可以进行数据挖掘或机器学习的工具箱有很多,例如神经网络工具箱,机器学习工具箱,甚至计量经济学工具箱也继承了很多数据挖掘功能。对于利用Matlab来进行机器学习或者数据挖掘的例子,你可以参考:

遗憾的是,目前在市场上我们还没有看到特别好的(或者特别全面的)介绍利用Matlab进行数据挖掘或机器学习的教材或图书。但其实这又不算是一个什么问题。因为Matlab毕竟是一个收费软件,所以它的帮助系统其实是非常完善的,如果需要用Matlab来进行数据工作,其实只要勤查它的帮助就足够了!Matlab中提供的各种数据挖掘函数鲁棒性强,使用简便而且速度也很快,总之是相当不错的。

2. R

R是一个免费的、开源的,数据分析“系统”、“语言”和“环境”。它最初是以统计分析为目的而设计的,今天它仍然是进行统计分析的首选。加之它拥有非常非常强大的绘图功能,可以说是提供了从头到尾的完美服务。R的强大有赖于数以万计的社区开发者为它贡献的各种功能的“库”(library)或者包“package”。通常,用于实现数据挖掘与机器学习的函数,分散地存在于众多库中。例如,软件包mclust提供了利用高斯混合模型进行聚类分析的函数。对于利用R来进行机器学习或者数据挖掘的例子,你可以参考:

如果你希望学习在R中进行机器学习和数据分析,那么有两本书可以推荐,首先是下面这本私货:

1)《R语言实战:机器学习与数据分析》,这本书最初1/3介绍了R语言的基本用法,中间1/3介绍了基于统计的数据分析,最后1/3介绍在R中进行机器学习的内容。既有完善的代码和实例演示,又包含有详细的理论推导(和数学公式证明)。非常适合想利用R语言进行数据分析和机器学习的初学者。

2)第二本是由Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani共同编写的经典教材:

《统计学习导论:基于R应用》(An Introduction to Statistical Learning with Applications in R),这本书相比于上一本更加深入,比较适合对R语言已经比较熟悉的读者进行关于机器学习方面的深入学习。你可以从网站 http://www-bcf.usc.edu/~gareth/ISL/ 上下载到该书英文版的电子版,也可以通过网店购买本书的中文翻译版。

   

3. Python

Python是当前非常流行的一门计算机语言,同时利用它进行数据分析也是非常流行的。在Python进行数据挖掘和机器学习方面的应用,主要是以使用scikit-learn这个函数库来实现的。你可以在网站http://scikit-learn.org/ 上了解到更多关于该库的例子和文档。当然,在Python中进行数据分析,还依赖于其他的库,例如用于绘图的matplotlib等,这里我们不逐一详述。对于利用Python来进行机器学习或者数据挖掘的例子,你可以参考:

学习如何在Python中进行机器学习和数据挖掘,你可以参考下面这本非常流行的教材:

1)《机器学习实战》,作者是Peter Harrington,中文翻译版由人民邮电出版社出版。

4. WEKA

WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它是由新西兰怀卡托大学开发的一款基于Java的免费的、开源的数据挖掘工具。它在国外无论是学术界还是产业界都有非常成功的应用案例。2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的WEKA团队荣获了数据挖掘和知识探索领域的最高服务奖,WEKA系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最为完备的数据挖掘工具之一。WEKA的使用非常简单,通过图形用户界面,你只需要单击几下鼠标(而无需编写代码或调用函数),就能完成各种非常复杂的数据挖掘任务。对于利用WEKA来进行机器学习或者数据挖掘的例子,你可以参考:

目前,如果你希望学习如何在WEKA中进行机器学习和数据挖掘,那么下面这本教材应该是你的首先:

1)《数据挖掘:实用机器学习工具与技术》(Data Mining, Fourth Edition: Practical Machine Learning Tools and Techniques),作者是威滕 (Ian H.Witten) 和弗兰克 (Eibe Frank)等。

 

三、理论学习篇

1、书籍

上面的一些结合工具来讲解机器学习的教材中也蕴含了理论推导方面的介绍。但是如果你希望从纯粹的理论角度去学习数据挖掘和机器学习(即不涉及工具的使用),那么你可以参考下面这些经典教材。首先是中国人编写的两本教材。

1)《统计学习方法》,李航,清华大学出版社。国内很多高校把它选作相关课程的教材。这本书的特点是简明扼要(全书比较薄),选取了一些比较常用的机器学习方法,逐个进行介绍。适合入门,能在短期内形成某些特定的技术的认识(一些具体的计算例子非常好,但是我发现很多例子跟wiki百科上的如出一辙,我不能确定谁先谁后,出于严谨的考虑可能作者加一些引用比较妥当)。但由于比较初步,我个人认为不太强调建立学习脉络和对机器学习全局的视角。

2)《机器学习》,周志华,机器学习。周志华老师是国内研究机器学习方向的顶级学者,集各种fellow与一身。借助他个人很大的名气,这本书一经出版就攀上各大畅销书排行榜。书中的例子主要围绕一个买西瓜的情景展开,所有很多人又称这本书是“西瓜书”。这本书非常非常理论,我个人建议对于绝对的初学者并不是很好的选择,如果有人讲解可能更好,毕竟它本身就是一本机器学习的教材。

下面是外国学者编写的经典书籍。

3)《数据挖掘导论》(Introduction to Data Mining),作者Pang-Ning Tan、Michael Steinbach和Vipin Kumar。该书围绕数据挖掘这个话题,涵盖了五个主题:数据、分类、关联分析、聚类和异常检测。除异常检测外,每个主题都有两章:前一章涵盖基本概念、代表性算法和评估技术,而后一章讨论高级概念和算法。这是数据挖掘领域相当系统相当全面的一部书,但是难度并不大,对数学的要求要低于后面的两本。

4)《模式识别与机器学习》(Pattern Recognition and Machine Learning),简称PRML,作者是微软公司的资深研究科学家Christoper Bishop。这部书(和后面那本)难度都比较大,但是如果能啃下来的化,机器学习方面的功力会大增。应该是每位学者或者教授在讲授机器学习时的切入点都各不相同,尽管他们所讲到的具体模型或算法会有较大面积的重叠,但是由于切入点不同,所以行文脉络也大相径庭。这一点要在你读书的时候自己细细去体会。

5)《统计学习精要》(The Elements of Statistical Learning: Data Mining, Inference, and Prediction),图书作者中的Robert Tibshirani和Trevor Hastie还是前面介绍的《统计学习导论:基于R应用》一书的合作者。正如前面所说的,在介绍机器学习时,不同学者的思路是有很大差别的。有人会写那种根据机器学习目的不同而分门别类并行而进的书(例如回归、分类、聚类、关联关系等等)。有人会从监督学习、非监督学习、半监督学习的角度去介绍。还有的人会从Generative模型 v.s. Discriminative模型的角度来介绍。 下面这部书的切入点,其实是从“统计学”过渡而来的,所以在线性回归、多元回归、改进的回归(LASSO或岭回归)等方面着墨颇多,这也是本书的一个特色。

2、免费的在线课程

最后,网上还有很多关于机器学习和数据挖掘的公开课。如果你想一点一点系统的学习,那么这些资源你都不应该错过。下面推荐的这些课程在互联网上可以说是尽人皆知、有口皆碑了。

1)斯坦福大学的公开课——机器学习 ,由Andrew Ng主讲。我相信JerryLead 的EM博文就参考了Andrew Ng的授课内容。这个课程是英文授课,国内网站的视频上还配了中文字幕,如果你有毅力和决心,那么啃这个课程是很不错的选择。国内可以访问网易公开课来学习,地址如下http://open.163.com/special/opencourse/machinelearning.html

2)如果你还是觉得听英语很别扭,那么由台湾大学林轩田教授录制的中文Coursera课程(也就是传说中的MOOC)——机器学习系列就是一个绝佳的资源。该课程分上下两个部分:

  • “机器学习基石”课程(http://c.open.163.com/coursera/courseIntro.htm?cid=938),尽管它声称是基础部分,但其实起点一点也不低,这一点应当注意。可是前半段的理论推导部分其实门槛很高,要彻底吃透很不容易。
  • “机器学习技法”课程(http://c.open.163.com/coursera/courseIntro.htm?cid=1664),如果你想学习进阶内容(当然,前提是基石部分的知识你已经统统掌握了),那么你便可以选择林教授的这一门MOOC课程,它对应了第二学期的内容。

3)由悉尼科技大学徐亦达博士录制的中文机器学习系列视频(http://v.youku.com/v_show/id_XMTM1MzQ1NDk5Ng==.html?from=y1.7-1.2)。这个课程也不错,讲解很细致,但是我必须说,你可以选一些自己感兴趣的专题去听。但如果你是小白,这个课程覆盖面可能相当窄小,很多重要且基础的机器学习内容,这个课程都不涉及。

其他一些值得看的博客,你还可以参考《机器学习与数据挖掘网上资源搜罗》中的推荐链接。

在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms )。本博客已经介绍过的位列十大算法之中的算法中的八个,如果你对其中的某个感兴趣,不妨参考一下:

(本文完)

??

VIEWER DISCRETION IS ADVISED !!!

如果你有什么好的建议或者资料补充,也欢迎在博客下方留言发表见解!

??

时间: 02-21

机器学习资料与攻略超强整理吐血推荐(二)的相关文章

黑客榜中榜,超详细攻略!小白整理

黑客榜中榜第一期攻略 本人萌新小白一个,尽量把步骤都详细的整理出来,供新手参考. 先是第一期第一关 上图..... 这个是在未知的情况下要求通过各种方法获取到密码,然后登陆! 我使用的是火狐浏览器,使用F12快捷键,可以看到网页HTML源代码,分析源代码! 很多我都看不懂....... 分析一下能看懂的: if判断试 首先定义了一个全局变量"X"(至于"X"等于啥玩意我就不知道了,回头再研究) 下面就是判断 "X"是否等于 "go   

小米路由器SSH资料攻略

////////////////远程连接攻略================获得SSH权限=============================================================================首先要刷成开发版,稳定版没有该功能http://jingyan.baidu.com/article/624e7459ae65e834e8ba5afd.html ==============攻略lihoo(小米路由器mini) ===============

拿nodejs快速搭建简单Oauth认证和restful API server攻略

拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最近一直在鼓捣这个东西,拿出来分享下一下经验吧,其实很简单,一点也不难. 首先需求是这样,给自己的网站要增加API服务,API分为两种,公共的和私有授权的,授权的使用Oauth方法认证身份,API格式均为JOSN和JSONP. 嗯,别的语言我也没怎么学过,首先是找合适的框架进行实现吧.本身网站使用的e

人大笔记 | 请收下这份新学期笔记攻略!

上了大学, 你还保留着动笔的习惯吗? 作为互联网的原住民, 你还会在课上记笔记吗? 除了在word里写下心情, 你还会写日记或记手账吗? "秋毫虽细握非轻", 其实把很多事付诸笔端, 会给予生活更多有温度的记录. 新学期,从认真记笔记开始-- 人大人笔下的温度 民法总论 @杨茂坤 有了认真的笔记,考试周被民法支配的恐惧都少了一些呢(微笑) 历史 @廖悦辰 emmm-上面记的好多都没听说过 emmm-什么时候我学历史能这么认真? 英语 @成文琪 早上背英语单词时 我的笔记和头上的树叶脚下

不只是折腾!OS X 10.10 Yosemite 改造攻略

好不容易下决心升了10.10,发现问题很多,不但bug很多,加了一些没用功能,而且界面也变丑了.见知乎上的讨论:http://www.zhihu.com/question/26081869 把系统变得好用趁手,是每个人接手新电脑(或升级系统后)一般都要做的.但是苹果系统网上资料不多,因为本来用的人就不多,而且有些东西几年都不变.但这一次,变得太多了,必须要写文章来记录一下了. 折腾了一遍之后,系统确实好用多了. 需要说的是,本文不是针对开发者的,而是对大部分苹果用户而言的.很多话就不多说了,相信

关于职场新人必看的职场攻略

在郴州找工作的职场新人,可能由于工作经验不风度,在企业需要学习的东西有很多,一开始去上班可能真的是做录资料.整理文件等小事,但是不要忽略这些小事的细节,每一件工作都可以从中发现他存在的价值,以下这几点是你作为新人必须要掌握的职场攻略. 一.不要怕吃亏 正所谓“吃亏是福”,特别是对于刚入职场的新人,很多小事都要你去做,可能开始会觉得“为什么什么事都要做”,但是你千万不要怕吃亏,更不要怕吃苦.很多企业的高管都是从这一个过程过来的.这个时候你要放平自己的心态,适当的进行职业规划,通过不断的接受不同的任

jquery.validate使用攻略(表单校验)

目录 jquery.validate使用攻略1 第一章 jquery.validate使用攻略1 第二章 jQuery.validate.js API7 Custom selectors7 Utilities8 Validator8 List of built-in Validation methods9 validate ()的可选项11 debug:进行调试模式11 第三章 自定义jquery-validate的验证行为23 第四章 自定义错误消息的显示方式25 第五章 一些常用的验证脚本2

深度学习在携程攻略社区的应用

编者:本文来自携程攻略社区开发总监李健在携程技术中心主办的深度学习Meetup中的主题演讲,介绍了深度学习在攻略社区领域的主要应用.关注携程技术微信公号ctriptech,可获知更多技术分享信息. 携程攻略社区是携程旗下的旅游攻略类社区,致力于为旅行者提供出行指南和资讯服务.依托携程2.5亿用户总量,社区日活跃用户超过500万,并汇集3000万条真实用户的旅行和酒店点评,并有40万篇旅行游记,2000位知名旅行达人.面对数据库中浩如烟海的信息,我们如何能去其糟粕,留其精华? 攻略社区的主要需求

测试架构师修炼之道:5 测试策略实战攻略

测试架构师修炼之道:5 测试策略实战攻略 2016-09-06 目录 1 开始2 初次使用“四步测试策略制定法”  2.1 产品质量等级  2.2 确定项目中各个特性的质量等级  2.3 对项目整体进行风险分析  2.4 确定测试策略的结构  2.5 初步确定测试分层  2.6 回顾3 制定总体测试策略  3.1 分解产品质量目标    1. 根据质量等级来分解产品的质量目标    2. 为每个测试分层确定测试目标  3.2 使用老功能分析法来对特性进行分类  3.3 基于质量和风险来确定测试深