龙空技术网

数据挖掘系统学习过程应该这样

python数据挖掘 69

前言:

眼前我们对“python数据挖掘基础”大概比较珍视,朋友们都需要剖析一些“python数据挖掘基础”的相关知识。那么小编在网摘上网罗了一些对于“python数据挖掘基础””的相关内容,希望小伙伴们能喜欢,小伙伴们一起来学习一下吧!

数学基础:

大部分的人说,学机器学习,只要掌握大学三门课(数学分析、线性代数、概率论与数理统计),但这很不客观,有很多数学知识是这三门课中没有讲到的,这就会成为学习的瓶颈。想深入学习机器学习的人,很有必要学习以下数学课程:

1.《矩阵分析》:机器学习很多算法需要使用计算机来计算,就需要转换成计算机所接受的格式,而且很多矩阵相关的内容在线性代数中并没有涉及,所以学习《矩阵分析》是很有必要的。

书籍:推荐 Horn的《矩阵分析》

2.《统计学》:大学期间开的概率统计的主要部分在于概率,而统计部分则是浅尝即止,就算包含了大数定律、抽样分布还是参数估计,也只涉及了很浅显的一部分(是以考研数学一的标准来衡量,而并非是课本,因为答主考的就是数学一,虽然浙大那本书里甚至包含了Markov Chain,但内容真的看不下去)。这些统计知识可以说是机器学习算法的基础组成,而且在实际项目中,掌握很多统计学方法会如虎添翼。

书籍:推荐 门登霍尔的《统计学》

(以上两门课程,可以在学习机器学习算法的同时进行学习,毕竟的确很多机器学习算法只需要大学数学的水平就够了,但学习这两门课是很必要的)

3.《最优化》

optimization是大部分机器学习算法都会遇到的问题,因为很多机器学习算法都会被变成目标函数,最优化就是用来对目标函数参数求解的工具。

推荐:鼎鼎大名的《凸优化》

此书算是一本大部头,但并不难,本人当初只有大学工科数学基础就能比较流畅地通读一遍。

以及一位朋友在评论中推荐的 《最优化导论》(答主未读过,暂不评价)

————————————————

入门书单与视频:

《数据挖掘导论》

学习数据挖掘,要先了解其到底是什么,这本书作为入门书非常好。这本书以实际应用为主,对算法的分析只触及到一点点,通过这本书说明的主要是算法的运行过程和意义,而非算法本身的数学推理。这本书上的内容,高中生都能读懂,但答主读了不只三遍,而且在不同的阶段阶段,读这本书都有很大的体悟和收获。

李航老师的《统计学习方法》(已更新第二版)、周志华老师的《机器学习》(西瓜书)、Mitchell的《机器学习》

这三本书都是机器学习入门的经典书籍,之所以同时推荐三本,不是为了从这三本书中选一个,而是全部买下来对照着看:《统计学习方法》对公式的推理相对详细;周志华的书内容更加广泛,但推理不太详细;Mitchell的书重在算法的思路,对公式的推理很浅显,但易懂。建议学习的时候以李航老师的书为基础,对周志华老师的书进行系统的学习。

视频:台大的《机器学习基石》与《机器学习技法》

一直以来,很多人推荐的入门视频都是Andrew NG的课程,但本人更加倾向于台大这两门课,这两门课从最基础的理论到各种典型的机器学习算法都包括,非常注重公式的推导,相比NG的课难度更高,但收获也更多。当完整的学习完整个课程,将会对机器学习的知识体系有很好的理解。

————————————————

实战:

《集体智慧编程》

此书无公式推导,只告诉我们哪个算法能做什么,需要做什么。虽然浅显,但真正的涉及到了数据挖掘存在的意义:数据挖掘真正的目的就是对数据进行分析挖掘,得到有用的信息。数据挖掘最基础的当然是数学和统计学,但如果只会对数学公式进行推导确不知道如何使用这些数学公式,那应该是一个假的数据科学家。答主大一时学习的是Java,当时主要搞的是JavaEE开发,也很喜欢数据结构以及ACM,自然对于编程算是比较擅长的,答主是以一个程序员的身份开始学习的数据挖掘,所以对这本以Coding来对数据挖掘进行介绍的书很有好感。

《机器学习实战》[选修]

这本书是真正的造轮子,将各种机器学习算法真正的用python实现了一边,虽然对于数值分析等方面考虑的并不周祥,但已经算是一本造轮子的书。学习了机器学习算法后,造着这本书实现一遍,是一件很有成就感的事情,但这本书并非必读,答主也只是实现了其中几个算法而已,因为这本书的很多算法写的并不是很好,而想对这本书的程序进行改善,通常会走弯路,所以行有余力,则读此书

《利用Python进行数据分析》

这本书介绍了最主要的python数据处理工具:numpy,pandas,matplotlib等,当通读完一遍之后,这本书就可以被当成工具书,偶尔查一查。

《机器学习系统设计》

python平台上最火机器学习库肯定是scikit-learn,在答主还没有准备考研的时候,这本书还没出,当时答主将主要目标放在了算法的学习上,虽然对scikit-learn倾慕已久,但苦于没有中文版的书籍又懒得读英文版(当时中二的认为自己编程很吊,等出了中文版随便看看就学会了,没有必要浪费脑细胞去读英文版),所以一直到考研结束后继续学习机器学习之路,发现这本书后,欣喜若狂,很快就将这本书买下并拜读。

————————————————

中级:

在这一阶段,基础的机器学习算法已经不是问题,较为深入的部分也分出了方向,答主目前在学习深度学习,但一直没有放弃深入学习机器学习的目标

机器学习:《pattern recognition and machine learning》

这本书已经有很多人介绍过了,这本书虽然是大部头,但作者写的行云流水,把贝叶斯玩的很6,思路非常清晰,而且全。每当我在推导算法的时候遇到障碍,都会从这本书中找答案,幸运的是这本书通常都会给我答案。比如前几天学习Boltzmann机的时候对MCMC和Gibbs算法的理解不太好,有写疑惑,我回头翻了这本书的中文版(马春鹏学长翻译的版本,我自己印成了书),读了书中第11章,又在网络上找了相关的知识,就完全理解了。

深度学习:Yoshua Bengio的《深度学习》

这本书就不介绍了,因为答主也正在读这本书,而且对深度学习连入门都不算,只是有一点神经网络基础。网络上很多人推荐这本书,目前答主正在读此书第二部分,受益匪浅。

深度学习:Nielsem的《Neural Networks and Deep Learning》

这本书简短精悍,从BP算法和介绍到了CNN,算是深度学习很好的入门书籍。


机器学习视频:徐亦达的机器学习视频

youtube地址:

他的视频是之前在复习EM算法的时候发现自己的理解不太深,在youtube上查相关的讲解,发现到的。他上传的视频只有四个系列,主要在于公式的推导,讲解深入浅出,个人认为是非常优秀的机器学习教程。

(还有很多优秀的书籍没有推荐,比如《ESL》《MLAPP》等等,为什么没有推荐,不是书不好精力及能力有限,还未拜读到,如果日后读到了,会给补上。)

标签: #python数据挖掘基础