马住!谷歌机器学习主管“十年自学编程”的三个心得体会


全文共 3243 字,预计学习时长 10 分钟

马住!谷歌机器学习主管“十年自学编程”的三个心得体会

来源:Pexels

数据科学、机器学习和分析被认为是最热门的职业之一。

工业界、学术界和政府对熟练数据科学的从业人员的需求正在迅速增长。因此,目前的“数据热潮”正吸引着大量专业人士,他们有着不同的背景,如物理学、数学、统计学、经济学和工程学。数据科学家的工作前景非常乐观。IBM预测到2020年,对数据科学家的需求将飙升28%:

https://www.forbes.com/sites/louiscolumbus/2017/05/13/ibm-predicts-demand-for-data-scientists-will-soar-28-by-2020/#7916f3057e3b.


数据科学是一个非常广泛的领域,包括几个分支,比如数据准备和探索、数据表示和转换、数据可视化和表示、预测分析、机器学习等。对学习数据科学基础感兴趣的初学者可能会有以下问题:


1. 学习数据科学的基础知识需要多长时间?

2. 学习数据科学有哪些资源?


选择上述标题的动机是基于彼得·诺维格(Peter Norvig)关于成为编程专家所需时间的这一观点。如果读者还没有读过这篇文章,笔者在此建议读者阅读彼得诺维格(谷歌机器学习主管)的《十年自学编程》。以下是文章的链接:http://norvig.com/21-days.html.


这里的要点是,不需要花10年的时间来学习数据科学的基础知识,但是匆忙学习数据科学肯定没有帮助。成为一名数据科学家需要时间、努力、精力、耐心和奉献精神。

马住!谷歌机器学习主管“十年自学编程”的三个心得体会

来源:Pexels

彼得·诺维格的建议是,学习需要时间、耐心和承诺。当心那些说可以在4周或1个月内学习数据科学的文章、书籍或网站。如果对学习数据科学的基本原理感兴趣,就要准备投入适当的时间和精力,这样不仅可以掌握浅层概念,而且可以掌握深入的数据科学概念。


笔者花了两年的时间深入学习掌握了数据科学的基础知识(通过自学),这是因为笔者拥有物理学博士学位,而且有扎实的数学和编程背景。掌握数据科学的基础知识需要多长时间取决于个人背景。一般来说,在数学、统计学、计算机科学、工程学或经济学等分析学科有扎实的背景是有利的。


彼得·诺维格“十年自学编程”的三个心得体会


· 掌握数据科学的基础知识需要时间、精力、耐心和奉献精神


数据科学是一个跨学科领域,需要在高等数学、统计学、程序设计和其他相关的数据分析、数据可视化、模型构建、机器学习等方面有扎实的背景知识。笔者花了两年的时间来专门学习并掌握了数据科学的基础知识,这是因为笔者具有扎实的数学、物理和编程背景。以下是一些帮助掌握数据科学基础知识的资源。


1. 数据科学专业证书(通过edX从HarvardX获取):https://www.edx.org/professional...


包括以下课程,全部使用R语言教学(可以免费听课或购买认证证书):


(1) 数据科学:R基础;

(2) 数据科学:可视化;

(3) 数据科学:概率论;

(4) 数据科学:推理与建模;

(5) 数据科学:生产力工具;

(6) 数据科学:争论;

(7) 数据科学:线性回归;

(8) 数据科学:机器学习;

(9) 数据科学:顶点

2. 分析学:基本工具和方法(通过edX从Georgia TechX获取):https://www.edx.org/micromasters/analytics-essential-tools-methods

包括以下课程,全部使用R、Python和SQL进行教授(可以免费听课或购买认证证书):


(1) 分析建模导论;

(2) 数据分析计算概论;

(3) 商业数据分析。

3. Python专业的应用数据科学(通过Coursera从密歇根大学网站获取): https://www.coursera.org/special...


