ds证据理论python实现_学长学姐如是说 (一):在墨大DS三年我想说的话

9ef7b3d6321650203e329f0befc9ac15.png 点击蓝字 关注我们

638dfa99c6534d872f864a9316864a44.png

本期嘉宾:小V

墨大DS 大三在读

现某大数据公司 算法搬运打工人

山本耀司脑残粉...

Hello大家好,我是小V ,一名墨大DS大三在读的同学。 写这篇文章的初衷是感觉到现在大多数同学都在关注CS的学习方向以及该如何发展,但是有关DS学习相关的文章却很少见。所以,与其羡慕CS的丰富资源,不如自己动手给迷茫的学弟学妹做一些经验分享,指明我曾踩过的坑、走过的路。 注:

CS:一般指为Computer Science(计算机科学与技术专业),在墨大则为Computing and Software System(计算机与软件系统专业)。

DS:一般指为Data Science(数据科学专业)。

本期导读

本期内容为作者本科三年以来在墨大读DS所获的一些心得体会,主要包括:

  1. 对于课程选择的认知

  2. 对于未来就业方向的理解

  3. 一些有用的学习工具分享

  4. 墨大Deep Learning(深度学习)方面的简要介绍和资源分享

身为DS人的你是否也曾感到迷茫?

课程选择

选课是一个经久不衰的话题,总会有学弟学妹问哪门课给分高,哪门课容易学,好多大佬也分享过他们的选课/交换经验(如果感兴趣可以关注我们,后面会跟大家细聊这个话题)。但是我觉得相比于刷到更高的wam,学到需要的知识是更加重要的。大家应该在学校排名、课程内容、课程质量、wam中做出平衡,而不是一味的刷wam。在我看来很多不是DS的必修课如RA/DMOR/SM等,对DS学生的成长和未来发展也是非常有毗益的。

激烈竞争我究竟该何去何从?

内卷

由于本人未来志在做一名算法岗上的深度学习打工人,所以这一部分我们以算法岗为例细说。当然DS毕业的同学未来还有很多的可选择方向,算法岗只是其中之一

在现在的大环境下,算法岗招录的人数远远小于开发岗,加上国内近几年在AI,ML等领域的加速发展和政策的大力扶持,导致相关的一些领域成为了猪都能被吹起来的大风口,也吸引了大批CS和其他相关专业的同学涌入。 所以如果问ds卷不卷,那答案 必是卷 。但是现在国内什么都卷,送个外卖都能卷,我觉得逃避内卷不是换一个行业就能解决的问题,想避免的最好的方法就是留在国外。 内卷确实是一个选专业时应该考虑的因素,但是它不应该是最重要的那个,因为个人兴趣永远是第一位的,不要被一个行业的热度左右了自己的选择。我选择DS的很大原因是我觉得CS太无聊了,相比而言DS更加有意思一点(狗头)。 歌王注:确实20年秋招各大厂的算法岗都有点灰飞烟灭的架势...

技术可以不行,装备一定要好。

工具

还记得大一的时候我朋友向我介绍各种好用的工具,当时天真的我不以为然,我用Sublime/Spyder写的好好的,为什么要换其他的软件?但是到了大三却直呼真香,前辈的建议往往还是值得参考的。下面介绍几个可能会使DS开发变得更高效的常用工具/插件。

Monokai theme / Rainbow brackets 

在学习过程中我注意到好多朋友用的都是默认的配色和字体。我觉得大家可能没有意识到它对工作效率带来的影响。在此和大家分享我常用的配色工具: 'Monokai pro theme'和'Rainbow brackets'。

Python/RStudio/C/Java一路走来,我使用的一直是‘Monokai’这个配色。从下面的图中可以看出‘Monoka’ 配色中变量名,函数名颜色差异较大,一眼就能看出每一小行代码中代表的是什么。

以下为Monokai theme配色与某IDE默认配色对比图

3022836b3f85a7bad0aa6cbfb8492b9c.png

a2646b76960e20bad6353b8d8ebe2f62.png

另外还有一个非常推荐的是Pycharm彩虹括号(‘Rainbow brackets’)插件。不管什么语言,找到对应的括号一直是一件很头疼的事情。Rainbow brackets 能特别有效的帮助我们找到对应的括号。

以下为Rainbow brackets高亮与IDE默认高亮对比图

ed95355490dba9dcb988eca74259a0ff.png

661341d1ffd03d533078713314963f1c.png

IDEA全家桶

适用方向/课程: 

Python, C, Java等语言的开发

EODP/Machine learning/Applied Data Science等课程

用墨大的学生账号能 免费使用 IDEA全家桶(虽然需要每年重新激活一下)。因为这篇文章是针对于DS学生的,这里只拿IDEA中python的开发工具(PyCharm)和Anaconda的开发工具做比较(Vscode我基本没用过,不太好评价)。 .ipynb文件下:

优点:

  1. 可以把代码和输出放在屏幕的左右两边,大大提高了屏幕的使用率。

  2. 可以使用Pycharm下的各种插件,不需要再去单独配置anaconda下的Notebook

Anaconda 中自带的Notebook配色和补全十分的不好用。而且在输出较多时页面会变得非常的长,有效显示代码的区域只占屏幕一半。

