13

从 Python 小白到 Kaggle 金牌需要多久?他用了 3 年!

 3 years ago
source link: https://zhuanlan.zhihu.com/p/149440761
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

从 Python 小白到 Kaggle 金牌需要多久?他用了 3 年!

​“自 2017 年开始学习 Python 以来,我一直遵循这条道路,直到 2019 年成为 Kaggle 个人赛的金牌得主。希望这个故事能激发你向目标进发,永不放弃!”

v2-aea4bbc1fb31693fd10bb068290f5daf_720w.jpg
Photo by Mantas Hesthaven

为什么要开始?

近年来,我对深度学习和人工智能(AI)的兴趣与日俱增。不仅仅是因为这个领域取得了巨大的进展,还因为人们越来越关注这个话题了。

从好的方面说:

1. 人工智能让过去需要数小时重复人工劳动的工作变得自动化,没有它,这些根本不可能大规模实现。

2. 人工智能使自动驾驶变为可能,并将减少交通事故挽救数百万人的生命。

3. 人工智能将帮助医生更准确地评估病人的病情。

4. 人工智能将与艺术家们合作,创造新的艺术形式。

5. 人工智能将帮助科学家在科学上取得新的进展。仅仅是这些例子,人工智能就足够令人兴奋了。

但同时我们也需要意识到以下问题:

1. 自动化会导致越来越多的人类工人失业。

2. 使用 AI 面部识别进行大规模监控,可能会对自由和隐私构成巨大威胁。

3. 人工智能可以用来产生虚假新闻,包括视频和音频,从而助长不良信息的传播。

4. 人工智能模型中的偏见,可能导致两极分化和对少数群体的歧视加剧。

这些都是人工智能带来的负面影响例子。对于其中的一些问题,例如 AI 模型中的歧视,产生和训练这些模型的数据科学家负有评估和消除这种歧视的道德责任。

牢记这些,让我们进入下一个主题 - 学习 Python。

开始学习 Python

在 2017 年初,我意识到如果想学习深度学习,我需要首先学习 Python。

那时,我在用 Matlab 进行大学的研究。我过渡到 Python 的策略是:

在开始的每个新项目中都使用 Python。

一开始,这有点令人沮丧。我花了很多时间,尝试在 Python 中做一些在 Matlab 中轻松就能完成的事情。短短几个月后,我就可以用 Python 更快地完成工作了,那时我终于意识到了 Python 具有的潜力。在 2017 年底,我就不再使用 Matlab 了。

当人们问我如何开始学习 Python 时,我给出了对我有用的建议 —— 在你启动的每个新项目中都使用它。但是,如果你没有任何编程背景,那么寻找一些在线课程介绍 Python 编程可能会很有帮助。

和学习任何编程语言一样:实践是最好的学习方法。

还有一个重要的技巧是:看别人的代码,或者让别人对自己的代码提出建议。一段代码往往有很多种写法,但总有一种是最简洁的。学习把代码变得简洁,可以让你的工作效率慢慢提高。

学习真正实用的深度学习

我尝试过好几门在线深度学习课程,比如 YouTube 上 Nando de Freitas 的课程,以及 Andrew Ng 的神经网络和深度学习课程。这些都是非常有趣的经历,但真正让我进步一大步的,是对 fast.ai 框架的使用!

对我来说,这简直开了挂。这种自上而下的学习方法对快速入门和立即加入 Kaggle 比赛很有帮助。除此之外,fast.ai 库提供了几种开箱即用的工具来解决深度学习问题。虽然这些解决方案不会让你赢得比赛,但它会让你开始入门。

之后,你可以把你的新想法融合在 fast.ai 中,这并不难,尤其是在 fast.ai 2 的版本中。

如果我要今天开始学习深度学习,我一定会从 fast.ai 开始。然后,掌握一些实用的知识并开始做实验是一个很大的帮助,尤其是当你像我一样自学的时候。实践一遍之后,你会发现这些知识更容易理解、更知道如何使用了,因为您已经掌握了他们。

在 Kaggle 中比赛

对我来说,参加 Kaggle 比赛是最好的学习方法。

在比赛中,与他人的讨论和共享想法是一种快速学习和提升的好方法。这不是一件容易的事,我记得当我刚开始使用 Kaggle 时,我并不真正知道自己在做什么。那是在 2018 年底,当我在比赛中获得第一枚铜牌(排行榜的前 10%)时,那感觉就像是一个里程碑。在 2019 年初,经过两个月的努力,我又向前迈进了一步,在另一项比赛中获得了银牌(最高 5%)。在 2019 年中后期,我终于获得了金牌(第六名),成为 Kaggle 比赛的高手。

学习的过程并不容易,也不是一帆风顺的。比赛中的努力也可能会令人沮丧,因为你会经常花很长时间去尝试新的想法。但坚持才是关键。如果你每天都在坚持不懈地尝试,最终一定会发现哪种方法在比赛中是最有效。即使最后结果不是很好,最重要的还是学习。

尝试新方法和进化模型的过程,永远是一个很好的学习方法,这会让你变成一个熟练的深度学习工作者。我始终相信在 Kaggle 中,真正的赢家一定是学得最多的人。

成为 Kaggle 拿到金牌后,我开始加入团队竞赛。与他人讨论想法让我获益良多,我从其他团员身上学到了很多东西。我还开始将深度学习应用在大学以及个人项目的研究上。我发现解决问题是一种非常有趣的经历,并且能让你学到最多。

总之,如果你从 Kaggle 开始,请向他人学习,不要担心您的成绩。

结束语

如果你也正准备成为一名深度学习工程师,希望我的故事可以激励到你。深度学习非常令人兴奋,即使您不想成为深度学习的从业者,拥有一定的深度学习知识在当今也非常重要,并且会越来越重要。

谢谢阅读!祝你有美好的一天!

作者:Miguel Pinto

出处:https://towardsdatascience.com/my-3-year-journey-from-zero-python-to-deep-learning-competition-master-6605c188eec7

翻译:实验楼

相关课程推荐:

Python基础阶段:

人工智能基础:

人工智能框架:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK