昨晚张少典学长来哥大介绍了他的公司,以及人工智能在中国医疗届的高速发展。整个讲座干货满满,但让我印象最深的还是他关于数据预处理重要性的论述。的确,中国医疗数据数量远超于其他任何国家,但其质量就不敢让人恭维。于是乎大量时间都得花在整理、标准化数据上,而传统的机器学习方法就在整个过程中就不那么重要啦。
因为自己在数据预处理方面也是一个初学者,目前没啥经验之谈,所以我想分享一个由此引申出来的问题,那就是信息(知识)预处理方面的感悟。
说实话现在我们有了Google等搜索引擎之后,知识的本体记忆变得不那么重要而快速搜集资料并内化学习的能力越来越成为现代社会的必备生存技能。这种技能早期被称为个人知识管理,对于每个人而言都是不一样的,有的崇尚工具,有的依托记忆,其实本质上都是一套方法论体系。
邮件日记、GTD、番茄时钟、康奈尔笔记法、晨间日记、紧急-重要四象限法则、甘特图、香肠战术……各种体系都有着自己的拥趸与应用场景,一般人从无到有时任何体系都会很大的改变工作效率,但一段时间后可能每种方法都不那么灵光了,方法本身可能没什么问题,更多的不协调可能是使用者本身过于依赖方法来实现目标而没有真正思考目标本身究竟是否适合方法背后的假设。
就算我列出每种方法的适用场景恐怕也不能解决方法失灵问题,因为任何机械查表式的套用都有着大力丸跟万金油的嫌疑,属于思想上的懒惰,多半还会遇到使用者对场景的混淆。这方面我的建议是先随意找一种方法论完全吃透,然后在实践中发现其局限性,然后能动改进,形成自己的套路。
人脑就是一个信息输入-输出系统,且能够即时反馈出的信息量有生理上限。知识管理的核心就是在有限的信息容量里装入尽可能多的信息,其实就是输入信息的压缩与解压方法。
由此可以设想如果信息间是零散独立的,那么并不存在压缩信息的可能。不过如果很多信息可以抽象成一条信息,那么大脑的负担就可以迅速降低,但每次抽象都会损失信息量。同样,在使用或输出信息时,需要解压为具象的语言,此时知识需要增加信息量。
当前流行的知识预处理更多关注了信息了整理与抽象,但对知识的使用缺少关注。我在很多 MOOC 笔记网站看到了很多归纳十分精彩笔记,但是感觉过于专著笔记的逻辑结构了,这样在严谨的逻辑框架下很难使用这些知识。有时候理科思维是需要工科思维来落地的,最简单的方法就是进行知识输出的场景训练。
写作、演讲与教学(TA)是目前我认为最好的让知识解压的训练方法。当你看到一个好的创意或工具,简单的收藏与归类并不能让知识变成你的,得用作者的思路重新走一遍,想象自己提出了这个方法并要教给别人,然后在教的过程体会方法局限性。这个过程知识从抽象变具象,增加的信息量就是你使用这个知识的自由度。
You do not really understand something unless you can explain it to your grandmother. - Albert Einstein
其实写作好比一个翻译过程,把别人的话变成自己的话,同时包括了信息输入与输出过程。以我的经验,只有走这么一出,这个知识点才会真正被掌握,随时可以自由使用出来。从这个角度看,应试教育最大的问题可能是学生可通过技巧在不理解知识的情况下取得高分,等到了无法直接套公式的应用场景就只能抓瞎了。
其实这个问题最严重的情况是出在科技论文的写作上,以我有限的文献阅读经验,经常发现作者在使用一些方法时只是单纯山寨了其他论文的方法模版,也就是通过排列组合把自己的研究嵌入到一个固定的模式中去,然后就认为一劳永逸了。这样的论文在逻辑严谨性上会继承已发表论文的所有问题,但很难产生新的知识,因为没有新思考来增加信息量。
新的问题总是需要新的知识与思索来论证,论文不是让你阐述事实而是论述新知识,所有的手段都是在说服读者认同你的观点,很难想象在根本不理解方法的情况下单纯追求方法本身有多大意义,特别是数据分析方法。我们不仅需要可重复性的研究,更需要有思考的解压式研究,这部分才是科研里最有意思的部分。
回到知识预处理 ,单纯追求效率意义同样不大,一年读几百本书或几分钟读一本书都是在刷数据,舍本逐末。知识管理最好的验证不是数据,而是不断问自己我的知识与思考自由度是否更大了?从知识的应用角度进行验证是最简单的,或者说带着问题去求知是最有效的,让知识压缩进头脑,然后解压成行动,每一步都有思考反馈才是对知识本身的尊重。
现代社会的压力让所有人都焦虑,最开始是害怕自己落后,后来是害怕孩子落后。解决焦虑的方法是购买确定性,例如学个高薪专业(CS)、买个学区房、考个证、嫁个有钱人… 这也是拒绝思考的表现,所有现阶段的确定性都存在未来的不确定性,不是说你花了钱就安全了,最多是感到安全而已。对知识的追求也是如此,很多人只是为了缓解焦虑而求知,没用的,只有理解并拥抱不确定性才能真正解决焦虑问题,体会知识本身乐趣。
如果你的求知目标是确定的,例如拿到生统PhD迈入学术界,那这个问题就是 AI 可解可优化的,那么只要计算能力在提高,总有一天 AI 可以帮助你,然后替代你。但 AI 是无法提出并优化求解一个不存在或矛盾的问题的,不信你可以问 AI 电车难题,是要一个胖子死还是四个瘦子死,AI 解不了这类逻辑悖论或伦理问题,写不出 loss function或只能写一种原则下的 loss function或加权几种原则下 loss function,原则还是要人提出来。这类充满矛盾与不确定性的原则才是应该花费时间去思考的,焦虑未来的不确定性实在多余,未来总是有不确定性的,正是有不确定性人才不是机器。
说到不确定性,我又想起了Jenny Bryan在访谈中的一段话,好久不读,是时候拿出来再温习一遍了。
What skills and attributes make a good data scientist? I think being naturally curious, doing something for the sake of answering the question versus a “will-this-be-in-the-test?” mentality – just trying to do the minimum.
You need a huge tolerance for ambiguity. This is a quality I notice that we’re spending a lot of time on in our Master of Data Science programme at UBC. Half the students have worked before and about half are straight out of undergrad, and the questions they ask us are so different. The people straight out of undergrad school expect everything to be precisely formulated, and the people who’ve worked get it, that you’re never going to understand every last thing; you’re never going to be given totally explicit instructions. Figuring out what you should be doing is part of your job. So the sooner you develop this tolerance for ambiguity [the better] – that makes you very successful, instead of waiting around to be given an incredibly precise set of instructions. Part of your job is to make that set of instructions.