序言这本书是怎样写成的

Part1为什么需要模型思维

01做一个多模型思考者

使用模型来思考能够带给你的,远远不仅仅是工作绩效的提高。它还会使你成为一个更优秀的人,让你拥有更强的思考能力。你将更擅长评估层出不穷的经济事件和政治事件,更能识别出自己和他人推理中的逻辑错误。有了这种思维方式,你将懂得辨识什么时候意识形态取代了理性思考,并对各种各样的政策建议有更丰富、更有层次的洞见,无论是扩建城市绿地的建议,还是强制药物检测的规定。

本书所讨论的模型可以分为三类:

  • 对世界进行简化的模型;
  • 用数学概率来类比的模型;
  • 人工构造的探索性模型。

无论哪一种形式,模型都必须是易处理的。模型必须足够简 单,以便让我们可以在模型中应用逻辑推理。例如,我们讨论了一种传染病模型,这个模 型由易感者、感染者和痊愈者组成,可以给出传染病的发生概率。利用这个模型,我们可 以推导出一个传染阈值,也就是一个临界点,超过这个临界点,传染病就会传播。我们还 可以确定,为了阻止传染病传播,需要接种疫苗人数的比例。

1.1大数据时代的模型

  1. 麦肯锡(McKinsey)和德勤(Deloitte)等咨询业巨头 要通过构建模型来制订商业策略;
  2. 贝莱德集团(BlackRock)和摩根大通集团 (JPMorgan Chase)等金融业大公司要利用模型来选择投资;
  3. 州立农业保险公司 (State Farm)和美国好事达保险公司(Allstate)等公司的精算师要借助风险校正模 型来给保险单定价。
  4. 谷歌公司的人力资源部门要利用预测分析模型来为超过300万求职者 进行评估。各大学和学院的招生人员也要建立模型,以便从成千上万的申请入学者当中选 出合格的新生。
  5. 美国行政管理和预算局(Office of Management and Budget)通过构建经济模型 预测税收政策的影响。
  6. 华纳兄弟公司通过数据分析模型评估观众对电影的反应。
  7. 亚马逊公 司开发机器学习模型向消费者推荐商品。
  8. 由美国国家卫生研究院(National Institutes of Health)资助的研究团队建立了人类基因组学的数学模型,用于寻找和评估癌症潜在 的治疗方法。
  9. 盖茨基金会使用流行病学模型设计疫苗接种策略。甚至运动队也都使用模型 来预测选秀结果和交易机会,并制订比赛策略。
  10. 芝加哥小熊队(Chicago Cubs) 之所以能够在经历了一个多世纪的失败后赢得世界职业棒球联赛的冠军,就是因为很好地 利用了模型去选择球员、设计比赛策略。

对于使用模型的人来说,模型思维的兴起还有一个更简单的解释:模型能够让我们变 得更聪明。如果没有模型,人们就会受到各种认知偏差的影响:我们会对近期发生的事件 赋予过高的权重、会根据“合理程度”分配概率、会忽略各种基本比率。如果没有模型, 我们处理数据的能力就会受到极大的限制。有了模型,我们就能澄清相关假设且更有逻辑 地进行思考,还可以利用大数据来拟合、校准、检验因果关系与相关性。总之,有了模 型,我们的思考会更有效。有证明表明,如果让模型与人面对面直接“竞争”,模型将会 胜出。

1.2为什么需要多模型

  • 大部分学术论文也遵循传统的一对一的方法,尽管有时它们是在使用单一的模型去解 释复杂的现象。
  • 这些单个模型中的每一个都可能是正确的,但没有一个是 全面的。面对各种复杂的挑战,创造一个包容更广泛教育成就的世界,我们需要的不是单 个模型,而是多个模型构成的格栅。

通过学习本书中的模型,你就可以着手构建自己的格栅模型。这些模型来自多个学 科,涉及各种现象,例如收入不平等的原因、权力的分配、传染病和流行风尚的传播、社 会动乱的前置条件、合作的发展、秩序的涌现,以及城市和互联网的结构等。

模型的假设和结构各不相同。有些模型描述了少量理性的、自私的行为主体之间的互 动,有些模型则描述了大量的遵循规则的利他主义者的行为。一些模型描述了均衡过程, 还有一些模型讨论路径依赖性和复杂性。这些模型的用途也各不相同。一些模型是用来帮 助预测和解释的,一些模型是用来指导行动、推动设计或促进沟通的,还有一些模型则创 造了有待我们去探索的虚拟世界。

所有模型都有三个共同特征。

  • 第一,它们都要简化,剥离不必要的细节,抽象掉若干 现实世界中的因素,或者需要从头重新创造。
  • 第二,它们都是形式化的,要给出精确的定 义。模型通常要使用数学公式,而不是文字。模型可以将信念表示为世界状态的概率分 布,可以将偏好表示为各备选项之间的排序。通过简化和精确化,模型可以创造易于处理 的空间,我们可以在这些空间上进行逻辑推理、提出假说、设计解决方案和拟合数据。模 型创建了我们能够以符合逻辑的方式进行思考的结构。
  • 正如维特根斯坦在《逻辑哲学论》 (Tractatus Logico -Philosophicus )一书中所写的:“逻辑本身就能解决问题,我们 所要做的,就是观察它是如何做到的。”是的,逻辑有助于解释、预测、沟通和设计。但 是,逻辑也不是没有代价的,这就导致模型的第三个共同特征是:所有模型都是错误的, 正如统计学大师乔治·博克斯(George Box)所指出的那样。

所有模型概莫能外,即 使是牛顿提出的那些定律和法则,也只是在特定的条件下成立。所有模型都是错误的,还因为它们都是简化的,它们省略掉了细节。通过同时考虑多个模型,我们可以实现多个可 能情况的交叉,从而克服单个模型因严格而导致的狭隘性。

  只依靠单个模型其实是过于狂妄自大的表现,这种做法会导致灾难性的后果。相信只 凭一个方程,就可以解释或预测复杂的现实世界现象,会使真理成为那种很有“魅力”的 简洁的数学公式的牺牲品。

1.3智慧层次结构

