第7章 为什么需要计算模型

学习目标

  • 理解理论、理论模型与计算模型的区别
  • 掌握计算模型的核心成分
  • 理解计算模型的价值与应用场景

关键概念

  • 理论:用自然语言描述现象的解释
  • 理论模型:用数学语言结构化地表达理论
  • 计算模型:用计算方法实现理论模型,让数据进行定量检验
  • 模型的四大成分:输出、变量、参数、算法
  • 需要厘清的概念:函数、符号(变量)与值

正文

从理论到计算模型

1. 理论 (Theory)

定义:用一种想法来描述、解释某种现象

例子: - "人们会根据期望效用来做决策" - "强化与惩罚塑造了行为" - "人脑通过贝叶斯推理来更新信念"

特点: - 用自然语言表达,具有某种模糊性 - 可以启发研究,但本身无法被数据检验(太模糊了) - 同样的理论可能有多种不同的实现方式

2. 理论模型 (Theoretical Model)

定义:把理论结构化、规范化地用数学表达

例子: - 期望效用模型:\(U = \sum p_i \cdot v(x_i)\) - \(U\) 是期望效用 - \(p_i\) 是每个结果的概率 - \(v(x_i)\) 是结果 \(x_i\) 的价值函数

  • 强化学习模型:\(Q_t(a) = Q_{t-1}(a) + \alpha[R_t - Q_{t-1}(a)]\)
  • \(Q_t(a)\) 是动作 \(a\) 的价值
  • \(\alpha\) 是学习率
  • \(R_t\) 是反馈

特点: - 消除了理论中的模糊性,使其可以进行数学推导 - 但理论模型本身不能被数据检验,因为模型中的参数(如 \(\alpha\)\(v(x)\) 的具体形式)还没有确定 - 理论模型是可以预测现象的,但无法在不同的竞争性假设间进行量化比较

3. 计算模型 (Computational Model)

定义:实现理论模型的计算方法,指定具体的参数值,用数据进行定量检验

例子

理论模型:U = w(p)·v(x)
(w(p) 是概率权重,v(x) 是价值函数)

计算模型的具体形式:
- w(p) = p^γ(权力函数,γ 是权重参数)
- v(x) = x^α(幂函数,α 是敏感度参数)
- 决策概率:P(选A) = softmax(U_A, U_B)

给定参数值(如 γ=0.71, α=0.88),这个模型可以:
1. 预测被试在不同赌博选项下的选择
2. 与真实被试的选择进行比较
3. 计算模型的拟合度
4. 与其他竞争性模型进行比较

计算模型可以进行以下操作: - ✓ 定量预测与观察数据的比较 - ✓ 模型拟合度的量化评估 - ✓ 不同模型之间的定量比较 - ✓ 参数的统计推断

特点: - 是理论模型的具体实现 - 有明确的参数,可以从数据中估计这些参数 - 可以定量地与真实数据进行比较

计算模型的四大成分

任何计算模型都由以下四个部分组成:

1. 输出 (Output)

定义:模型最终预测输出什么?

类型: - 连续输出:如反应时、脑激活强度、评分 - 例:强化学习模型输出"判断这个选项值多少分"

  • 离散输出:如分类、选择、是/否
  • 例:决策模型输出"被试会选A还是选B"

  • 概率输出:如选择概率、预测正确的概率

  • 例:机制识别模型输出"被试选A的概率"

2. 变量 (Variables)

定义:实验中被提出来、被改变的因素和被测量的结果

类型: - 自变量 (IV, Independent Variables):实验者操控的因素 - 例:赌博任务中的赔率、收益大小

  • 因变量 (DV, Dependent Variables):被试表现,被测量的结果
  • 例:选择哪个选项、反应时

  • 状态变量:体现个体当前状态的变量

  • 例:强化学习中的"当前累积的奖赏"

3. 参数 (Parameters)

定义:量化模型中各个因素的影响程度

特点: - 每个参数通常对应一个有心理学意义的构念 - 不同个体的参数可能不同 - 参数通常需要从数据中估计得到

常见参数及其心理学含义

参数 常见含义 应用场景
\(\alpha\) 学习率 强化学习模型
\(\beta\) 逆温度/决策噪声 决策、强化学习
\(\gamma\)\(\delta\) 折扣系数 延迟折扣、时间折扣
\(w\)\(v\) 权重、价值函数参数 效用理论、期望值计算
\(a\) 决策阈限 证据积累模型
\(v\) 漂移率 证据积累模型

4. 算法 (Algorithm)

定义:数据按照什么样的规则进行组合、计算,得出模型的预测

步骤: 1. 输入:给定自变量(实验设计中的因素)和参数值 2. 计算逻辑:按照模型的数学规则进行计算 3. 输出:生成对因变量的预测

例子:强化学习模型的算法

输入: - 被试在试次 \(t\) 做了动作 \(a\) - 得到了反馈 \(R_t\)

