三种学习方式,助你建构多重网络,获得能力与价值的非线性增长。
疑问
有不少读者,在我的数据科学教程下留言,问我类似这样的问题:
王老师,我已经跟着您的全部教程,从头到尾实践了一遍。中间不懂的地方,也专门看书或者上网查找,补充了知识。感觉数据科学算是入门了。但是之后我该做什么呢?有没有什么进阶教材推荐一下?
你的问题很有价值。
教材的事儿,我之前专门为你写了《文科生 Python 与数据科学入门教材推荐》。其中部分书籍的深度,已经不止算是入门级别了。尤其是那些讲到了 BERT 的。
然而,从入门到进阶,绝不是再多去看几本书这么简单。
恰好,这周我在北得克萨斯大学的《信息系统中的计算方法》课程结课了。
这一学期,我教给学生们的主要知识技能,包括 Python 、数据整理(Pandas)、数据可视化、机器学习(包括深度神经网络)和自然语言处理。
说到这里,你可能会心一笑。
对,其实你把我全部教程跑一遍,学的内容也应该差不多了。
你面对的问题,同时也应该是他们的问题。
只不过,他们学得更辛苦一些。
毕竟,每次作业都有个明确的截止日期。
我上第一课的时候,逐个做过调查。不少学生之前没有接触过 Python 或者类似的编程语言。
这一学期下来,他们不仅学完了 Python 基础,还能用深度学习处理结构化数据、图像,乃至自然语言相关任务了。
达成学习目的的背后,是辛勤的付出。
我说:考虑到平均每周课后你们需要在这门课上花15个小时做作业和练习,着实辛苦了……
学生立即插话:别逗了,老师。绝对不止啊!
学生们展示完期末报告后,我们一起合了张影。
然后他们就想收拾包下课走人,被我拦下了。
我说,还差一部分内容,听我讲完。
我着实不希望,学生们在付出这些时间和汗水后,就此止步。
别忘了,你我的头脑,都有一个重要功能——遗忘。
倘若从此停止学习,他们之前所学的内容,也就随着自然的遗忘,前功尽弃了。
我补充的这部分内容叫做:
下一步,该干什么?
我主要讲了3点:
实践中学习
教学中学习
传播中学习
我把这部分内容整理出来,加上一些解释和阐述,一并分享给你。
希望能帮助主动勤奋学习的你,在入门数据科学之后,走上高效进阶之路。
实践
第一种方式,是在实践中学习。
简单来说,就是找现实世界中的任务,整合与磨练自己的技能。
为什么是“现实世界中的任务”?
教科书里面的任务,往往为了结果的一致性和讲解方便,隐藏了很多的细节。
尤其是数据,基本上都是帮助你清理好的,或者是很容易整理和转换。你拿过来直接灌进模型,就可以看结果。这样确实有助于提升你的成就感。
但是处理一次真实世界的数据,你就会发现。一个机器学习任务,整体的时长是10小时的话,那么其中大概8个小时,都不是用来建模训练的。
建模这件事儿,如今做起来,真的跟搭积木几乎没区别。
我给你举过十行代码搞定图像识别的例子。但更极端的,是连写代码都可以省略。
只需要根据目标,把若干层次堆叠好,剩下的就是算力和时间在发挥功效了。
例如 Google Cloud AutoML 。
工学院的开放日,我曾驻足在一个海报前,问学生怎么获得了这么高的图像识别率,都如何调整超参数的?
对方答不上来。但是告诉我他们用了 Cloud AutoML 。超参数调整云端后台直接搞定,根本不用自己操心。
但是,你应该清楚,即便在数据和模型齐备的情况下,为了能够让你的原始数据可以被这个标准化的模型接受,你得花费多少时间和心力。
文本数据,你需要进行编码转换(有些词汇里面有非英文拉丁字母),替换标点和特殊符号(例如 Emoji),处理大小写,也得考虑停用词问题。对于中文,甚至还需要分词。你需要找到足够好的词嵌入预训练模型。对于长短不同的句子,也得明白该如何截断和补齐。(参见《如何用 Python 和循环神经网络做中文文本分类?》)
时间序列,你需要清理缺失数据,找寻要提取的特征,设定时间窗口和地理围栏。为了平衡数据集,你需要在随机抽取的基础上,考虑前导事件序列是否有重复,是否为空。面对一个只有1GB的小型数据集,如果操作不当,这些预处理动作都会耗费你大量的时间资源。(参见《如何用 Python 和循环神经网络预测严重交通拥堵?》)
如果只是满足于拿别人清理好的数据直接灌进模型,这些知识你是不会触碰的。
只有在实践中,你才可能积累这种层级的认知。
而当你不断扩展和延伸这些琐碎的、书本上来不及介绍的知识,你也就在向着专业的高峰攀爬。
你可以把学到的数据分析技能,应用到自己的研究与工作中,变手工为自动,让老板和客户赞叹;也可以把基于规则的系统,改造成从数据中提炼规律的智能自适应系统。
你可以去参加五花八门的开放数据竞赛,与各路高手过招。
输了你能学到别人的先进经验和理念,赢了有奖金。
有了这些积累,你甚至可以尝试在工作与学习之余,打造自己的智能应用。
挖掘痛点、迭代开发,把成果放到应用商店或者网站上,给自己赚取些“睡后收入”。
教学
第二种方式,是在教学中学习。
这并非要求你转换职业,去当老师。
你可能常听说过一句话,叫做:
教是最好的学。
你信吗?
我想告诉你,这是真的。
“教”这个动作,蕴含着两个事儿:“输出”和“被接受”。
输出,可以倒逼你的输入,而且是高质量输入。
为了讲出来,你就必须自己弄懂。
在这个过程中,你可能会倒吸一口凉气——之前自己的理解,居然是错的呀!
自己弄懂之后,还不算完。
因为“教”是有明确对象的。
对方能否接受和理解,才是评价你教学效果的准则。
为了让对方弄懂,你就不得不想办法,把原先仅限于“自己理解”的知识,用举例、说明、比喻等方法,包装成对方可以吸纳和理解的产品。
为了说明白一些动态过程,你甚至需要去制作动图乃至视频。
上图来自于 Raimi Karim 的博客。我觉得他把 LSTM 单元工作的原理,介绍得非常清晰生动。
教学这个过程,会充分强化你与知识内容之间的连接。
你可能会认为,免费教学很吃亏。
其实不然。
教学过程中,你梳理了专业知识、打磨了沟通技巧、建立了声誉和信任感。
对这些收获,不要视而不见。
并非只有货币化的回报才有价值。
回忆一下,上中学的时候,班上可能有两种学霸。
第一种自己苦学。别人问问题,都推说自己也不会。这种人即便成绩好,因为缺乏协作能力,也很难有大成就。
第二种爱答疑解惑。老师不在的时候,他甚至会自告奋勇走上讲台,往黑板上面抹画,给大家讲解难题。当他把一个班的答疑工作都承包后,想不得第一是件很有难度的事儿。
提起这第二种学霸,我就不由得想起我们高中班长的形象来了。他清华毕业后到加州读博士做研究,发过不止一篇 Nature 。
更让人印象深刻的是——毕业将近20年了,每次只要他一回国,立刻就可以召集起数十人的聚会。
这就是人缘。
数据科学不是什么屠龙术。你不肯讲解,别人也能通过其他渠道来获取相应信息。
所以真的没必要藏着掖着。
在教学互动中,你可能还能收获许多意想不到的机遇。
该怎么做呢?
你可以给身边的同事、同学、朋友讲解自己数据分析实践获得的新知。
还可以参加开放数据日等活动,给其他初级参与者以编程指导。
如果恰巧身边缺乏感兴趣的线下受众,也不要紧,有网络嘛。
知乎、Quora 和 Stackoverflow 等问答社区,都是你给别人答疑解惑的好场所。搜寻一下数据科学板块的热点问题,如果你会,就把答案写下来。
在这个过程中,你也能充分触摸市场的温度,了解哪些具体问题更受人们关注。
当然,更推荐的方法,是直接到我的教程后面找读者的留言提问。
许多问题,因为从头到尾尝试过,你有了现成解决的方法与心得。教起来就更是轻车熟路,不是吗?
传播
第三种方式,是在传播中学习。
对,我要教你如何加杠杆了。
或许你满足于只在一个特别小的圈子里面建立专业声誉,可外部世界对你一无所知。
对不起,你亏大发了。
因为机会成本太高。
人们常说,这是一个个体崛起的时代。
个体崛起的基础,是传播技术的发展。
统计一下,每天你花在微信、头条、知乎和抖音上的时间,有多少?
不光是你,许多人每天的时间和注意力,也会在这些信息传播平台上。
提醒你一下,在这些平台上创作和发布内容,是免费的。
把你实践的经验,用图文记录下来。
把你之前线下的讲解教学,用视频展现出来。
总之,是形成一个可发布的完整作品,而不只是片段。
然后,找准用户群,放到相应的平台上。
这样,你就能以最低廉的成本,把自己创作的文本、图像甚至是影像,传播到互联网的每一个角落。
有专业的团队替你操心租用服务器、网络安全、负载均衡,乃至是版权保护的问题,你只需要专注内容。
高质量、满足需求的内容,会给你带来更多的受众。
更多的受众,会迅速为你提升专业声誉,扩大你的社会网络,乃至给你带来更多的优质机会。
你之前实践和教学积攒的认知,都会在这个过程中迅速放大,乃至充分变现。
出版机构会联系你,希望你把系列教程结集出书。
专业领域的高手们,会注意到你,并且愿意把你拉进圈子,一起交流切磋。
猎头会积极联系你,更好的平台会给你伸来橄榄枝。甚至,你还可以有机会提供付费咨询服务。
你创造的应用,也会获得更多人的关注。如果使用效果好,他们会用口碑帮你自然传播,省下大笔营销费用。
广告主们自然会纷纷来找你谈合作与推广……
但是,这里必须提醒你一下,一定要注意底线。
赚不该赚的钱,会损害你好不容易积累起来的网络与专业声誉,着实得不偿失。
小结
从入门到进阶,我给你推荐了三种方法。分别是:
实践中学习
教学中学习
传播中学习
细心的你,一定已经发现了。三种方法,实际上是在帮助你的三个网络增长延伸。
实践中学习,是帮你扩展技能网络。你与知识、技能连接越多,学习与领悟新知识就越快,尤其会提升专业敏感度。面对新问题,获取到同样的信息,新手可能胡子眉毛一把抓,最终束手无策;而高手只要扫一眼,就大概可以准确猜出问题在哪里,并且快速掌握对应的新知,来加以解决。
教学中学习,是帮你扩展专业网络。你给别人提供知识服务,不仅可以帮助自己提升沟通技能,打磨优化知识结构,更是与同事、同学、同业建立更好连接的机会。你的收获,除了帮助别人获取的快乐外,还有专业声誉(即靠谱程度)的提升。
传播中学习,是帮你扩展社会网络。你可以利用日渐完善的内容传播平台,建立个人品牌,增长关注者数量。这将给你带来不可估量的优质机会,帮助你实现自己的价值与理想。
这三者之间,绝不是孤立的关系。
它们是相互促进的。
你有了更广阔的社会网络,就有更多的机会接触到更有价值的问题,获取更宝贵的专属数据,甚至是操作更丰富的计算资源,从而获得自己独特的技能认知,反过来促进技能网络。
而你的技能增长,会让你的教学内容更有深度和质量,从而进一步扩展你的专业网络。
你的声誉越高,口碑越好,就会有越多的人关注你,加入到你的社会网络中。
这种增长,即所谓“正反馈”,是非线性的。
我们早已在波澜不惊的世界里,习惯以线性观点来衡量事物的变化。
所以总有一天,你的成长速度会把自己吓到。
这就是为什么,对“数据科学入门后,该做什么”这个问题,我无法给你推荐什么进阶书籍。
因为你需要的,根本就不是另一本包含更多公式的高难度教材。
只有看到这些别人看不到的网络,把你自己融入真实世界中,甚至逼迫自己不得不适应生长,你才有可能在技术、数据急速改变与塑造的新环境里借势而起,让自己充分增值,并且与适合自己的机遇产生链接。
祝深度学习愉快!
延伸阅读
你可能也会对以下话题感兴趣。点击链接就可以查看。
如何高效学 Python ?
《文科生数据科学上手指南》分享
如何用 Python 和 fast.ai 做图像深度迁移学习?
如何用 Python 和深度迁移学习做文本分类?
如何用 Python 和 BERT 做中文文本二元分类?
喜欢请点赞和打赏。还可以微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。
如果你对 Python 与数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学?》,里面还有更多的有趣问题及解法。
题图:Photo by Samuel Ferrara on Unsplash