包括以下课程,全部使用python进行教授(可以免费听大多数课程,有些课程需要购买认证证书):


(1) Python数据科学概论;

(2) 应用Python进行绘图、制图和数据表示;

(3) 应用Python进行机器学习;

(4) 应用Python进行文本挖掘;

(5) 应用Python进行社交网络分析。


4. 数据科学教材


从教科书中学到的知识比从网络课程中学到的更精细、更深入。本书介绍了数据科学和机器学习,包括代码:《Python机器学习》,作者是塞巴斯蒂安·拉什卡(Sebastian Raschka)。他以一种非常容易理解的方式解释了机器学习的基本概念。此外,还包括代码,因此可以使用提供的代码来实践和构建自己的模型。笔者认为这本书在自己作为数据科学家的旅程中非常有用。笔者会向任何有志于数据科学的人推荐这本书。只需要基本的线性代数和编程技巧就能理解这本书。还有很多其他优秀的数据科学教科书,比如韦斯·麦金尼 (Wes McKinney)的《利用Python进行数据分析》、马克斯·库恩和谢尔·约翰逊的《应用预测建模》 、伊恩·H·威滕和马克A. 霍尔的《数据挖掘:实用机器学习工具与技术》等等。


5. 与其他数据科学爱好者建立网络


从个人经验来看,通过与其他数据科学爱好者合作,笔者从每周的数据科学和机器学习主题的小组对话中学到了很多东西。与其他有志于数据科学的人建立关系,在GitHub上分享代码,在领英上展示技能,这将真正有助于在短时间内学会很多新的概念和工具,也会接触到新的做事方式,以及新的算法和技术。


· 理解数据科学的理论基础和动手操作的数据科学技能一样重要


数据科学是数学密集型学科,需要具备以下知识:


1. 统计和概率

2. 多元微积分

3. 线性代数

4. 优化与运筹学

尽管Python的scikit-learn和R的Caret库包含了一些用于进行数据科学和构建机器学习模型的工具,但是理解每种方法的理论基础是非常重要的。


· 避免讲机器学习模型作为黑盒工具使用


数据科学的坚实背景将使数据科学家能够建立可靠的预测模型。例如,在建立模型之前,会有这样的问题:


(1) 什么是预测变量?

(2) 目标变量是什么?目标变量是离散的还是连续的?

(3) 应该使用分类还是回归分析?

(4) 如何处理数据集中的缺失值?

(5) 当将变量引入相同的范围时,应该使用规范化还是标准化?

(6) 是否采用主成分分析法?

(7) 如何微调模型中的超参数?

(8) 如何评估模型以检测数据集中的偏差?

(9) 是否应该使用集成方法,即使用不同的模型进行训练,然后进行整体平均,例如使用分类器,如支持向量机(SVM)、K-近邻算法(KNN)、逻辑回归,然后对3个模型的结果进行平均?

(10) 如何选择最终模型?


机器学习模型的好坏取决于一个人理解模型的所有细节的能力,包括关于不同超参数的知识,以及如何调整这些参数以获得性能最佳的模型。把任何一个机器学习模型当作一个黑匣子,却不能完全理解模型的复杂性,将会导致伪造模型的出现。

马住!谷歌机器学习主管“十年自学编程”的三个心得体会

来源:Pexels

总之,数据科学是当今最热门的领域之一。数字革命创造了成千上万的数据。公司、行业、组织和政府每天都会产生大量的数据。对高技能数据科学家的需求只会继续增长。


现在是花时间掌握数据科学基础知识的最佳时机。在这样做的时候,当心那些说可以在4周或一个月内掌握数据科学的文章、书籍或网站。不要着急,花点时间掌握数据科学的基础知识。

一起来愉快地学习吧~

马住!谷歌机器学习主管“十年自学编程”的三个心得体会


马住!谷歌机器学习主管“十年自学编程”的三个心得体会

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范