计算逻辑: 1. 用当前的 \(Q\) 值和反馈更新 \(Q\) 值:\(Q(a) ← Q(a) + α[R - Q(a)]\) 2. 基于更新后的 \(Q\) 值,下一次做出选择的概率为: $\(P(选a) = \exp(\beta·Q(a)) / \sum \exp(\beta·Q(a'))\)$

输出: - 对下一次动作选择的预测概率 - 或者,给定新的 \(Q\) 值后修改后的决策

需要厘清的概念

函数:“函数”可以也理解为一种最简单的模型。想象一个一元一次函数\(y=f(x)=ax+b\),其中\(y\)是函数的输出,\(x\)是函数的输入,\(ax+b\)是函数的算法,\(a\)\(b\)是函数的参数。“函数”不只是数学概念,它很多时候以“黑箱子”的形式出现在各种地方。所谓“黑箱子”,就是你只需要关注输入什么、输出什么,而不用关心输入是怎么变成输出的: - 完成小组作业时,你向组员分配了一个任务。任务是函数的输入,组员给你的反馈是函数的输出。只要输出符合你的需要,你不必过问他是怎么做出来的。 - 写代码时,调用了一些工具包。工具包有内置的函数,比如df <- read_csv('data.csv')。你不需要知道输入的'data.csv'怎么就变成了输出的df,只需要知道这个函数可以实现这个功能。

符号:符号只是一个名字,一个代词,一个虚指;比如\(f(x)\)中的\(x\),意味着对于函数\(f\),输入的东西被称作、被记为、被定义成\(x\)。此时\(x\)只代表了这个函数的输入变量,没有任何具体的东西。在代码里,它的表现形式是“变量”。

:值是那个具体的东西。假设\(a=1, b=1\),此时函数输入的\(x\)需要一个具体的值,才能确定到底会输出什么。在数学上,它是数字;在代码里,它是一个数组,一个字符串,一个文件头,等等等等。

赋值:让一个符号拥有的过程和操作,让变量拥有、指向一个具体的值。比如a=1就是一个赋值操作,让变量(参数)a的值为1。没有经过赋值的变量没有任何实际意义,只是个名字。

  • Tom是一个名字,在这个名字指向一个具体的人之前,它没有实际意义。
  • 小明对你说:“那个谁在找你。”如果小明没有告诉你那个谁到底是哪个人,这句话就没有实践意义。你没法找到那个在找你的人。

为什么需要计算模型

问题1:理论往往太模糊

场景:两个研究者都说"奖赏会影响学习",但具体怎么影响?

A研究者:奖赏通过强化学习机制产生的速度是指数衰减的,\(Q(a) \leftarrow Q(a) + \alpha \cdot R\)(恒定学习率)

B研究者:不对,奖赏的影响应该随着学习次数而衰减,早期学习快,后期学习慢,\((1-\alpha)\) 应该随学习次数递增

单纯从"理论"的层面,无法判断谁对! 但如果两人都给出具体的计算模型,我们就可以用数据来检验,看谁的模型预测更准。

问题2:定量地比较竞争性假设

场景:一个实验可能有多种解释 - 假设A:"被试错误的原因是认知能力不足" - 假设B:"被试错误的原因是决策标准太严格" - 假设C:"被试犯错误的原因是注意力分散"

纯描述统计无法区分:三个假设都可能导致"错误率升高"

计算模型可以:通过不同模型对数据的预测准确性,量化地判断哪个假设最优

问题3:参数有心理学意义

计算模型中的参数往往不是"无意义的统计数字",而是对应真实心理过程的量化。

例子:强化学习模型中的学习率参数 \(\alpha\) - \(\alpha\) 接近0:说明被试学习慢,对新反馈反应不敏感 - \(\alpha\) 接近1:说明被试学习快,对新反馈反应敏感 - 通过比较不同被试或不同条件的 \(\alpha\),我们可以问:"哪个群体的学习更快?"

这比单纯说"A组的学习错误率更低"更有信息量。

问题4:预测与解释

计算模型可以进行超越当前数据的预测: - 用前50次试次的数据拟合参数 - 用拟合的参数预测后50次试次的表现 - 如果预测与实际吻合,说明模型捕捉到了真实的心理过程

这比简单的"事后解释"(参照日志偏差)提供了更强的证据。

什么时候应该用计算模型

最适合用计算模型的情况:

  1. 有多个竞争性的理论假设
  2. 不同模型对同一现象有不同解释
  3. 需要定量地判断哪个更优
  4. ✓ 计算模型是最好的工具

  5. 需要理解心理过程而不仅仅是效应

  6. 题目不仅关心"是否存在效应",还关心"怎样产生的"
  7. ✓ 计算模型的参数可以回答这个问题

  8. 数据是逐试次的(trial-by-trial)

  9. 有详细的单次行为数据或反应时数据
  10. ✓ 计算模型特别适合这类数据

  11. 需要进行超越样本的预测

  12. 想验证模型是否真正捕捉到了心理过程
  13. ✓ 用参数恢复、交叉验证等方法进行检验

不必用计算模型的情况:

  1. 只关心"有没有效应"
  2. 例:不同药物是否影响学习速度(用t检验就够了)
  3. 注:有了计算模型后,发现没有效应也很有价值!

  4. 数据很少、无法拟合

  5. 拟合计算模型需要足够的数据点
  6. 如果只有5个被试,计算模型没有意义

  7. 理论本身很清晰、没有竞争性假设

  8. 但这种情况在现实中很罕见

本章小结

计算模型是从模糊的理论思想到可检验的科学假设的桥梁。它提供了: - 对理论的精确表达 - 对竞争性假设的定量比较 - 对心理过程的量化描述 - 超越样本数据的预测能力

小结

  1. 理论→理论模型→计算模型:三者逐步从模糊到精确
  2. 四大成分:输出、变量、参数、算法构成完整的计算模型
  3. 核心价值:将定性的假设转化为可定量检验的模型

练习与思考

  1. 选择你所在领域的一个理论,尝试用数学形式(不需要严格)写出这个理论的理论模型。例如:"学习速度与反馈时间成反比"可以写成 \(\text{速度} = k / t\)
  2. 思考你的研究问题中可能有哪些竞争性假设。这些假设有什么本质的不同?
  3. 浏览一篇使用计算模型的心理学论文(推荐搜索"computational model"),看看这篇论文的模型有哪四大成分?