多模型思维的成功取决于一定程度的可分离性。在分析2008年金融危机的成因时, 我们需要依赖外国人购买资产模型、资产组合模型、金融杠杆模型等多个模型。艾利森在 根据博弈论模型进行推导时,不需要考虑组织过程模型。与此类似,在研究人体时,医生 会将骨骼系统、肌肉系统、大脑系统和神经系统分开。也就是说,多模型思维并不要求这 些不同的模型将系统分割为互不相关的部分。面对一个复杂的系统,用柏拉图的话来说, 我们不能“将整个世界雕刻在关节上”。但是,我们可以部分地将主要的因果关系分离出 来,然后探讨它们是如何交织在一起的。在这个过程中,我们将发现经济、政治和社会系 统产生的数据会表现出一致性。这样一来,社会数据就不会再像家里养的猫一样吐出令人费解的毛球序列了。

1.4做一个多模型思考者

现在总结一下。我们生活在一个充斥着信息和数据的时代。同时,这些数据得以产生 的技术条件还极大地缩短了时间和空间上的距离。它们让经济、政治和社会行动者变得更 加敏捷,能够在一瞬间就对经济和政治事件做出反应。它们还增加了连通性,因而也增加 了复杂性。我们面临着一个由技术引发的悖论:在我们对世界的了解变得更多、更深入的 同时,这个世界也变得更加复杂了。考虑到这种复杂性,任何单个模型都更有可能遭到失 败。当然,我们不应该抛弃模型,恰恰相反,我们应该将逻辑一致性置于比直觉更优先的 位置;我们不能满足于双重模型、三重模型甚至四重模型,我们要成为多模型思考者。

要成为一个多模型思考者,必须学习掌握多种模型,我们可以从中获得实用的知识, 需要理解对模型的形式化描述,并知道如何应用它们。当然,我们也不一定非要成为专家 不可。因此,这本书在可阅读性和论证深度之间做了一些权衡,它既可以作为学习资源也 可以作为学习指导,书中对各个模型的正式描述都放在独立的专栏中。我还保证不会出现 一行接一行都是方程式的情况,如果那样的话,即便是最专注的读者可能也无法忍受。不 过,本书还是包括了少数几处包含方程式的论述,但它们都是容易理解的,也是应该被掌 握的。构建模型是一门艺术,只能通过不断实践才能熟练掌握,这不是一项以观赏为目的 的活动,需要刻意地练习。在建模中,数学和逻辑扮演着专家教练的角色,它们会纠正我 们的缺漏。

02模型的7大用途

了解现实就意味着构建转换系统,这些转换系统或多或少都必须与现实相对应。 让·皮亚杰(Jean Piaget)

2.1构建模型的3种方法

  • 构建模型的第一种方法是具身法(embodiment approach)。用这种方法构建的模 型包括重要部分,同时对于不必要的维度和属性,要么剥离,要么将它们整合在一起考 虑。生态沼泽模型、关于立法机构和交通系统的模型都是用这种方法构建的,气候模型和 大脑模型也是如此。 构建模型的
  • 第二种方法是类比法(analogy approach),可以对现实进行类比与抽 象。我们可以将犯罪行为传播类比为传染病传播,将政治立场的选择类比为在一个左-右 连续线段上的选择。球形牛是类比方法的一个最直观的例子:为了估计一头牛身上牛皮的 面积,我们会假设那头牛的形状是球形的。之所以要这样做,是因为微积分教科书所附积 分表中的公式,会出现tan(x)和cos(x),但是不会出现类似cow(x)这样的东西。
  • 构建模型的第三种方法是另类现实法(alternative reality approach),也就是有 意不去表征、不去刻画现实。这类模型可以作为分析和计算的“演练场”,我们可以利用 这类模型探索各种各样的可能性。这种方法使我们能够发现适用于物理世界和社会世界之 外的一般结论。这类模型有助于我们更好地理解现实世界中各种约束条件的含义,比如如 果能够通过空气安全有效地传输能量,那么将会怎样?这类模型还允许我们进行现实世界 中不可能的(思想)实验:如果我们能够加快大脑的进化,那么将会怎样?本书包含了不 少这种类型的模型,其中一个是“生命游戏”(Game of Life),它是一个很大的棋 盘,棋盘上的每一个方块要么是活的(黑色),要么是死的(白色),并根据某个特定规 则在生死之间切换。虽然这个模型与现实世界并不一致,但是它能够帮助我们加深对自组 织、复杂性现象的认识,甚至是许多关于生命本身的洞见。

无论是表征更复杂的现实世界、创造一个类比,还是建立一个用来探索思想的虚拟世 界,任何一个模型都必须是易于处理且便于交流的。我们能够用形式化的语言对模型编 码,比如数学符号或计算机代码。在描述模型时,我们不能在不给出正式描述的情况下直 接抛出诸如信念或偏好之类的东西。信念通常可以表示为一系列事件或先验的概率分布。 而偏好则可以用多种方式来表示,比如用对一组备选项的排序或者一个数学函数来表示。 易于处理则是指适合分析的性质。在以往,分析依赖于数学运算或逻辑推理,因此建 模者必须能够证明论证中的每一个步骤。这个约束条件导致了一种崇尚极致简约模型 的“审美倾向”。神学家、哲学家奥卡姆的威廉(William of Ockham)提出了流传至 今的“奥卡姆剃刀”原则:如无必要,勿增实体(Plurality must never be posited without necessity)。爱因斯坦则把“奥卡姆剃刀”原则进一步阐释为:事情应该力求 尽可能简单,但是不可过于简单化。不过到了今天,当遇到用解析方法难以处理的问题 时,我们还可以求助计算方法,可以构建由许多不断变化的组件的精细模型,而无须考虑 解析上是否易于处理。科学家在构建全球气候模型、大脑模型、森林火灾模型和交通模型 时,就采用了这种方法。当然,他们仍然不会忘记“奥卡姆剃刀”原则,只不过已经认识 到“尽可能简单”还会要求很多不断变化的组成部分。

2.2模型的7大用途

模型有几十种用途,不过在这里,我们只专注讨论其中的7种用途:推理、解释、设 计、沟通、行动、预测和探索。

  • 模型的7大用途(REDCAPE) 推理: 识别条件并推断逻辑含义。
  • 解释: 为经验现象提供(可检验的)解释。
  • 设计: 选择制度、政策和规则的特征。
  • 沟通: 将知识与理解联系起来。
  • 行动: 指导政策选择和战略行动。
  • 预测: 对未来和未知现象进行数值和分类预测。
  • 探索: 分析探索可能性和假说。

03多模型思维

