标签归档:大数据

大数据学习(机器学习)初学者常犯的9个错误

原文:9 Mistakes to Avoid When Starting Your Career in Data Science

如果你想从事大数据行业(包含机器学习,下同),那么你一定要避免以下9个错误,否则你会走很多弯路,花费没有必要的时间。 
甚至因为遇到很多挫折而失去学习的热情和动力,所以以下9个错误,是新手开始学习大数据之前必须了解的。

这些错误分布在3个阶段: 
* 大数据技术学习阶段 
* 应聘工作阶段 
* 面试阶段

大数据技术学习阶段

这一阶段的错误很难发现,它们在无形之中榨干你的时间。 they spawn from the misconceptions surrounding this field.

1.花费过多时间在理论上

很多新手都会花费过多时间在理论上,不管是数学相关的理论(线性代数、概率论等)还是机器学习相关的理论(算法、推导等)。

为什么说这样效率低呢? 
1. 学习周期很长,很容易让初学者望而怯步,中途放弃。 
2. 在学习完很多的理论之后,你仍然没有办法对机器学习有一个整体的概念。机器学习是一个实践性较强的领域,要想打下坚实的基础,最好的方法是学习与实践结合。 
3. 很可能你会因为没有看到你学习的东西与现实的联系而失去动力,甚至放弃学习。

注重理论的学习方法是学校中的传统教学方法,但是大部分人的实践技能还是从结果导向的学习中获得的。

为了避免这个错误,你应该: 
– 兼顾理论学习与项目实践。 
– 适应实践性学习,知识漏洞是在所难免的,随着你的进步,漏洞会自然填补上。 
– 了解碎片化的知识在整个知识体系中的位置(请参考我翻译的“机器学习实用教程”)。

2.所有算法从头实现

这个错误导致了很多初学者只见树木不见森林,在开始阶段,其实没有必要把每个算法都自己从头实现一遍。

当然,实现几个算法练手是可以的。随着算法的普及,越来越多成熟的机器学习库和开源的解决方案被开源使用,大多数的从业人员甚至都没有从头实现过算法。

现在,对于大数据行业从业人员而言,更重要的是理解如何使用对的设置(和用对的方式),来使用对的算法。

为了避免这个错误,你应该: 
– 学习通用的机器学习库,例如:Scikit-Learn (Python) or Caret (R)
– 如果你真的想从头实现算法,抱着学习的心态去做,不要追求完美。 
– 对机器学习算法有一个总体的了解,弄清楚他们的长处和短处。 
拓展阅读:landscape of modern machine learning algorithms

3.学习急功近利

一些人进入这个领域是因为他们想要参与建设未来的科技:无人驾驶汽车、高级机器人学、机器视觉等。这些科技是通过深度学习、自然语言处理等技术实现的。

要想掌握未来科技,先要把基础打好。每个跳水运动员都是从游泳开始学起的,你也应该把基本的技术掌握了,再考虑更远的发展。

为了避免这个错误,你应该:

  1. 掌握“传统的”机器学习技术和算法,想要建楼,先要有砖。
  2. 要知道,传统的机器学习还是有巨大的潜力,尽管很多的算法都已经成熟了,但是我们在算法的使用上还处于初级阶段,发掘算法的有效使用方式还有待探索。
  3. 系统地学习用机器学习解决问题的方法(详见free 7-day crash course,或者我已经翻译的“机器学习实用教程”)

应聘工作阶段

这个阶段的错误会导致你错过很多工作机会,尽管你能力很强。避免这些错误,你可以获得更多的机会。

4.在简历上列举太多技术术语

应聘者最大的错误就是简历上塞满各种技术术语。

你的简历应该突出重点,直观得体现你你能够给对方公司带来的贡献,特别是你在应聘一个初级岗位的时候。

为了避免这个错误,你应该: 
– 不要生硬地列举你使用过的编程语言和库,说说你用它们做了什么,结果如何。 
– 越简洁越好。把最重要的技能列出来就好,突出重点,不要分散注意力。 
– 用一个好的简历模板,针对不同岗位设计不同版本的简历。

5.自视过高

