`
chelsea
  • 浏览: 111586 次
  • 来自: ...
社区版块
存档分类
最新评论

学习的逻辑: 知识经济学

 
阅读更多

万物有始皆有终. 我们的逻辑链条起源于为什么要持续学习, 然后是学习什么, 怎么证明学到了, 最后是为什么只学一门不够

为什么要持续学习 -- 知识通胀时代来临

大家大部分都是在职的, 平时应该会存钱. 存钱最害怕什么? 对, 通货膨胀. 一旦央行开动印钞机, 并大量放贷制造流动性, 我们辛苦多年的积蓄就会被迅速稀释甚至蒸发. 然而现在有一样东西, 正以前所未有的速度被制造出来, 这就是知识. 并且其流动性在互联网的推动下简直泛滥成灾. 换句话讲, 知识正在通货膨胀. 过去各行各业积攒的各种知识, 各种独门秘笈, 都大白于天下. 过去少数人才能接受大学教育, 现在哈佛,斯坦福的公开课唾手可得. 前几天微博上刚流传一哥们一年时间自学33们麻省理工课程. 在这种情况下, 我们现在的知识积累, 知识储备, 会被迅速稀释, 我们的身价也会迅速贬职. 那怎么办? 拿存钱来说, 一方面我们要投资保值或增值, 一方面也要不断赚钱. 放到知识上是一样的. 我们要不断学习, 而我们可以投资的, 只有我们的时间. 那么问题来了, 就像要考虑是投资股票, 黄金, 还是房地产一样, 我们的时间应该投资在哪些知识上?

学习什么 -- 知识漏斗

回答这个问题, 牵扯到一个理论, 叫知识漏斗. 我们可以将知识分为三个层次,代表了我们处理知识的三个阶段:mystery, heuristic和algorithm。以下斜体内容摘自徐昊博客:

"mystery的知识属于未知领域,我们甚至无法了解这个问题本身是什么问题。典型的问题比如“如何成得到最好的设计”,“怎么获得美满的婚姻”,甚至一些看上去不那么难回答的问题实际上也属于这类问题,比如“下一个客户从哪来”,“如何让业务增长十倍”。这类问题中的每个问题都是独特的问题,就好像并不是所有企业都能做大十倍,而且做大过程中的方式也不一定相同。再比如对于某个项目有效的手法,对别的项目不一定适用,都是一个道理,有时候又被称作艺术。

algorithm的知识属于完全已知领域,在这个领域没有复杂问题,所有的复杂性都被解决掉了。无论在何种环境下,按照algorithm来作,总能得到相同或者是可预期的结果。这类知识往往是像“如何列出磁盘目录”,“房贷手续是怎样的”,“在东直门哪里能买到钱包”之类的问题。对于这类知识,你知道就是知道,不知道就是不知道。较容易通过训练获得,其终极形式就是写成程序,完全不用人来作。

从mystery转向algorithm就需要heuristic,我如何把一个未知的问题转化为已知的algorithm,或者我是能够去除掉mystery中的复杂性用简单的algorithm来解决它。或是说,你能否把艺术工程化或者流程化,去掉其中的文艺范。推理,发散,类比等等的都是这个阶段需要的技能。大凡革命性的飞跃,都源自把mystery变成algorithm"

而这三种知识的学习方式和价值也是不一样的. Algorithm最容易学习, 也最廉价, 因为其最容易传播和复制. 而最有价值的, 是为某个mystery寻找的heuristic方法. 一个例子是Martin Fowler的重构. 在此之前, 如何改善既有代码的设计, 并没有什么众所周知的方法. 而Martin找到了一种启发式的方法, 就是寻找坏味道, 然后应用一系列对应的重构手法. 这些重构手法甚至将另外一个mystery "如何安全的修改代码" 给算法化了. Martin是我们学习的榜样.

根据精益理论, 用问题来拉动, 会避免无意的浪费. 卡尔波普尔也说, 科学研究应该从问题而不是从资料开始. 我的同事米高陈也说停止学习, 开始创造. 所有这些都一个意思: 你应该找到一个自己感兴趣的问题, 然后解决它, 在解决的过程中学习.

好, 我们知道了该学什么, 那么第三个问题随之而来, 我们如何知道我们学会了?

怎么证明学会了 -- Validated Learning, 知行合一

我们无论是投资股票, 黄金, 房地产还是其它什么, 我们总要知道是赚了还是赔了. 我们的时间投资于学习也一样. 我这两个小时花进去了, 我怎么知道我花的值不值呢? 我们可以把我们前面讲的TDD的思路用在这里. 就像用测试保证产品代码符合预期一样, 我们也需要一种方法来验证我们的投资是有效的, 这被称之为Validated Learning.

真正的Validated Learning包括拿你学到的知识真的去做事来验证. 我们先不走那么远, 就简单一点, 证明你学会了即可. 我们常用的有效的方法就是分享, 或者教给另外一个人. 你如果能把你所学到的清晰的讲述给你的同学, 或者写成博客, 或者做成培训教程, 就可以有效的检验你的掌握程度. 大家可以想想, 有多少次, 你向别人讲个东西, 别人一问深入了, 你就卡壳了?

所以你应该做作业, 并在课堂上分享. 即使老师不布置作业, 你也应该自己考一下自己. 大家都经历过无数的考试了, 我们可能觉得考试是痛苦的, 想逃避. 可是我们想象一种极端的情况, 如果从小学到高中, 我们一次试都不考, 只在高考时考一次, 你愿意吗? 这风险得多大啊? 所以考试是一种validated learning的机制, 是帮助我们的, 暴露我们知识缺陷的, 我们应该欢迎. 即使老师不考我们, 我们也应该想法自己考自己.

说到分享, 还有另外一个理由来证明你为什么应该分享. 大家都是知识工作者, 大家觉得自己的身价是由什么决定的? 有人说是由掌握的知识. 这句话只对了一半, 甚至不对. 你的身价是由你表现出来的知识决定的, 不是你掌握的知识决定的. 你的老板, 你的同事, 他们不可能知道你都看了啥想了啥学到了啥, 他们只能看到你说了啥做了啥. 我们讲面向对象, 我们只能通过public接口来访问一个对象. 我们就是个黑盒, 别人只能通过我们的行为来判断我们. 换句话讲, 如果你学了某些知识, 但行为没有任何变化, 那跟没学是一样的. 所谓知行合一. 在这一点上, Martin Fowler也是我们的榜样.

那我们学会了并分享了是否就可以高枕无忧了? 现在我们来证明你学一样还不够, 要学多样.

为何只学一门不够 -- 知识工作者的分工

之前课下有人问, 老师我是做测试的, 你们讲的编程的技巧, 我需要学习吗? 这是很好的问题, 它牵扯到知识工作者的分工. 我们在生活中, 随时都会享受到分工的好处, 比如不需要自己种地养牛,不需要自己搬砖建楼, 这一切都拜分工所赐. 分工是一种已经被证明行之有效的科学方法, 可以极大的提高效率. 但这一切都有个前提, 就是你可以直接应用别人的工作产物, 而不需要跟这个人交互, 也不需要关心产物是如何产生的. 比如你可以直接喝牛奶而不需要关心牛奶是如何制造的, 当然在兲朝你可能得关心一下. 但在软件开发中, 或者在一切知识工作中, 这个前提不复存在了.

有多少次, 你可以直接基于客户的标书工作, 而不需要跟客户交流? 有多少次, 你可以直接根据需求文档编码, 而不需要跟需求分析人员交流? 有多少次, 你可以直接根据架构师的设计编码, 而不需要跟架构师交流? 有多少次, 你可以直接根据需求去测试产品, 而不需要跟需求人员和开发人员交流? 没有. 如果我们据此来分工, 那么我们不得不通过其它的实践来加强沟通, 来弥补沟通中的信息损失. 而如果一个人从头到尾包办所有的事情, 分析设计编码测试, 则没有任何信息转移和丢失造成的效率损失.

换言之, 在传统行业中, 分工是一种优化, 不到万不得已, 你不需要自己去搞定所有的事情; 而在知识工作中, 分工是一种妥协, 除非你一个人搞不定了, 你才需要分工.

现在的企业都看重polyskill的人, 从这个角度, 虽然某个时刻你会focus在某个方面, 但我们应该学习软件开发中方方面面的知识. 不要局限在自己现在的角色里.

参考资料

以上是在北航一级实践课程上的说教, 大部分内容来自徐八叉不同时期的session, 其中隐含着一条逻辑主线, 在向学生说明为什么应该做作业时无意中发现的.

分享到:
评论

相关推荐

    货币银行学、国际金融学、中级宏观经济学、公司理财公司金融考研框架体系笔记总结

    主要是方便初学者构建框架,更好的去学习和记住知识之间的逻辑框架等。 添加了理 财的综合总结,一共十面,主要总结了理财的主要框架和基于信息经济学视角比较偏僻的考 研知识点 货币政策.pdf (924.56 KB) 货银第...

    毕业设计:小程序消防知识每天学(源码 + 数据库 + 说明文档)

    毕业设计:小程序消防知识每天学(源码 + 数据库 + 说明文档) 毕业设计:小程序消防知识每天学(源码 + 数据库 + 说明文档) 2 系统的需求及可行性分析 9 2.1 需求分析 9 2.1.1 功能性需求分析 9 2.1.2 非功能性...

    zenx-integrated-learning:使用Haskell通过功能编程学习问题解决,逻辑集,数学,物理学,经济学

    Zenius-X 2015的集成基础知识学习通过Haskell中的函数式编程学习思维,逻辑,集合论,问题解决,数学,物理学和经济学。 该课程现已在正式提供 注意:您必须注册才能查看教程并进行练习 遵循的步骤: 从此安装...

    c语言课件ppt数据应用

    第31章 开放经济的宏观经济学:基本概念 第32章 开放经济的宏观经济理论 第12篇 短期经济波动 第33章 总需求与总供给 第34章 货币政策和财政政策对总需求的影响 第35章 通货膨胀与失业之间的短期权衡取舍 第13篇 ...

    百度知识中台白皮书2021.01.03..pdf

    1.观点摘要. ...5.10构建学习体系,定制教学方案,知识中台变革教育理念 6. 知识中台在智能经济中担当重任.... 6.1智能经济,接棒下一代产业形态.... 6.2重装上阵,知识中台持续提升自身能力,推动企业转型..

    毕业设计:Java项目之jsp驾驶知识学习和评测系统(源码 + 数据库 + 说明文档)

    2.2.2经济的可行性 5 2.2.3操作可行性 5 2.2.4法律的可行性 6 2.3系统用户用例图 6 2.3.1管理员用例图 6 2.3.2教师用例图 6 2.4功能模块需求分析 7 2.5设计的基本思想 8 2.6性能需求 8 2.6.1系统的安全性 8 2.6.2...

    毕业设计:python基于知识图谱的百科知识问答平台(源码 + 数据库 + 说明文档)

    毕业设计:python基于知识图谱的百科知识问答平台(源码 + 数据库 + 说明文档) 第二章 相关技术介绍 8 2.1网络爬虫 8 2.2 python语言 8 2.3 django框架 9 2.4 MySQL数据库 9 第三章 系统需求分析 10 3.1系统的需求...

    人工智能的研究内容.docx

    而基于仿生学、认知心理学,以及基于概率论和经济学的算法等等也在逐步探索当中。 人工智能的研究内容全文共2页,当前为第1页。 人工智能的研究内容全文共2页,当前为第2页。 人工智能的研究内容全文共2页,当前为第...

    chatGPT学习资料(3)

    海量高价值信息全量在线记忆、自然语言输入任意任务和多轮对话理解能力、复杂逻辑思维链推理能力、多角色多风格长文本生成能力、即时新知识学习应用与进化能力。 而科大讯飞则主要是针对长期关注的医疗、教育领域在...

    毕业设计: Java项目springboot英语知识应用网站(源码 + 数据库 + 论文)

    3.1.2经济可行性 5 3.1.3操作可行性 5 3.2系统性能分析 5 3.2.1 系统安全性 5 3.2.2 数据完整性 6 3.3系统界面分析 6 3.4系统流程和逻辑 7 4系统概要设计 8 4.1概述 8 4.2系统结构 9 4.3.数据库设计 9 4.3.1数据库...

    LINGO软件的学习

    学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似...

    学习编程对大多数IT业人员来说都是非常有用的

    学习编程对大多数IT业人员来说都是非常有用的。...知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。

    精通数据科学:从线性回归到深度学习

    三是来自计量经济学的启示,主要涉及特征提取的方法以及模型的稳定性。 ·????????????第三部分是接下来的8-15章,主要讨论算法模型,也就是机器学习领域比较经典的模型。这三章依次讨论了监督式学习、生成式模型...

    什么是人工智能的核心技术?.pdf

    怎样模拟或实现⼈类的学习⾏ 为,以获取新的知识或技能,重新组织已有的知识 结构使之不断改善⾃⾝的性能,是⼈⼯智能 技术的核⼼。基于数据的机器学习是 现代智能技术中的重要⽅法之⼀,研究从观测数据(样 本)...

    软件工程知识点

    软件工程:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。 软件工程是一门关于软件开发与维护的工程学科,它涉及软件生产的各个方面,能够为经济、高效地开发高...

Global site tag (gtag.js) - Google Analytics