
在《认知和行为的计算建模》中提出了一套在心理学中应用计算和数学模型的综合方法。主要目的是在理论、模拟和数据之间提供一个统一的视角,来回答“我们如何从行为模型中获取信息”的核心问题。
《认知和行为的计算建模》涵盖了以下四个主题。第一部分解释了什么是计算模型,全面概述了用于理解人类行为的模型,探讨了如何将理论叙述转化为模拟代码,并阐述了理解建模所需的各种概念。第二部分探究了计算模型的一种应用——参数估计。通过将模型拟合到数据,可以从所得的参数估计值以及有关生成这些数据的一种或多种心理机制或表征的叙述中进行推断。在这里介绍了**似然估计和贝叶斯估计,包括跨多个被试估计和分层估计。第三部分探讨了如何使用模型比较进行推论,讨论了从数据中得出充分性和必要性结论的条件,以及如何概念化和量化模型的复杂性。本部分探究了几种解决模型比较复杂的方法,包括信息标准和贝叶斯因素。第四部分讨论了计算建模在推进心理学理论研究中的作用。探究了如何使用模型作为推理的辅助手段以及人类与人工智能之间的相互作用,以引导理论化和概念性见解的产生。以及计算模型如何作为一种用于研究者之间达成共识(即使用模型作为通用的参考术语)的工具,如何将其应用于交流和共享模型。最后,介绍了计算模型在神经网络模型、选择反应时间模型以及模型在理解神经数据中的应用。
中译版
2018年6月Caltech的朋友Bowen J Fung博士向我们推荐了本书的原著。作为计算建模的学习者,我们受益很多,决定将这本原著书引进中国。
在心理学和神经科学领域,可以说是“天下苦建模久矣”。认知科学和神经科学的基础课程其实不包括认知计算建模的内容和相关知识结构。这使得很多从事认知科学研究的学者、心理学研究的教师和认知神经科学的研究生都没有接受过系统的计算建模的训练,这也是我们翻译本书最大的动机。我们认为,相比于一篇论文,一本好的工具书将帮助到更多的学生和研究者。在翻译过程中,刘泉影团队神经计算与控制实验室(NCClab)的楼可心、叶梓元、郑书晗、曲由之、王海慧、王正旸、于浩、袁婕、魏晨、金文正、梁智超、刘可茵、郑冰洁,以及伍海燕团队的曹思琪、陈坤、黄佳敏、黄骐、李惠迪、刘先晴、李肈宁、庞珞珧、王睿恩、王元辰、徐心怡、叶扬华、张皓铭、张紫琦等同学付出了巨大的努力,经过了数十次的修改和完善,终于在2021年的6月,本书顺利出版发行。我们在此对参与本书翻译的多位青年学生表示感谢。
需要说明的是,本书翻译中尽可能采取直译的方式,以体现原著的学术性和专业性。由于译者的翻译水平和时间有限,译文中出现的错误和不足之处在所难免,恳请读者们提出宝贵意见,我们将接受大家的批评指正。
伍海燕刘泉影
2021年6月
原书
计算模型在今天已被广泛应用,能够更好地理解感知、记忆、推理、沟通和决策等各种人类行为。在对这些行为的研究中,建模的应用通常也出于不同的目的,包括测量、预测和模型测试。在本书中我们提出了一套在心理学中应用计算和数学模型的综合方法。本书编写的主要目的是在理论、模拟和数据之间提供一个统一的视角,来回答“我们如何从行为模型中获取信息”的核心问题。
本书涵盖了以下几个主题。第一部分解释了什么是计算模型,全面概述了用于理解人类行为的模型,探讨了如何将理论叙述转化为模拟代码,并阐述了理解建模所需的各种概念。第二部分探究了计算模型的一种应用——参数估计。通过将模型拟合到数据,可以从所得的参数估计值以及有关生成这些数据的一种或多种心理机制或表征的叙述中进行推断。在这里我们介绍了最大似然估计和贝叶斯估计,包括跨多个被试估计和分层估计。第三部分探讨了如何使用模型比较进行推论,在这部分我们讨论了从数据中得出充分性和必要性结论的条件,以及如何概念化和量化模型的复杂性。本部分探究了几种解决模型比较复杂的方法,包括信息标准和贝叶斯因素。第四部分讨论了计算建模在推进心理学理论研究中的作用。我们探究了如何使用模型作为推理的辅助手段以及人类与人工智能之间的相互作用,以引导理论化和概念性见解的产生。我们还讨论了计算模型如何作为一种用于研究者之间达成共识(即使用模型作为通用的参考术语)的工具,以及如何将其应用于交流和共享模型。最后,我们介绍了计算模型在几个流行领域中的应用:神经网络模型、选择反应时间模型以及模型在理解神经数据中的应用。
为了实现以上这些,我们在本书中使用了一种开源的计算机语言——R语言。虽然R语言最初是为统计数据分析而开发的,但它具有广泛的适用性,现在被许多建模者使用。
一些读者可能知道,我们之前写过一本类似的书(Lewandowsky和Farrell,2011),本书继承了上一本书中读者喜爱的一些特征,比如书中会针对所有源码片段中出现的重要特性做出讲解。因此,虽然本书不是R语言程序设计的教科书,但它针对性地讲解了我们手头任务程序中的最重要的部分,也就是如何利用计算手段理解人类的思维。除此之外,本书与我们先前出版的书也有很大的不同。先前出版的书是一本入门级教科书,本书则有着更高的目标:我们希望带领读者领略现今较为前沿的建模实践方法,并给读者讲授其中更为创新的发展与进步。
本书提供了R语言的模拟代码作为文本中的方程和描述的补充,并且每一章都以一个“实例”部分结束。每个“实例”部分都会有研究人员分享他们关于当前话题或方法的经验之谈。有的是对该领域中涉及的科学原理的一些思考,也有的是与我们相反的一些观点。我们认为这些部分是很有洞察力和启发性的(而且是相当有趣的)。我们非常感谢该领域的研究人员给我们机会与读者分享他们的想法。
关于整本书的“实例”部分,我们要感谢许多朋友和同事,在筹备编写本书时,大家在一起讨论了许多问题,特别感谢Henrik Singmann和Benjamin Vincent对引用和使用到他们工作的章节的草稿所做的评论。我们还要感谢过去八年来在欧洲举办的四届认知计算和数学建模暑期学校的教员(Gordon Brown、Amy Criss、Adele Diederich、Chris Donkin、Bob French、Cas Ludwig、Klaus Oberauer、Jo¨rg Rieskamp、Lael Schooler、Joachim Vandekerckhove和EricJan Wagenmakers)和学生。该暑期学校迄今已吸引了120多名学生,教员和学生对本书稿的反馈是非常宝贵的,特别感谢学生和导师的热情讨论。通过这些讨论,我们可以肯定一件事:模型可以以多种多样的方式应用在心理学中。在提出一个统一和综合的建模理论框架时,我们试图涵盖所有模型的应用方式,但最终认识到有许多模型和观点,我们无法在这里探索。我们还要感谢剑桥大学出版社的Janka Romero和她的前辈Hetty Marx在我们提出构想和撰写本书时给予的帮助和鼓励,以及Adam Hooper、Anup Kumar、Christina Taylor和Sindhujaa Ayyappan在编写过程中提供的帮助。
原书编者
目 录
第一部分 数学建模的简介
1 导论…………………………………………………………………………………… (2)
1. 1 科学中的模型和理论 ………………………………………………………… (2)
1. 2 认知中的定量建模 …………………………………………………………… (5)
1. 2. 1 模型和数据 ……………………………………………………………… (5)
1. 2. 2 数据描述 ………………………………………………………………… (7)
1. 2. 3 认知过程模型…………………………………………………………… (10)
1. 3 潜在的问题: 范围和可证伪性 ……………………………………………… (14)
1. 4 建模作为一种对科学家的认知辅助 ………………………………………… (16)
1. 5 实例 …………………………………………………………………………… (17)
2 从文字描述到数学模型: 建立工具集 …………………………………………… (19)
2. 1 快速选择任务中的反应时间 ………………………………………………… (19)
2. 2 展开模拟 ……………………………………………………………………… (21)
2. 2. 1 初步了解: R 和 RStudio ………………………………………………… (21)
2. 2. 2 随机游走模型…………………………………………………………… (21)
2. 2. 3 直觉与计算: 探索随机游走的预测 ……………………………………… (25)
2. 2. 4 随机游走模型中的试次间的变异性 ……………………………………… (26)
2. 2. 5 顺序采样模型家族 ……………………………………………………… (30)
2. 3 基础工具包 …………………………………………………………………… (31)
2. 3. 1 参数 …………………………………………………………………… (31)
2. 3. 2 连接模型和数据………………………………………………………… (32)
2. 4 实例 …………………………………………………………………………… (33)
第二部分 参数估计
3 基本参数估计技术 ………………………………………………………………… (38)
3. 1 差异函数 ……………………………………………………………………… (38)
3. 1. 1 均方根误差 …………………………………………………………… (39)
3. 1. 2 卡方检验法 (χ2 ) ……………………………………………………… (40)
3. 2 模型与数据的拟合: 参数估计技术 ………………………………………… (40)
3. 3 在线性回归模型背景下介绍最小二乘法 …………………………………… (41)
3. 3. 1 建模的可视化…………………………………………………………… (41)
3. 3. 2 回归参数估计…………………………………………………………… (43)
3. 4 黑箱内部: 参数估计技术 …………………………………………………… (46)
3. 4. 1 单纯形法 ……………………………………………………………… (46)
3. 4. 2 模拟退火法 …………………………………………………………… (49)
3. 4. 3 参数估计技术的相对优点 ……………………………………………… (52)
3. 5 参数估计的变异性 (variability) …………………………………………… (53)
3. 6 实例 …………………………………………………………………………… (57)
4 最大似然参数估计 ………………………………………………………………… (59)
4. 1 概率基础 ……………………………………………………………………… (59)
4. 1. 1 概率的定义 …………………………………………………………… (59)
4. 1. 2 概率的特性 …………………………………………………………… (60)
4. 1. 3 概率函数 ……………………………………………………………… (61)
4. 2 什么是似然 (likelihood) …………………………………………………… (65)
4. 3 定义概率分布 ………………………………………………………………… (69)
4. 3. 1 由心理模型所指定的概率函数…………………………………………… (70)
4. 3. 2 基于数据模型的概率函数 ……………………………………………… (70)
4. 3. 3 概率函数的两种类型 …………………………………………………… (74)
4. 3. 4 扩展数据模型…………………………………………………………… (75)
4. 3. 5 扩展到多个数据点和多个参数…………………………………………… (76)
4. 4 寻找最大似然 ………………………………………………………………… (77)
4. 5 最大似然估计量的性质 ……………………………………………………… (83)
4. 6 实例 …………………………………………………………………………… (85)
5 结合来自多个被试的信息 ………………………………………………………… (87)
5. 1 如何结合来自多个单元的数据很重要 ……………………………………… (87)
5. 2 平均值的含义 ………………………………………………………………… (88)
5. 3 拟合汇总数据 ………………………………………………………………… (90)
5. 4 拟合个体被试 ………………………………………………………………… (92)
5. 5 拟合子组中的数据以及个体差异 …………………………………………… (93)
5. 5. 1 混合模型 ……………………………………………………………… (93)
5. 5. 2 k 均值聚类……………………………………………………………… (98)
5. 5. 3 对个体差异建模 ……………………………………………………… (100)
5. 6 实例 ………………………………………………………………………… (102)
对多个被试使用多种方法 ……………………………………………………… (102)
6 贝叶斯参数估计Ⅰ………………………………………………………………… (105)
6. 1 什么是贝叶斯推理 ………………………………………………………… (105)
6. 1. 1 从条件概率到贝叶斯定理 ……………………………………………… (105)
6. 1. 2 边际概率 (Marginalizing Probabilities) ……………………………… (107)
6. 2 计算后验的解析方法 ……………………………………………………… (108)
6. 2. 1 似然函数 ……………………………………………………………… (108)
6. 2. 2 先验分布 ……………………………………………………………… (109)
6. 2. 3 证据或边际似然 ……………………………………………………… (111)
6. 2. 4 后验分布 ……………………………………………………………… (112)
6. 2. 5 估计硬币的偏差 ……………………………………………………… (113)
6. 2. 6 总结…………………………………………………………………… (115)
6. 3 确定参数的先验分布 ……………………………………………………… (115)
6. 3. 1 无信息先验分布 ……………………………………………………… (116)
6. 3. 2 参考先验 ……………………………………………………………… (118)
6. 4 实例 ………………………………………………………………………… (119)
7 贝叶斯参数估计Ⅱ………………………………………………………………… (121)
7. 1 马尔可夫链蒙特卡洛法 (Markov Chain Monte Carlo Methods) ………… (122)
7. 1. 1 MCMC 的 Metropolis-Hastings 算法 ……………………………………… (122)
7. 1. 2 多参数估计 …………………………………………………………… (128)
7. 2 与 MCMC 采样相关的问题 ………………………………………………… (134)
7. 2. 1 MCMC 链的收敛 ……………………………………………………… (134)
7. 2. 2 MCMC 链中的自相关…………………………………………………… (135)
7. 2. 3 展望…………………………………………………………………… (136)
7. 3 近似贝叶斯计算: 无似然法 ……………………………………………… (136)
7. 3. 1 无法计算的似然度 …………………………………………………… (136)
7. 3. 2 从模拟到后验估计 …………………………………………………… (137)
7. 3. 3 范例: 近似贝叶斯计算的实际运用 …………………………………… (139)
7. 4 实例 ………………………………………………………………………… (142)
MCMC: 一个找到结果的聪明办法……………………………………………… (142)
8 贝叶斯参数估计———JAGS 语言 ………………………………………………… (144)
8. 1 吉布斯采样 ………………………………………………………………… (144)
8. 1. 1 吉布斯采样的双变量示例 ……………………………………………… (144)
8. 1. 2 吉布斯采样 vs. Metropolis-Hastings 采样 ………………………………… (147)
8. 1. 3 多元空间的吉布斯采样………………………………………………… (148)
8. 2 JAGS: 简介 ………………………………………………………………… (148)
8. 2. 1 安装 JAGS …………………………………………………………… (148)
8. 2. 2 JAGS 图 ……………………………………………………………… (148)
8. 3 JAGS: 重新探究一些已知模型并突破边界 ……………………………… (152)
8. 3. 1 信号检测理论的贝叶斯建模 …………………………………………… (152)
8. 3. 2 多项式树模型的贝叶斯方法: 高阈值模型 ……………………………… (157)
8. 3. 3 多项树模型的贝叶斯方法 ……………………………………………… (161)
8. 3. 4 总结…………………………………………………………………… (167)
8. 4 实例 ………………………………………………………………………… (167)
9 多层级建模或分层建模 (Multilevel or Hierarchical Modeling ) ……………… (171)
9. 1 分层建模的概念化 ………………………………………………………… (171)
9. 2 贝叶斯分层建模 (Bayesian Hierarchical Modeling) …………………… (172)
9. 2. 1 图模型 (Graphical Models ) …………………………………………… (172)
9. 2. 2 信号检测任务结果表现的分层建模 …………………………………… (174)
9. 2. 3 遗忘的分层建模 ……………………………………………………… (178)
9. 2. 4 跨期偏好的分层建模…………………………………………………… (184)
9. 2. 5 当前主观价值 (Present Subjective Value, PSV) 的计算 ………………… (185)
9. 2. 6 当前主观价值 (PSV) 的选择 ………………………………………… (185)
9. 2. 7 实例化模型 …………………………………………………………… (185)
9. 2. 8 模型输出 ……………………………………………………………… (190)
9. 2. 9 总结…………………………………………………………………… (191)
9. 3 分层最大似然建模 ………………………………………………………… (192)
9. 3. 1 信号检测任务的分层最大似然建模 …………………………………… (192)
9. 3. 2 回归项中的信号检测…………………………………………………… (193)
9. 3. 3 R 语言中的分层概率回归 ……………………………………………… (194)
9. 3. 4 信号检测中最大似然与贝叶斯分层模型对信号检测的对比 ……………… (197)
9. 4 一些建议 …………………………………………………………………… (197)
9. 5 实例 ………………………………………………………………………… (198)
第三部分 模型比较
10 模型比较 ………………………………………………………………………… (202)
10. 1 心理学数据和糟糕的完美拟合 ………………………………………… (202)
模型复杂度与过拟合 ……………………………………………………… (204)
10. 2 模型比较 ………………………………………………………………… (208)
10. 3 似然比检验 ……………………………………………………………… (208)
10. 4 赤池信息量准则 (Akaike??s Information Criterion) …………………… (215)
10. 5 计算复杂度和比较模型的其他方法 …………………………………… (219)
10. 5. 1 交叉验证 (Cross-Validation) ……………………………………… (220)
10. 5. 2 最小描述长度 (Minimum Description Length) ……………………… (220)
10. 5. 3 归一化最大似然 (Normalized Maximum Likelihood) ………………… (221)
10. 6 参数可识别性和模型可测试性 ………………………………………… (221)
10. 6. 1 可识别性 ………………………………………………………… (222)
10. 6. 2 可测试性 ………………………………………………………… (225)
10. 7 总结 ……………………………………………………………………… (226)
10. 8 实例 ……………………………………………………………………… (227)
11 使用贝叶斯因子的贝叶斯模型比较 …………………………………………… (229)
11. 1 边缘似然与贝叶斯因子 ………………………………………………… (229)
11. 2 计算边缘似然的方法 …………………………………………………… (233)
11. 2. 1 数值积分 ………………………………………………………… (233)
11. 2. 2 简单蒙特卡罗积分与重要性采样 …………………………………… (235)
11. 2. 3 Savage-Dickey 比 …………………………………………………… (239)
11. 2. 4 跨维马尔可夫链蒙特卡罗方法……………………………………… (241)
11. 2. 5 拉普拉斯估计……………………………………………………… (248)
11. 2. 6 贝叶斯信息量准则 ………………………………………………… (250)
11. 3 分层模型的贝叶斯因子 ………………………………………………… (253)
11. 4 先验的重要性 …………………………………………………………… (255)
11. 5 结论 ……………………………………………………………………… (258)
11. 6 实例 ……………………………………………………………………… (258)
12 模型在心理学中的使用 ………………………………………………………… (261)
12. 1 建模步骤概述 …………………………………………………………… (261)
12. 2 从模型中得出结论 ……………………………………………………… (262)
12. 2. 1 模型探索 ………………………………………………………… (262)
12. 2. 2 分析模型 ………………………………………………………… (263)
12. 2. 3 从参数估计中学习 ………………………………………………… (265)
12. 2. 4 模型的充分性……………………………………………………… (265)
12. 2. 5 模型的必要性……………………………………………………… (267)
12. 2. 6 似真性/逼真度对比真理 …………………………………………… (271)
12. 3 模型作为交流和达成共同理解共识的工具 …………………………… (272)
12. 4 增强理解和重复性的良好做法 ………………………………………… (274)
12. 4. 1 尽可能使用纯文本 ………………………………………………… (274)
12. 4. 2 使用合理的变量和函数名 ………………………………………… (274)
12. 4. 3 使用调试器………………………………………………………… (275)
12. 4. 4 注释 ……………………………………………………………… (275)
12. 4. 5 版本控制 ………………………………………………………… (276)
12. 4. 6 共享代码和可重复性 ……………………………………………… (276)
12. 4. 7 Notebooks 和其他工具 ……………………………………………… (277)
12. 4. 8 提高可重复性和运行性 …………………………………………… (278)
12. 5 总结 ……………………………………………………………………… (279)
12. 6 实例 ……………………………………………………………………… (279)
13 神经网络模型 …………………………………………………………………… (281)
13. 1 赫布模型 (Hebbian Model) …………………………………………… (281)
13. 1. 1 赫布联想器 (The Hebbian Associator) …………………………… (281)
13. 1. 2 赫布模型作为矩阵代数 …………………………………………… (285)
13. 1. 3 使用矩阵代数描述网络 …………………………………………… (293)
13. 1. 4 自动关联器 (The Auto-Associator) ………………………………… (294)
13. 1. 5 赫布模型的局限性 ………………………………………………… (300)
13. 2 反向传播 (Backpropagation) …………………………………………… (301)
13. 2. 1 学习以及误差驱动的反向传播……………………………………… (304)
13. 2. 2 心理学中反向传播的应用与批判 …………………………………… (308)
13. 3 对于神经网络的最后评论 ……………………………………………… (308)
13. 4 实例 ………………………………………………………………………… (309)
14 选择反应时的模型 ……………………………………………………………… (312)
14. 1 Ratcliff 提出的扩散模型 ………………………………………………… (313)
14. 1. 1 扩散模型的拟合 …………………………………………………… (314)
14. 1. 2 解释扩散模型……………………………………………………… (325)
14. 1. 3 扩散模型的可证伪性 ……………………………………………… (326)
14. 2 弹道累加器模型 (LBA 模型) ………………………………………… (327)
14. 2. 1 线性弹道累加器 …………………………………………………… (328)
14. 2. 2 LBA 的拟合………………………………………………………… (329)
14. 3 总结 ……………………………………………………………………… (332)
14. 4 当前问题和展望 ………………………………………………………… (333)
14. 5 实例 ……………………………………………………………………… (333)
15 神经科学中的模型 ……………………………………………………………… (336)
15. 1 关联神经和行为数据的方法 …………………………………………… (337)
15. 2 强化学习模型 …………………………………………………………… (338)
15. 2. 1 强化学习的理论 …………………………………………………… (338)
15. 2. 2 强化学习的神经科学 ……………………………………………… (344)
15. 3 决策的神经关联 ………………………………………………………… (349)
15. 3. 1 眼跳决策的阈值模型 ……………………………………………… (349)
15. 3. 2 模型参数和 BOLD 信号的联系……………………………………… (350)
15. 3. 3 反应时变异性的解释 ……………………………………………… (352)
15. 3. 4 使用脉冲序列作为模型输入………………………………………… (353)
15. 3. 5 联合拟合行为和神经数据 ………………………………………… (354)
15. 4 结论 ……………………………………………………………………… (357)
15. 5 实例 ……………………………………………………………………… (357)
原著参考文献 ………………………………………………………………………… (360)
《认知和行为的计算建模》提供了R语言的模拟代码作为文本中的方程和描述的补充,并且每一章都以一个“实例”部分结束。每个“实例”部分都会有研究人员分享关于当前话题或方法的经验之谈,包括对该领域中涉及的科学原理的一些思考和观点。
伍海燕
澳门大学脑中心课题组长,博士生导师。主要研究方向为社会认知和决策中的计算神经机制、焦虑与情绪加工、心理生理信号处理及其心理学应用。曾任中国科学院心理所研究所副研究员,中国科学院大学心理系教师,并在加州理工学院担任访问研究人员。现为中国认知科学学会社会认知科学分会理事,担任Neuroscience bulletin、BMC Psychology等多个期刊的青年编委、国家自然科学基金委项目和广东省基金项目评审专家。在神经科学期刊和心理学期刊发表研究论文超过50篇。主持国家自然科学基金委项目2项;主持深港澳合作项目,广东省自然科学基金项目和澳门科学技术发展基金等多项课题。
刘泉影
南方科技大学生物医学工程系助理教授,博士生导师。在校期间组建神经计算与控制实验室(NCC lab)。研究领域:利用动力学系统模型和深度学习模型,研究神经信号表征,探索大脑的计算机制,用于解释神经信号、大脑功能和行为三者之间的关系;结合现代控制理论,优化神经反馈控制,用于调节人类行为、辅助治疗神经相关疾病。