6c50c96efadd59538ff1a29ade309474.png 在装了一些简单的插件之后配色过得去了,但是补全还是非常难用...并且因为背景是纯黑的,在画图的时候表格的坐标轴与标题会与背景融为一体... 而且屏幕利用率低的问题也没有得到改善。 c83cfc83373fdc9dc2398b3baf0ebab1.png 相比之下,IDEA有着非常多优秀的插件。一键配置自动补全、更换配色等功能,在编辑Notebook时把代码与输出左右分离,极大的提高了屏幕使用率,并且能更加方便的配置虚拟环境(这个真的挺有用的)。 87ac80e1473ed94e51c285bd6c1c72ba.png 缺点: 加载相对来说比较慢。 .py文件下:

断点比Spyder好用,配色更加舒服。其他的差别不大。

Sublime text

适用方向/课程: 

Python, C, Java等语言的开发

EODP/Machine learning/Applied Data Science等课程

用于阅读、简单编辑各种语言的代码。 优点: 支持识别、高亮大部分语言,打开较块。

缺点:只是一个文本编辑器,没有解释器(通俗的来讲,在不装任何插件的情况下只能编辑不能run)。

歌王注:我觉得Vscode比Sublime好用哈哈~

Git

适用方向/课程:

需要Group work的项目

ADS/IT Project(CS专业课)等需要group work的lv3课程

用于备份文件、控制文件版本。 在一个人写代码的时候版本控制看起来不是特别重要,但group work的时候就显得尤为重要了。 备份和版本控制是一个很好的习惯,应该趁早养成。 ba231e18a0e1e11a05e2d6b22e7b2f3f.png 除了命令行操作外,git还支持图形界面的操作,它对新手也十分的友好 优点: 相比于OneDrive的自动同步,git有着更好的历史版本控制,在发现自己代码写炸了的时候能更方便的找到能正常运行的版本。并且git在group work的时候能更好的同步、合并版本。此外,git也能和IDEA联动,所以使用起来非常的方便。 缺点: 相比于OneDrive每次ctrl+s就能自动上传、同步文件,git的同步显得有些麻烦...

条条大路通罗马,没有一条走得顺。

学习路径

DS是一个特别大的领域,我只对算法有浅薄的理解。在这想和大家分享一下算法这个分支下深度学习领域的学习路径。

Deep Learning

说到算法就不得不提Deep Learning。现阶段很多场景/任务下 Deep Learning的模型都达到了SOTA(state of the art),并远远的甩开了传统机器学习算法/启发式算法/人为经验判断的正确率。

虽然Deep Learning不像大家吹的这样万能,但是Deep Learning确实能被运用到很多商业场景中,并且有着非常不错的效果。就算不是DS的学生,你也可能听到过自然语言处理/图像识别等名词。现在这些领域主流的算法都是深度学习算法。 9a895b93ec31c4049b206a98e12dff76.png 机器学习关系图

墨大DS - 算法

墨大DS的课程包括了大量的统计课程,但是编程、数据库、算法的课程都是入门级别的(只讨论DS的必修课)。在我看来这样的课程设置对想走算法的朋友来说是十分不友好的。本科毕业的DS学生编码能力十分薄弱、大数据相关知识欠缺、数学(运筹/离散)方面知识约等于0。

算法方面,虽然基础的机器学习算法在Machine Learning这门课都有涉及,但是因为 数学基本功不够 ,所以很多算法都没有办法深入,深度学习的部分更是一笔带过。但在ML的第二个project和ADS的三个project中,好多组都会用deep Learning 的模型来写。这个时候头疼的就来了, ML只简单介绍了Deep Learning的原理,并没有包含任何代码实现,目前SOTA级别的模型更是一个都没有提及到。 Deep L earning 从0到调用SOTA的模型,并针对自己的数据集做出适当的调整、分析,这不是一朝一夕能学会的事情( 大佬除外 )。 这就导致在好多组做着做着发现需要补的东西太多了,有点心有余而力不足。 数学/代码的课程可以通过elective进行一定程度的弥补,但是Deep L e arning墨大就帮不了你了。

该如何自学Deep Learning

在没有任何基础的时候,建议在Udemy、 b站等网站找一些入门课程。在对Deep Learning有了一定了解之后(知道DNN/CNN/LSTM/Attention是什么之后),可以在Tensorflow 或 Pytorch的官网找一些简单的下载下来跑一跑(Tensorflow/Pytorch是两个Python下比较常用的深度学习框架)。

4c1f97f818966468612d22978487eae6.png

在对深度学习框架有一定了解之后,可以到Kaggle上找一些数据集自己实践一下

在这之后你应该就有能力读懂paper了。我觉得相比于网上的课程、博客,paper能很好的帮助你理解模型为什么跑出来效果好,到底是哪个layer或者哪个参数在起作用。

一些资源的分享

在这里我总结罗列了一些网上我曾看过的还不错的教学视频,墙裂推荐给学弟学妹们!

919da1f56f669d9f3f7a81cc9c7edb3b.png

小 结

由于篇幅所限,本期内容就在此告一段落了。感谢大家的阅读,也希望我的分享能为对DS感兴趣或正在攻读DS的朋友们带来些许的帮助。如果大家有任何对DS方向上感兴趣的内容,可以在公众号后台留言,也可以关注我的知乎"SingMeALullaby"私信我。也别忘了扫码关注我们的公众号,期待后续更多内容的更新!

作者:小V 编辑:歌王

4f6ff6b9e61b8cf086b20630258ab6ca.png

往期系列传送门

数院课程解析系列计院课程解析系列 墨大交换那些事儿
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值