我是如何从物理学转行到数据科学领域
很多人问我是如果从物理学转行到数据科学,本文讲述了关于我为什么决定成为一名数据科学家,以及我是如何追求并实现目标的。希望能够最终鼓励更多的人追求自己的梦想。让我们开始吧!
CERN 暑期项目
2017年CERN暑期项目
CERN(欧洲核子研究组织)暑期项目为物理、计算机和工程专业的本科生提供了千载难逢的机会,让他们前往瑞士日内瓦,与顶尖科学家一起参加研究项目。
2017年6月,我非常幸运地被选中参加这个项目。粒子物理学是我的研究方向,能够参加CERN的研究项目让我欣喜不已。在为期2个月的项目期间,针对CMS(紧凑μ子线圈)实验,我通过世界级LHC(大型强子对撞机)计算网格和云计算进行了相关分析和模拟。
CMS(紧凑μ子线圈)
此外,暑期项目还包含了一系列围绕粒子物理和计算领域的讲座、研讨会。
在此期间,通过参加讲座、研讨会以及项目,我开始接触到机器学习和大数据分析。令我惊讶的是,机器学习技术能够处理大量的数据,并精确的对各种微观粒子进行分类和检测。接着我毫不犹豫地投入了对机器学习和云计算的探究与学习。
谁知道这次经历会成为我人生中的转折点,我打算投身数据分析。然而此时我对数据科学的定义仍比较模糊。
数据科学领域初探
当我一结束暑期项目回到新加坡,我就对解数据科学进行了一些探究,令我惊讶的是,这个领域并没有明确的定义。但总的来说,在我看来,数据科学涵盖了编程、数学、统计知识以及一定专业知识。
尽管如此,我还是惊讶于数据是如何被用来为公司得出分析见解,并驱动商业价值。从理解业务问题,到收集和进行数据可视化,直到构建原型开发阶段,进行微调,并将模型部署到实际应用程序中,在这些过程中我发现了通过使用数据解决复杂问题、完成挑战的满足感。
“没有数据,你只是一个空有想法的人”。
—— W. Edwards Deming
我的出发点—数据可视化
Tableau Dashboard
2017年8月,作为进入数据科学领域的第一步,我参加了由Tableau和IMDA(Infocomm Media Development Authority)共同组织的NIC Face-Off 数据竞赛,当中我首次接触到数据可视化。
当中我有机会使用Tableau Public对各种开放数据源进行可视化,这些数据调查了东南亚雾霾的起源,并提供了可操作性的的见解。
第一份数据分析兼职实习
在同月,我偶然发现了一个机会成为了mobilityX的一名数据分析实习生,这是一家由SMRT资助的初创公司。考虑到可读性和广泛社区的支持,我使用Python进行编程。
其实在我大一开始学习编程时,我想过放弃。为了运行一个简单的for循环,我可能要花费好几天甚至几周。而且我常常会感觉自己没有天赋。
直到大三我和教授开始一项研究项目,我才开始对编程产生兴趣。我开始使用Python进行构建,并喜欢上了这个编程语言。
我开始不在自我怀疑,而是采用以下的步骤学习编程:
1. 理解编程的基本逻辑;
2. 选择一种编程语言并学习如何使用(语法等);
3. 练习,练习,再练习;
4. 重复步骤1-3 。
实习一直持续到2018年3月,期间我的收获颇多。我学会使用PostgreSQL和Python进行数据清理和操作、web抓取以及数据提取。
数据科学全职实习
之前经历进一步强化了我对数据科学的喜爱。之后我计划了自己的学习时间表,并在2017年12月毕业后,开始了在Quantum Inventions的数据科学全职实习。
看到这里你可能会问 ,为什么我选择去实习而不是一份数据科学的工作?那就是在申请全职工作之前,能够通过处理实际的数据,获得更多的技术知识,并从头开始体验数据科学的整个流程。
学习资源
以下总结了我的学习过程,当中我接受了很多人的帮助,并充分利用了大量的在线资源。
1. 推荐书籍
我读的第一本数据科学的书是《统计学习导论:基于R应用》(An Introduction to Statistical Learning?—?with Applications in R)。这本书对于初学者是非常不错的选择,当中着重统计建模和机器学习的基本概念,并提供详细而直观的解释。如果你很擅长数学,那么你肯定会喜欢这本书:《统计学习基础》(The Elements of Statistical Learning)。
还有一些相关书籍也是不错的选择,比如Sebastian Raschka的《面向初学者的机器学习》(Machine Learning for Absolute Beginners),《Python 和机器学习》(Python Machine Learning);以及Jake VanderPlas的《Python数据科学手册》( Python Data Science Handbook)。
2. 在线课程
Coursera
我推荐Coursera联合创始人吴恩达的《机器学习》课程。他能够把复杂的概念分解成更简单内容。该课程为期11周,主要围绕监督式学习、无监督学习以及机器学习的实际应用。当构建机器学习模型时,我仍然会参考该课程讲义,用来解决欠拟合或过度拟合的问题。
Udemy
Jose Portilla的《在数据科学和机器学习中使用Python》(Python for Data Science and Machine Learning Bootcamp)是不错的选择。该课程从Python基础知识开始,逐步指导你如何使用scikit-learn和TensorFlow实现各种机器学习和深度学习代码。本课程详细介绍了Python中各种库,用来实现机器学习模型。
此外,我强烈推荐Kirill Eremenko和Hadelin de Ponteves的课程《深度学习A-Z:人工神经网络》( Deep Learning A-Z?: Hands-On Artificial Neural Networks )。通过该课程,我第一次接触到深度学习。课程主要通过实际操作的编程教程,把握监督和无监督深度学习。
Lynda
我推荐Lillian Pierson的课程《在数据科学基础训练中使用Python》( Python for Data Science Essential Training 。该课程以统计分析为基础,围绕数据管理和数据可视化。
3. LinkedIn
LinkedIn是与数据科学社区有紧密联系的的强大平台。人们愿意在上面分享他们的经验、想法和知识,从而帮助他人。在LinkedIn上,我学习到了很多,无论是技术知识还是职业咨询等。
4. 其他资源
许多数据科学领域的初学者经常会被大量的资源所淹没。除了以上资源平台以外,还有Towards Data Science、Quora、DZone、KDnuggets、Analytics Vidhya、DataTau、fast.ai 等都是不错的选择。
建立作品集
个人作品集能够展示你的经验和能力,特别是当你没有数据科学方面的博士学位时。
由于我只有物理学的学士学位,我没有计算机科学相关学位,在大学的前三年中我也没有任何相关的数据科学作品。建立个人作品集是很重要的,因为公司需要知道你学了些什么,如何能过为公司业务贡献价值。这也是我决定实习和学习在线课程的原因。
不久之前,我和朋友一起参加由Shopee和工程与科技协会(IET)组织的Kaggle 机器学习挑战赛。这是我第一次参加Kaggle比赛,我学习了如何使用卷积神经网络(CNN)和迁移学习进行图像识别。
结语
我分享了我进入数据科学行业的一些情况,希望我的经历能够让你觉得数据科学其实很有趣,并不那么吓人。直到我接触到数据科学,我才愈发感受到什么是学无止境。我希望本文能够激励你去挑战自己,实现自己的梦想。