入门推荐你看《机器学习实战》,不需要你跑去学习算法和数据结构,不需要解析几何的知识,但是数理统计的基础你必须要有,期望、方差、常用的几种概率分布,尤其注意一下条件概率,因为朴素贝叶斯模型你一定要懂,线性代数至少你要明白矩阵乘法、行列式计算,再就是微积分知识,不然你看不懂所有基于梯度下降法的文献,行业内用的比较多的是c++,java和python,推荐你用python,很多模型不需要你造轮子,python有相关的第三方模块,很方便。 数据挖掘涉及的内容比较泛,机器学习、数据挖掘、人工智能,但实际上这些知识大多是相通的,机器学习实战这本书是我看的启蒙书里很好的一本了,该有的都有,难度较小,有理论有实践,可以较快的对各种知识有个大概的了解,但是想要长期在这个行业发展,还需要学习更多的知识,比如说提到回归模型,你不仅仅要知道最小二乘法,你还要想到怎么进行数据清洗、哪些数据需要清洗,怎么规范数据,数据是否过多,要不要进行归约和降维,采用哪种回归模型,精确度大致要达到什么水平,要不要考虑过拟合和欠拟合,要不要进行交叉验证,几折交叉验证效果好,如果回归模型不适用,有哪些备选方案。比如说决策树模型,书上简单的讲了个if-then就完了,按照什么规则生成树,怎么分层,要不要剪枝,最终的效果怎么样,造成误差的原因是模型太复杂还是太简单,怎么综合其他模型对决策树进行改进,数据的聚类方法用k均值还是DBSCAN,需要对数据进行分类的时候要考虑数据量大不大,SVM还是神经网络,数据量计算机吃不吃得消,一次吃不消该怎么做,等你对这些有了大致的了解之后,好好看看《统计学习方法》这本书,深入地了解一下理论部分,看一看核心部分的数学模型,看一看如何算法实现,着重理解一下拉格朗日微分法和拉格朗日对偶,解决等式约束和不等式约束很有用,这个也是使用智能算法尝试解决NP完全问题的一个结合点。 除了看书以外,其他时间全部用在学习编程上,python常用的numpy、matplotlib、scipy、sklearn、nltk这些包你都要大致了解怎么用,推荐你看看图灵程序设计丛书里的《python学习手册》《python自然语言处理》《python科学计算》,至少要知道怎么定义类、方法、属性,常用模块里有哪些好用的方法,常见的异常怎么排除,其他的在有时间的时候随用随学,至于算法和数据结构,有时间的话看看《算法导论》,肯定有所收获。
|