有时候,毕业生会因为有好的学历而自视过高。不可否认,有一个对口专业的重点大学学历确实可以给你带来更多工作机会,但很多时候,学历不是最重要的因素。

当然,也并不是说毕业生傲慢。大多数情况下,学校里教的知识和企业里实际使用的技能是很不一样的,实际的权衡能力对于项目时间节点、客户需求、技术瓶颈之间的平衡是很重要的,但是学校里并没有重视这些能力和知识的传授。

为了避免这个错误,你应该: 
– 使用真实数据集来完成课程作业。 
– 系统地学习用机器学习解决问题的方法(详见free 7-day crash course,或者我已经翻译的“机器学习实用教程”) 
– 实习机器学习相关的岗位。 
– 请教大数据行业的从业人员。

6.搜索岗位的时候太过于局限

大数据是一个很新的领域,很多企业还在摸索阶段,如果你在搜索岗位的时候,只搜索“大数据”的话,你会错失更多相关的工作机会。

一些岗位没有标明大数据,但是实际上做的工作是类似的。

为了避免这个错误,你应该: 
– 通过“能力要求”来搜索岗位(比如:机器学习、数据展示、SQL数据库等) 
– 通过岗位职责来搜索岗位(比如:预测模型建立、A/B测试、数据分析等) 
– 通过岗位中使用的技术栈来搜索岗位(比如:Python、R、Scikit-Learn、Keras等) 
– 搜索更多相关的岗位名称(比如:数据分析师、机器学习工程师等)

面试阶段

这个阶段的错误是面试的时候的阻碍。

7.没准备好讨论项目

在公文包里随身带着自己的项目介绍,可以让你更好地应对“你会如何”这一类情景假设的面试问题。这时候你就可以举出曾经处理过的实际的例子,而不是空口无凭地说。

还有就是,通常你的直系领导会特别希望你有独立解决问题的能力,因为大数据相关的岗位包含有项目管理相关的职责。你应该理解整个大数据的工作流程,并且知道如何将各个流程步骤拼接起来。

为了避免这个错误,你应该: 
– 完成课程:end-to-end projects that allow you to practice every major step(例如:数据清洗、模型训练等) 
– 形成自己的一套方法论,大数据是严谨的,而不是随意的。 
– 练习和描述一遍你在实习、工作、课程中做的项目。

8.低估专业知识的价值

专业技能和机器学习知识是做好岗位工作的先决条件,如果想在竞争中突围而出,你还应该要学习更多专业领域的知识,从而更好地把技能应用到专业领域中。大数据从来都不是空想就可以做好的。

为了避免这个错误,你应该: 
– 如果你要应聘银行的岗位,学习基本的金融知识。 
– 如果你要应聘世界500强的决策岗位,参考一些面试案例,了解该公司的盈利点。 
– 如果你要应聘创业型公司,了解该公司的市场,尝试了解该公司的核心竞争力。 
– 面试之前主动一些,肯定不会错的。

9.忽略沟通技能的重要性

目前,在大多数企业,大数据团队跟其他开发、分析团队比,还是很小的。所以一个大数据岗位的新人通常会跟着一个老员工,数据科学家的工作环境一般都是跨职能的。

面试官会希望看到你跟不同技术岗位、数学背景的认为你交流的能力。

为了避免这个错误,你应该: 
– 尝试把技术概念解释给非技术人员听。例如,把你最喜欢的算法解释给朋友听。 
– 准备对拓展阅读中通用面试问题的回答,表述你的答案。 
拓展阅读:common interview questions 
– 分析几个数据集,抽取关键信息,说明你的发现。

总结

在本文中,你了解了大数据初学者容易犯的9个错误,并且获得了一些针对9个错误观念的实用建议。

1.花费过多时间在理论上 
2.所有算法从头实现 
3.学习急功近利 
4.在简历上列举太多技术术语 
5.自视过高 
6.搜索岗位的时候太过于局限 
7.没准备好讨论项目 
8.低估专业知识的价值 
9.忽略沟通技能

为了近一步引导你入门,我们邀请你参与我们的课程: 
free 7-day email crash course on applied machine learning 
(也可参考我翻译的教材:“机器学习实用教程”)