学习大数据、机器学习及人工智能必读书目有哪些?
我个人认为,不是每一个人都要成为算法研究师,了解人工智能的概貌和原理,利用已有的框架和平台,完成自己的任务就已经很了不起了,安安静静地做一个应用型的美男子其实是绝大多数人的归宿,目前的开源框架很多,但原理和内在基本一致,其实我们无需过多了解内核,埋下头去深入钻研一个框架应用就已经超棒了,研究算法和基体框架就留给那些牛人们吧。
说到应用型的书籍,我基本都是在官网和社区学习,个人观点,非喜勿喷。
加米谷教育就来推荐几本吧:
1、《数据科学入门》
2、《Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking》
3、《贝叶斯思维》
5、《统计思维:程序员数学之概率统计》
6、《利用Python进行数据分析》
7、《Advanced and Multivariate Statistical Methods》
8、《Hadoop: The Definitive Guide》
9、《Mining of Massive Datasets》
10、《数据挖掘》
高数、线性代数、概率论和离散数学等相关内容是软件工程的必修课,为什么?
要理解这个问题,首先要理解软件工程的学习内容及未来的职场需求,我从以下几个方面阐述一下,仅供参考。
1、软件工程专业是以计算机科学与技术学科作为基础,强调软件开发工程性,需要掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、设计、测试、维护和软件项目管理等。软件工程专业属于工科大类,从设置来说,高数、概率论、线性代数等应是其必修课。
2、未来的就业空间主要集中于从事软件开发、测试、维护和软件项目管理等岗位。工作内容都有数字处理与逻辑运算有密切关系,把高数、概率论、线性代数等设为必修课,有利于职业生存。
3、除了具有必要的逻辑思维外,计算能力就是软件工程的另一个重点了,什么是计算,通俗的讲就是会算法,算法的基础从哪里来,就是平时所学的高数、线性代数、离散数学等,更高层次的数学理论学习会超越很多人的思维空间。优秀的软件工程师除了具有良好的逻辑思维外,一般都有良好的数学思维与运算能力。
4、如果自己的确在数学知识的学习上遇到了困难,可以偏重于软件工程专业的逻辑思维开发提升上,或者向软件开发流程及管理方向发展。但无论如何,懂得数学在软件工程中的重要性能对未来的职业生涯有更好的提升作用,要不然即便成为管理者,也很容易导致门外汉指挥专业人员做事的尴尬局面。
5、怎么学好高数、线性代数、概率论及离散数学的知识。思维空间的转变很重要,高数是基础,多看教材,多练习,线性代数偏重于矩阵运算、数据处理,可以结合matlab等软件进行训练,离散数学需要转换下思维空间,从二维到多维要慢慢训练,时间长了会有突然开窍的感觉,不能着急。
高等数学和线性代数是所有理工科专业必修课
同时,线性代数对计算机科学某些方向有特殊作用,比如计算机图形学、深度学习
概率论对软件工程有两个方面有意义。一方面,软件工程需要概率论知识应用于与统计和经验有关的方法指导软件工程过程和管理,另一方面,概率论对当前热门的机器学习是必要的基础知识
离散数学是所有计算机科学需要使用的知识,所有后继课程都可以看到离散数学的影子