没有什么比现实主义更不真实了……细节令人困惑。只有通过选择、通过消除、 通过强调,我们才能获得事物的真正意义。 乔治娅·奥·吉弗(Georgia O' Keeffe)

本章将通过科学的方法来引入多模型思维。我们先从孔多塞陪审团定理(Condorcet jury theorem)和多样性预测定理(diversity prediction theorem)入手讨论,这两 个定理为证明多模型思维在帮助人们行动、预测和解释方面的价值提供了可量化的论据。 需要指出的是,这两个定理可能夸大了许多模型的情况。为了说明原因,我们又引入了分 类模型(categorization model),它将世界划分为一个个箱子。使用分类模型的目的 是表明构建多模型可能会比预想的更难。然后,我们利用这类模型讨论了模型粒度 (model granularity),也就是模型应该有多具体,并帮助我们决定是采用一个大模型 还是多个小模型。选择取决于用途:在预测时,我们经常需要大模型;而在解释时,小模 型则更好一些。

我们得到的结论解决了一个长期以来挥之不去的忧虑:多模型思维可能需要学习非常 多的模型。是的,虽然我们必须学习掌握一些模型,但是并不需要学习像有些人想象的那 么多。我们不需要掌握100个模型,甚至连50个也不需要,因为模型具有一对多的性 质。我们可以通过重新分配名称、标识符,或者修改假设来将任何一个模型应用于多种情 况。模型的这个性质很好地平衡了多模型思维的需求。事实上,在新的领域应用模型对创 造力、开放性和怀疑精神的要求也非常高。我们必须认识到,并非每个模型都适合每项任 务。如果一个模型无法解释、预测或帮助我们推理,那就必须将它放到一边,考虑其他模型。

这种一对多的技能,与许多人所认为的要成为一名优秀建模者所必需的数学和分析才 能是不同的。一对多的过程对创造力的要求很高,它实际上相当于在问这样一个问题:对 于随机游走,我能够想到多少种用途?作为这种创造力的一个例子,在本章的最后,我们 将几何学中的面积公式和体积公式作为模型,解释了超级油轮的大小、评估了身体质量指 数、预测了新陈代谢的比例……并解释为什么我们很少看到女性CEO。

3.1孔多塞陪审团定理和多样性预测定理

现在来看看正式模型,它们有助于理解多模型思维的好处。在这些模型的情境下,我 们描述了两个定理:孔多塞陪审团定理和多样性预测定理。 孔多塞陪审团定理是从一个解释多数规则长处的模型中推导出来的。在这个模型中, 陪审员要做出要么有罪、要么无罪的二元决策。每个陪审员正确决策的时候比错误的时候 多。为了将这个定理应用于模型集合而不是一组陪审员,我们将每个陪审员的决策解释为 模型的一个类别。这种分类可以是行动(买入或卖出),也可以是预测(美国民主党胜出 还是共和党胜出)。孔多塞陪审团定理告诉我们,通过构建多个模型并使用多数规则,将 比只使用其中一个模型更加准确。这个模型依赖于世界状态(state of the world)的概 念,它是对所有相关信息的完整描述。对于一个陪审团来说,世界状态包括了审判时呈现 的所有证据。对于那些衡量某个慈善项目的社会捐献的模型来说,世界状态则可能与项目 的团队、组织结构、运营计划以及项目所要解决的问题的特征或状况相对应。

孔多塞陪审团定理 总数为奇数的一组人(模型)将未知的世界状态分为真或假。每个人(模型)正 确分类的概率为p >1/2,并且任何一个人(模型)分类正确的概率在统计上都独立于 任何其他人(模型)分类的正确性。 孔多塞陪审团定理: 多数投票正确的概率比任何人(模型)都更高;当人数 (模型数)变得足够大时,多数投票的准确率将接近100%。

那么,如何将这个定理的原理应用于多模型方法呢?生态学家理查德·莱文斯 (Richard Levins)对此给出了详细的阐述:“因此,我们尝试用几个不同的模型来处 理同一个问题,这些模型的简化方法各不相同,但都有一个共同的生物学假设。如果这些 模型(尽管它们有不同的假设)都导致相似的结果,那我们就得到了一个强有力的定理, 它基本上不受模型细节的影响。因此,我们的真理就是若干独立的谎言的交集。” 1 需 要注意的是,在这里,莱文斯渴望达成一致的分类。当许多模型都给出了相同的分类时, 我们会信心大增。

多样性预测定理则适用于给出数值预测或估值的模型,它量化了模型的准确性和多样 性对所有模型平均准确性的贡献。

多样性预测定理 多模型误差=平均模型误差-模型预测的多样性,即:

在这里,M i 表示模型i 的预测, 等于模型的平均值,V 等于真值。

多样性预测定理描述了一个数学恒等式。我们用不着费心检验,因为它总是成立。下 面举一个例子来说明这一点。假设我们用两个模型来预测某一部电影会获得多少项奥斯卡 奖。一个模型预测它将获得两项奥斯卡奖,另一个模型则预测它将获得8项。这两个模型 预测的平均值,也就是多模型预测的结果等于5。如果最后这部电影获得了4项奥斯卡 奖,那么第一个模型的误差等于4(2 2 ),第二个模型的误差等于16(4 2 ),而多模型 误差则等于1,模型预测的多样性等于9(因为每个模型的预测与平均预测均相差3)。这 样一来,多样性预测定理就可以表达为:1(多模型误差)=10(平均模型误差)-9(模 型预测的多样性)。

这个定理的原理在于,相反类型的误差(正负)会相互抵消。如果一个模型的预测值 太高,同时另一个模型的预测值太低,那么这些模型就会表现出预测多样性。两个模型的 误差相互抵消,模型的平均值将比任何一个模型更加准确。即便两个模型的预测值都太 高,这些预测值的平均误差仍然不会比两个高预测值的平均误差更糟。

但是,多样性预测定理并不意味着任何不同模型的集合的预测必定是准确的。如果所 有模型都有一个共同的偏差,那么它们的平均值也会包含那个偏差。不过,这个定理确实 意味着,任何多样性的模型(或人)的集合将比其普通成员的预测更加准确,这种现象就 是通常所说的“群体的智慧”(wisdom of crowds)。这是一个数学事实,它解释了计 算机科学中集成方法(ensemble method)成功的原因,这种方法对多个分类加以平 均,也解释了使用多个模型和框架进行思考的人比使用单个模型的人预测的准确性更高的 事实。任何一种看待世界的单一方式都会遗漏掉某些细节,使我们更容易产生盲点。单模 型思考者不太可能准确预测到重大事件,例如2008年的金融危机。

这两个定理为我们利用多个模型提供了令人信服的理由,至少在进行预测的情况下。 然而,这个理由在一定意义上可能显得过强。孔多塞陪审团定理意味着,如果有足够多的 模型,我们几乎永远不会犯错。多样性预测定理则意味着,如果能够构建一组多样的中等 准确性的预测模型,我们就可以将多模型误差减少为接近于零。但是,正如接下来将会看 到的,我们构建多个多样性模型的能力是有限的。

3.2分类模型

为了说明为什么这两个定理可能会“夸大其词”,现在来讨论一下分类模型。这类模 型为孔多塞陪审团定理提供了微观基础。分类模型将世界状态划分为不相交的。最早的分 类模型可以追溯到古希腊时代。在《范畴篇》(The Categories )一书中,亚里士多德 描述了对世界进行分类的10个范畴,包括了实体(substance)、数量(quantity)、 地点(location)和状态(positioning)等,每个范畴都会创建不同的类别。

当我们使用一个普通名词时,“裤子”是一个类别,“狗”、“勺子”、“壁 炉”和“暑假”也是如此。我们就是在使用类别去指导行动。我们按种族,比如意大利 人、法国人、土耳其人或韩国人,来对餐馆进行分类,以便决定在哪里吃午餐;按照市盈 率对股票进行分类,并根据市盈率高低买卖股票。当人们声称亚利桑那州的人口之所以增 长是因为该州气候宜人时是在用分类方法进行解释。我们还使用类别进行预测,例如预计 身为退伍军人的候选人在选举中会有更大的获胜机会。

我们还可以在智慧层次结构中解释分类模型的作用。对象构成了数据,将对象分为不 同类别就能创造出信息,而将估值分配给各个类别则需要知识。为了评价孔多塞陪审团定 理,我们依赖一个二元分类模型,它将对象或状态分为两个类别,一类标记为“有罪”, 另一类标记为“无罪”。关键的思想是,相关属性的数量限制了不同类别的数量,因此也 就限制了有用模型的数量。

3.2.1分类模型

存在一组世界的对象或状态,每个对象或状态都由一组属性定义,每个属性都有 一个值。根据对象的属性,分类模型M将对象或状态划分为一个有限的类别集{S 1 ,S 2 ,……,S n },然后给每个类别赋值{M 1 ,M 2 ,……,M n }。

假设有100份学生贷款,其中有一半是按期还款的,另一半是违约的。我们知道每一 笔贷款的两个信息:第一,贷款金额是否超过了5万美元;第二,贷款者主修的工科还是 文科。这是两个属性。通过这两个属性,我们可以区分出4种类型的贷款:主修工科学生 的大额贷款、主修工科学生的小额贷款、主修文科学生的大额贷款以及主修文科学生的小 额贷款。

二元分类模型将上面这4种类型中的每一种都分为按期还款与违约。一种模型可能将 小额贷款归为按期还款,将大额贷款则归为违约。另一种模型则可能将主修工科学生的贷 款归为按期还款,将主修文科学生的贷款归为违约。我们有理由认为这两种模型中的任何 一个都可能在超过一半的情况下是正确的,而且这两种模型大体上相互独立。

但是,当我们尝试构建更多的模型时就会出现问题。要将4个类别映射为两个结果, 最多只有16个模型。上面这两个模型是其中的两个,它们将所有贷款分为按期还款或违 约。剩下的14个模型中的每一个都有一个完全相反的模型,只要某个模型的分类是正确 的,那么与之相反的那个模型的分类就是错误的。因此,在14个可能的模型中,最多只 有7个可能在超过一半的情况下是正确的。而且,如果任何一个模型碰巧在一半的情况下 是正确的,那么与它相反的模型也必定如此。

数据的维数限定了可以创建的模型数量,最多可以有7个模型。我们无法创建出11个 独立的模型,更不用说77个了。而且,即使我们有更高维度的数据,比如,假设我们知 道贷款者的年龄、平均成绩、收入、婚姻状况和住址,那么依赖这些属性的分类一定能产 生准确的预测。每个属性子集都必须与贷款是否已经偿还相关,同时还必须与其他属性无 关。这两者都是很强的假设。例如,如果收入、婚姻状况和住址是相互相关的,那么交换 这些属性的模型也将是相互相关的。 4 在严格的概率模型中,独立性是合理的:不同的 模型会产生独立的错误。运用分类模型的原理分析孔多塞陪审团定理的逻辑时,我们看到 了构建多个独立模型的困难。

在试图构建一组多样性的、准确的模型时,也可能会遇到类似的困难。假设我们想要 构建一个分类模型来预测500个中型城市的失业率。一个准确的模型必须将这些城市划分 为多个类别,以便让同一个类别中的城市具有相似的失业率,而且该模型必须能够准确地 预测该类别的失业率。对于两个进行多样性预测的模型来说,它们必须对城市进行不同的 分类或给出不同的预测,或两者兼而有之。这两个标准虽然并不冲突,但却很难同时满 足。如果一个分类依赖于平均教育水平,而另一个分类依赖于平均收入,那么它们分类的 结果可能是类似的。如果确实是这样,这两个模型可能都将是准确的,但却不是多样性 的。根据每个城市名称的第一个字母创建26个类别,可以构造多样性的分类,但却很可 能无法成为一个准确的模型。最重要的是,在实践中,“许多”实际上可能更接近5,而 不是50。

预测的实证研究结果与这种推论一致。虽然增加模型可以提高准确性(根据多样性预 测定理,必定会是这样),但是在已经拥有了一定数量的模型之后再继续增加模型,每个 模型的边际贡献就会下降。例如,谷歌公司在实践中发现,仅用一位面试官评估求职者 (而不是随机挑选),会使录用一名高于平均水平雇员的概率从50%提高到74%,加入 第二位面试官可以把这个概率提高到81%,再加入第三位面试官则只能把这个概率进一 步提高到84%,加入第四位面试官也只能提高到86%……使用20位面试官也只能将这个 概率提高到90%多一点。这些证据表明,增加面试官人数的作用是有限的。

类似的结果也出现在经济学家对失业率、经济增长率和通货膨胀率进行的成千上万次 的预测中。在这种情况下,我们应该把每位经济学家视为一个模型。加入一位经济学家会 使预测的准确性提高大约8%,加入两位可以提高12%,加入3位可以提高15%,加入10 位经济学家则能够将准确率提高大约19%。顺便说一句,假设你知道谁是最好的经济学 家,那么最好的经济学家的预测只比平均水平高出大约9%。因此,3位随机选择出来的 经济学家的表现就已经优于那位最好的经济学家了。 5 相信多位经济学家的平均预测、 而不依赖历史上表现最好的经济学家的另一个原因是世界一直在变化。在今天的预测中表 现优异的经济学家,明天就可能会泯然众人。同样的逻辑也可以解释为什么美国联邦储备 系统要依赖一系列经济模型,而从来不会只依赖某一个经济模型。

这里的教益非常明确:如果能构建出多个多样性的、准确的模型,我们就可以做出准 确的预测和估值,并选择正确的行动。这些定理验证了多模型思维逻辑的可靠性。但是, 构建出满足这些假设的许多模型,却不是这些定理所能做到的,也不是它们所应该做到 的。在实践中,我们可能会发现我们可以构建出3个或5个很不错的模型。如果是这样, 那就太好了。我们刚刚讲过,加入1个模型后可以改进8%,加入3个模型后改进幅度可以 达到15%。请不要忘记,第二个和第三个模型不一定比第一个模型更好,它们也许会更 糟。但是,即使它们的准确性稍差,但只要分类(字面意义)有所不同,就应该把它们加 入进来。

3.2.2适当的模型粒度

许多模型都能在理论上和实践中起到作用,但这并不意味着它们就一定代表正确的方 法。有时,我们最好构建一个单一的大型模型。现在,我们就来分析什么情况下应该使用 什么策略,同时考虑粒度问题,也就是我们应该在怎样的精细程度上划分数据。

关于应该只用一个大型模型,还是使用多个小型模型的问题,我们先回顾一下模型的 7大用途:推理、解释、设计、沟通、行动、预测和探索。其中有4种用途——推理、解 释、沟通和探索都要求我们进行简化。通过简化,我们可以应用逻辑来解释现象、交流思 想,并探索各种各样的可能性。

回想一下孔多塞陪审团定理。在这个定理中,我们可以分析内在逻辑,解释为什么使 用多模型方法更有可能产生正确的结果,也更有利于传播我们的发现。如果我们构建了一 个以人格类型分类的陪审员模型,并将证据描述为语词的载体,我们就会迷失在细节的丛 林中。阿根廷著名作家豪尔赫·路易斯·博尔赫斯(Jorges Luis Borges)在一篇科学 论文中阐明了这一点。他描述了一批总想制作更精细地图的制图师:“制图师协会决定制 作一幅国家地图,它的大小与国家大小相同,而且一对一地将土地上的每一点都标记在地 图上。但是,他们的后代不像他们的祖先这样喜欢研究制图,并认为这种巨大的地图毫无 用处。”

模型的另外3种用途——预测、设计和行动,却可以因高保真模型而受益。因此,如 果有大数据,那么就应该利用它。根据经验,我们拥有的数据越多,模型就越精细。这一 点可以通过用来梳理思维的分类模型来说明。假设我们想构建一个模型来解释数据集中的 变化。为了给问题提供一个背景,不妨再假设我们从很多杂货店获取了大量数据,详细列 出了数百万家庭每个月的食品支出。这些家庭的消费金额不同,我们用变差 (variation)来衡量这种变化,也就是每个家庭的支出与所有家庭的平均支出之间的差 的平方和。如果每个月的平均支出是500美元,而某个特定家庭每个月的支出为520美 元,那么这个家庭对总变差(total variation)的“贡献”就是400(20 2 )。统计学家 把一个模型中能够解释的变差比例称为该模型的R 2 。

如果数据的总变差为10亿,而模型解释了其中的8亿,那么这个模型的R 2 是0.8。解 释的变差比例对应于模型在平均估计上的改进程度。如果某个模型估计某家庭每个月的支 出为600美元,而且这个家庭的实际支出确实为每个月600美元,那么这个模型就解释了 该家庭对总变差的全部贡献。如果家庭支出为800美元,但是模型的预测是700美元,那 么对总变差的贡献就从原来的9万[(800-500)2 ],变成了1万[(800-700)2 ]。 从而模型解释了8/9的变差。

R 2 :解释变差的百分比

其中,V (x )等于X 中的x 的值, 等于平均值,M (x )等于模型的估值。

在这种情况下,分类模型将家庭划分为不同类别,并估计了每个类别的值。更精细的 模型会创建更多的类别,而要创建这些类别就需要更多的家庭属性。如果加入了更多的类 别,可以解释的变差比例就会更大。如果我们像博尔赫斯所说的那些制图师一样思考,将 每个家庭都分为一类,我们就可以解释所有的变差。但是,这种解释,就像比例为1:1的 地图一样,没有多大用处。

创造过多的类别会导致对数据的过度拟合,而过度拟合会破坏对未来事件的预测。假 设我们想利用上个月的食品采购数据来预测本月的数据,而家庭每月的支出是会有变化 的。如果一个模型将每个家庭都分为一类,那么就可以预测家庭的支出与上个月相同。由 于存在月度波动,这个模型并不是一个好的预测器。通过将某个家庭与其他类似的家庭归 入同一个类别中,我们可以通过对类似家庭在食品上的平均支出来构建一个更准确的预测器。

为此,我们假设每个家庭的月支出是从某个分布中抽取出来的(我们将在第5章详细 讨论各种分布),再假设分布的均值和方差已知。创建分类模型的目的是根据属性构建类 别,使同一类别中的家庭具有类似的均值。如果能做到这一点,那么某个家庭在第一个月 内的消费就能够告诉我们其他家庭在第二个月的支出大概是多少。当然,没有任何一种分 类方法是完美的。在每个类别中,家庭的均值可能会略有不同,我们称这种情况称为分类 误差(categorization error)。

构建的类别越大,分类误差就越大,因为类别越大,我们就越可能将具有不同均值的 家庭集中到同一个类别中。但是,更大的类别依赖更多的数据,又可以使我们对每个类别 均值的估计更加准确(参见第5章中讨论的平方根规则)。因估计均值错误而出现的误差 称为估值误差(valuation error)。估值误差随类别数量的增加而减少。如果不同家庭 的月支出不同,那么包含一个家庭的类别(甚至包含10个家庭的类别也一样)将无法准 确估计均值,但包含1 000个家庭的类别则能够准确地估计均值。

现在,我们已经得到了关键的直觉:增加类别的数量能够通过将具有不同均值的家庭 归入同一个类别减少分类误差。统计学家将这种情况称为模型偏差(model bias)。但 是同时,构建更多类别则会增加对每个类别均值估计的误差,统计学家将这种情况称为均 值方差的增加。因此,我们在决定要构建许多个类别时就面临着一个权衡。对于这种权 衡,我们将它总结为模型误差分解定理(model error decomposition theorem),统 计学家则将这个结果称为偏差-方差权衡(bias-variance trade-off)。

模型误差分解定理

偏差-方差权衡

模型误差=分类误差+估值误差

其中,M (x )和M i 分别表示数据点x 和类别S i 和V (x )的模型值,V i 表示 它们的实际值。

3.2.3一对多

学习模型需要时间精力以及广泛的兴趣和知识。为了减少学习成本,我们可以采用一 对多的方法。我们提倡掌握适量的、比较灵活的模型,并学会创造性地应用它们。例如, 我们可以使用流行病学模型来解释玉米良种的扩散、Facebook的风行、犯罪行为的传播 和流行明星的“吸粉”。我们将信号传递模型应用于对广告、婚姻、孔雀羽毛和保险费的 分析。我们利用进化适应的崎岖景观模型解释为什么人类不需要鲸鱼那样的喷气孔。当 然,我们不能随便拿起一个模型就将它应用到任何情境之中。但是,大多数模型都是灵活 的。而且,即使失败了我们也会有所获益,因为尝试创造性地使用模型能够暴露它们的局 限,这是一件很有趣的事情。

一对多方法是一个相对较新的方法。过去,特定的模型只属于特定的学科。经济学家 有供求模型、垄断竞争模型和经济增长模型;政治学家有选举竞争模型;生态学家有关于 物种形成和复制的模型;物理学家有描述运动规律的模型,等等。所有这些模型都是针对 特定目的而构建的。那个时候,科学家们不会将物理模型应用到经济学领域,也不会用经 济学模型去研究大脑,就像普通人不会用缝纫机来修理泄漏的水管一样。

但是今天,将模型从各自所属的学科孤岛中“释放”出来,并将它们以一对多的方法 应用到其他领域中去的做法已经取得了显著成功。经济学家保罗·萨缪尔森(Paul Samuelson)重新诠释了物理学中的模型,以解释市场如何实现均衡。经济学家安东尼 ·唐斯(Anthony Downs)利用经济学中描述海滩上冰激凌商店之间的竞争的模型,解 释了相互竞争的政治候选人在意识形态空间上的定位。社会学家应用粒子相互作用的模 型,分析不同国家的贫困陷阱、犯罪率的变化,甚至经济增长。经济学家则已经开始采用 基于经济原理的自我控制模型来理解大脑的功能。

3.2.4一对多:更高的幂

要想创造性地应用模型,需要不断实践。为了说明“一对多”这种方法的巨大潜力, 在这里以一个大家熟悉的数学公式X N ,也就是求一个变量的N 次方为例,并将它作为模 型应用。当幂等于2时,这个公式给出的是正方形的面积;当幂等于3时,它给出的是立 方体的体积。当幂变为更高的值时,这个公式则刻画了几何膨胀或几何衰减。

超级油轮: 第一个应用是考虑一艘长方体状的超级油轮,其长度是深度和宽度的8 倍,表示为S 。如图3-1所示,超级油轮的表面积为34S 2 ,体积则为8S 3 。建造一艘超 级油轮的成本主要取决于它的表面积,因为这决定了所需钢材的数量。而超级油轮能够产 生的收入数量则取决于它的体积。先计算一下体积与表面积之比,为8S 3 /34S 2 ≈S /4,这表明,随着尺寸的增加,盈利能力呈线性增长。

航运业巨头斯塔夫罗斯·尼阿科斯(Stavros Niarchos)掌握了这个比例关系,他 建造了第一艘现代超级油轮,并在第二次世界大战后的重建期间赚了数十亿美元。第二次 世界大战期间使用的T2油轮长152米、深7米多、宽15米多。而现代超级油轮,例如诺克 ·耐维斯号(Knock Nevis),则长450多米、深20多米、宽50多米。要想象诺克·耐 维斯号这样超级油轮的大小,不妨想象一下,将芝加哥的西尔斯大厦放倒,并让它漂浮在 密歇根湖的水面上会是什么样子。诺克·耐维斯号大体上相当于将T2油轮放大了3倍多。 然而,与T2油轮相比,诺克·耐维斯号的表面积是T2邮轮的10倍,体积则是T2邮轮的 30倍。有人也许会问,那么为什么超级油轮不造得更大一些呢。答案很简单:超级邮轮 必须通过苏伊士运河。事实上,诺克·耐维斯号每一次通过苏伊士运河时,都是“挤”过 去的,它的两侧都只能剩下一点儿缝隙。

身体质量指数: 医学界通常用身体质量指数(BMI)来定义身体质量的不同类别。 身体质量指数最早出现在英国,计算方法是一个人的体重与身高的平方比。 9 因此,保 持身高不变,身体质量指数会随体重呈线性增长。如果一个人比身高相同的另一个人重 20%,那第一个人的身体质量指数就会高出20%。

为了应用模型,我们先将人假设为近似一个完美的立方体,由脂肪、肌肉和骨骼的某 种混合物构成。M 表示1立方米立方体的重量。那么“人体立方体”的重量就等于它的体 积乘以每立方米的重量,即H 3 ×M ,立方体的“身体质量指数”就等于H ×M 。到这 里,这个模型还有两个缺陷:身体质量指数随身高呈线性增长;而且考虑到肌肉比脂肪更 重,更健美的人会有更高的M ,因此会有更高的身体质量指数。身高本应与肥胖无关, 而肌肉发达本应是肥胖的对立面。即便我们使这个模型变得更加“真实”,这些缺陷仍然 存在。

如果使用参数d 和w 来表示一个人的“深度”(前胸到后背的厚度)和“宽度”, 并与高度成比例,那么身体质量指数可以写成: 。这样 一来,许多NBA以及其他球类运动明星的身体质量指数将会把他们归入超重类别 (BMI>25),甚至许多世界顶尖男子十项全能运动员也不能幸免于难。 10 由于即便是 身材适中、身体健康的人也可能有很高的身体质量指数,我们不应该对如下结果感到惊 讶:对涉及样本总数高达数百万人的近百项研究进行的一个荟萃分析表明,体重稍稍超标 的人寿命更长。

代谢率: 现在,应用模型来预测动物大小与代谢率之间的反比关系。每个生物体都 要进行新陈代谢,也就是重复进行的一系列化学反应,分解有机物质并将之转化为能量。 以卡路里计量的生物体代谢率等于维持生命所需的能量。如果我们构建小鼠和大象的立方 米模型,那么从图3-2可知,小立方体的表面积与体积的比值要大得多。

我们可以把小鼠和大象建模为:身体由1立方英寸体积大小的细胞组成,每个细胞都 进行新陈代谢,同时这些代谢反应产生的热量必须通过动物的体表皮肤发散掉。小鼠的表 面积为14平方英寸,体积为3立方英寸,表面与体积之比约为5:1。 12 因而,对小鼠来 说,每立方英寸的细胞,就有5平方英寸的体表皮肤来散热。相比之下,大象的每个发热 细胞则仅有1/15平方英寸的体表皮肤来散热。这就是说,小鼠散热的速度是大象的75 倍。

因此,对于这两种动物来说,要想保持相同的体内温度,大象的新陈代谢就必须更 慢。事实也确实如此。如果一头大象的新陈代谢速度与小鼠一样,那么这头大象每天将会 需要吃下6 800千克的食物。那样的话,大象的细胞所产生的大量热量无法完全通过它的 体表皮肤发散出去。最后,大象将会热到冒烟,然后爆炸。在现实世界中,大象之所以没 有爆炸,原因就在于它们的代谢率为小鼠的1/20。这个模型不能预测新陈代谢随体形大 小而变化的速度,但是准确地预测了方向。更精细的模型还可以解释比例定律。

女性CEO: 最后,我们进一步增大公式中的指数,并以此来解释为什么只有较少的 女性能够成为CEO。根据统计,2016年,只有不到5%的财富500强企业是由女性CEO 掌管的。一个人要成为一名CEO,必须经历多次升职。我们可以将这些升职机会建模为 概率事件,即一个人有一定概率可以升职。然后进一步假设,要成为CEO,必须做到每 一个升职机会都不会错过。

我们假设,要成为一名CEO,至少要升职15次,这大体上相当于每两年升职一次、 在30年内成为CEO。大量证据表明,升职时会出现有利于男性的“温和”的偏差。我们 可以将这种偏差建模为男性升职的概率更高一些。 14 具体地说就是将这种偏差描述为男 性的升职概率略高于女性的升职概率。如果将这两个概率分别设定为50%和40%,那么 男性最终成为CEO的可能性几乎是女性的30倍! 15 这个模型揭示了“温和”的偏差会累 积成为非常巨大的差异。10%的升职概率差异,最终变成了成为CEO可能性的30倍的差 距。

这个模型也可以为如下现象提供一个新的解释:为什么女性大学校长的比例(大约 25%)要比女性CEO的比例高得多?与财富500强企业相比,学院和大学的管理层级较 少。一名教授只需升职3次,就可以成为大学校长:系主任、院长,然后就是校长。既然 只有3个层级,那么偏差累积的程度就不会太过严重。因此,女性大学校长的比例更高, 并不意味着教育机构比企业更加平等。

3.3多模型思维

在本章的一开始,我们通过孔多塞陪审团定理和多样性预测定理为多对一的方法奠定 了逻辑基础。然后,我们使用分类模型说明了模型多样性的局限性,也阐述了多个模型是 怎样改进我们在预测、行动和设计等方面的能力的,同时也指出,要想构建多个不同的模 型并不容易。如果可以的话,也就能达到接近完美的预测准确度了,但是我们很清楚这是 不可能的。无论如何,我们的目标是尽可能多地构建有用的、多样性的模型。

在接下来的各章中,我们将会描述一系列核心模型。这些模型突出了世界的不同部 分,它们对因果关系做出了不同的假设。通过它们的多样性,这些模型创造了多模型思维 的可能性。通过强调更复杂整体的不同部分,每个模型都可以发挥自己的作用,还可以成 为更强大的模型集合的一部分。

如前所述,多模型思维确实要求我们掌握多个模型,但是我们并不需要懂得非常大量 的模型,只需要知道每个模型都可以应用到多个领域,但这并不容易。成功的一对多思维 取决于创造性地调整假设和构建新的类比,以便将为某个特定目的而开发的模型应用到新 的领域。因此,要成为一个多模型思考者,需要的不仅仅是数学能力,更需要的是创造 力。这一点我们已经看得很清楚了。

装袋法与多模型

通常,我们会用模型与现有数据集中的样本拟合,然后用其余数据来检验这个模 型。而在其他一些时候,我们会用模型去拟合现有数据集,然后用该模型去预测未来 的数据。然而,这种构建模型的过程会产生一种张力:模型中包含的参数越多,就越 能够很好地拟合数据,同时也越有可能过度拟合。好的拟合不一定意味着好的模型。 物理学家弗里曼·戴森(Freeman Dyson)曾经谈到物理学家恩利克·费米 (Enrico Fermi)对他的一项研究的评论。那项研究的模型拟合度极高。“无奈之 下,我问费米是不是对我们计算出来的数值与他测量出来的数值之间的高度一致性没 有什么印象。他反过来问我:‘你是用多少个任意参数进行计算的?’我回忆了一下 我们的截止程序,然后告诉他‘4个’。他说:‘我记得我的朋友约翰·冯·诺伊曼 曾经说过,有4个参数,就可以拟合一头大象;有5个参数,就可以让大象摆动它的大 鼻子了。’然后,对话就结束了。” 16 用于“摆动大象鼻子”的估计量通常包括了更高阶的项:平方、立方,甚至四次 方。高阶项的存在会带来大误差的风险,因为高阶项有很强的放大效应。10只是5的 两倍,但是10 4 却是5 4 的16倍。下图显示了过度拟合的一个例子。

左图显示了一家生产工业用3D打印机的企业销售数据(假设),销售数据是该公 司的销售团队每月(平均)上门推销次数的函数。左图显示的是一个非线性最优拟 合,包括非线性项的5次方。右图则表明,如果销售团队上门推销的次数达到了30, 那么该模型预测3D打印机的销售量将达到100台。如果一个客户最多只购买一台3D打 印机,那这个预测就不可能是正确的。因此,由于存在过度拟合,这个模型出现了巨 大的样本外误差。

为了避免过度拟合,可以避免使用高阶项。不过,一种更巧妙的解决方法是,可 以采取自举聚合法(bootstrap aggregating)或装袋法(bagging)来构建模型。为 了引导数据集,我们从原始数据中随机抽取若干数据点,创建多个规模相同的数据 集。抽取这些数据点时,采取的是抽出后放回的方法,也就是说,在抽取了一个数据 点之后,我们又将它放回到“袋子”中,下一次仍然可能会抽到它。这种技术产生了 一组规模相同的数据集,每个数据集都包含某些数据点的多个副本而不包含其他数据 点的副本。

然后,我们将(非线性)模型拟合到每个数据集上,以便生成多个模型。 17 这 样一来,就可以把所有数据集都绘制在同一组数轴上,从而得到一幅如下所示的“意 大利面图”(spaghetti graph),图中颜色最深的那条线表示不同模型的平均值。

装袋法能够刻画鲁棒的非线性效应,因为它们在数据的多个随机样本中都清晰可 见,同时又能避免在任何单个数据集中去拟合特殊模式。通过随机样本构建多样性, 然后对多个模型求平均值,装袋法很好地应用了多样性预测定理背后的逻辑。它构建 了多样性的模型,如前所述,这些模型的平均值将比模型本身更加准确。

04对人类行为者建模

  时至今日,我们仍然无法说出哪一种人类行为理论是设定很成功并在各种环境下 都通过了检验的。 埃莉诺·奥斯特罗姆(Elinor Ostrom)

Part2模型思维

05正态分布

06幂律分布

07线性模型

08非线性模型

09与价值和权力有关的模型

10网络模型

11广播模型、扩散模型和传染模型

12熵:对不确定性建模

13随机游走

14路径依赖模型

15局部互动模型

16李雅普诺夫函数与均衡

17马尔可夫模型

18系统动力学模型

19基于阈值的模型

20空间竞争模型与享受竞争模型

21博弈论模型

22合作模型

23与集体行动有关的问题

24与机制设计有关的模型

25信号模型

26学习模型

27多臂老虎机问题

28崎岖景观模型

结语 像芒格一样智慧地思考——多模型思维的实际应用

模型思维-THE MODEL THINKER相关推荐

  1. 我也来谈谈模型思维(一):同群效应

    同群效应(Peer Effect) "同群效应"就是中国古语所谓"近朱者赤,近墨者黑".它所指的是这样一种现象:一个人的行为不仅受到价格.收入等个体自身经济利益 ...

  2. R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等

    R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录

  3. 模型诊断(Model Diagnostics)是什么?具体包含哪些内容?

    模型诊断(Model Diagnostics)是什么?具体包含哪些内容? 如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术. 过拟合.欠拟合判断是模型诊断中至关重要的一步.常见的方法如交叉 ...

  4. 参数化模型(parametric model)和非参数化模型non-parametric model)的区别?哪些模型是参数化模型,哪些模型是非参数化模型?

    参数化模型(parametric model)和非参数化模型non-parametric model)的区别?哪些模型是参数化模型,哪些模型是非参数化模型? 统计学习模型又可以分为参数化模型(para ...

  5. 回归模型(regression model)有哪些指标?如何计算回归指标(regression metrics)?如何可视化他们?

    回归模型(regression model)有哪些指标?如何计算回归指标(regression metrics)?如何可视化他们? metrics.explained_variance_score(y ...

  6. 聚类(1)——混合高斯模型 Gaussian Mixture Model

    聚类系列: 聚类(序)----监督学习与无监督学习 聚类(1)----混合高斯模型 Gaussian Mixture Model 聚类(2)----层次聚类 Hierarchical Clusteri ...

  7. 快看漫画大数据平台的模型思维与用户增长实践

    本文根据快看漫画屈世超老师在DataFunTalk数据主题技术沙龙活动"大数据从底层处理到数据驱动业务"中分享的<大数据平台的模型思维与用户增长实践>编辑整理而成,在未 ...

  8. AutoML大提速,谷歌开源自动化寻找最优ML模型新平台Model Search

    作者|魔王.杜伟 来源|机器之心 为了帮助研究者自动.高效地开发最佳机器学习模型,谷歌开源了一个不针对特定领域的 AutoML 平台.该平台基于 TensorFlow 构建,非常灵活,既可以找出最适合 ...

  9. CSS的盒子模型(Box Model)

    盒子模型(Box Model)是 CSS 的核心,现代 Web 布局设计简单说就是一堆盒子的排列与嵌套,掌握了盒子模型与它们的摆放控制,会发现再复杂的页面也不过如此. 然而,任何美好的事物都有缺憾,盒 ...

最新文章

  1. Datawhale团队第一期录取名单!
  2. 共基极放大电路_「模拟电子技术」运算放大电路的共基极、共射极、共集电极接法...
  3. jq修改iframe html代码,使用jQuery替换iframe的所有内容(包括doctype和html标签)
  4. C语言任何基数转换为十进制(附完整源码)
  5. Python3最长连续递增序列问题
  6. java thread isalive_Java线程编程中isAlive()和join()的使用详解
  7. Java技术回顾之JNDI--实例
  8. PL/SQL Developer中文版下载以及使用图解(绿色版)
  9. iOS应用开发:什么是ARC?
  10. NET牛人应该知道些什么
  11. Python:获取命令行参数
  12. 切换至 root 身份
  13. nodejs操作sqlserver数据_SQL Server数据库损坏和修复
  14. 从程序员角度看“上帝“玩游戏
  15. javascript join()
  16. QQ玩一玩获取PUIN
  17. python如何切换windows窗口_selenium+python 切换窗口的几种方法
  18. DB2插入单引号 双引号的问题
  19. 用Python自动生成Excel报表
  20. Maven 手动导入ojdbc6.jar

热门文章

  1. 什么是动态编程Python示例
  2. mysql 从从(主主)复制(故障转移)
  3. 百度网盘如何免费上传大于4GB的文件(制作BT文件)
  4. Android 使用Calendar类获取系统时间
  5. android 自动更换壁纸,安卓壁纸如何设置自动更换壁纸-手机天堂
  6. 华硕笔记本进入pe系统-华硕电脑从U盘启动-实测有效-转载--记录用
  7. php验证码手册,验证码_专题_帮助文档_Thinkphp手册
  8. PGP在加密技术中的应用
  9. Android FrameWork(AMS,WMS,PMS等)的概念及解析,获取系统服务
  10. 中职计算机公开课说课稿,(完整)中职职高幼教专业手工实践《剪纸(雪花)》公开课说课稿...