NeuromatchAcademy课程:贝叶斯决策模型拟合实战指南
2025-07-10 07:48:17作者:廉彬冶Miranda
引言:理解贝叶斯模型拟合的核心概念
在神经科学和认知建模领域,贝叶斯决策理论为我们提供了一个强大的框架,用于理解大脑如何整合感官信息与先验知识来做出决策。本教程将带您深入探索如何将贝叶斯模型拟合到实验数据中,从而揭示认知过程背后的计算机制。
1. 构建似然函数阵列
理论基础
似然函数描述了在给定真实刺激x的情况下,大脑编码刺激ẍ的概率分布。在贝叶斯框架中,这代表了感官证据的可靠性。
实现步骤
- 定义刺激空间:从-10到10cm,步长0.1cm
- 假设可能的编码刺激值:在-8到8cm之间均匀分布1000个点
- 为每个可能的编码刺激值构建高斯似然函数
def compute_likelihood_array(x_points, stim_array, sigma=1.):
likelihood_array = np.zeros((len(stim_array), len(x_points)))
for i in range(len(stim_array)):
likelihood_array[i, :] = my_gaussian(x_points, stim_array[i], sigma)
return likelihood_array
可视化分析
通过热图展示似然函数阵列,x轴表示潜在真实刺激位置,y轴表示可能的神经编码。颜色强度代表概率密度。
2. 构建混合先验分布
模型设计
我们的先验是双组分混合分布:
- 主要成分(95%):中心在0cm的高斯分布(σ=1cm)
- 次要成分(5%):均匀分布(-8到8cm)
def compute_prior_array(x_points, p_independent, prior_sigma=1.):
prior_common = my_gaussian(x_points, 0, prior_sigma)
prior_independent = np.ones_like(x_points)/len(x_points)
prior_mixed = (1-p_independent)*prior_common + p_independent*prior_independent
return prior_mixed
3. 计算后验分布
贝叶斯推理
后验分布结合了似然和先验信息:
def compute_posterior_array(likelihood_array, prior_array):
posterior_array = likelihood_array * prior_array[None, :]
posterior_array /= np.sum(posterior_array, 1)[:, None]
return posterior_array
4. 生成行为响应
响应模型
假设被试基于后验分布的均值做出响应:
def compute_resp(posterior_array, x_points):
mean_resp = np.zeros(posterior_array.shape[0])
for i in range(posterior_array.shape[0]):
mean_resp[i] = np.sum(x_points * posterior_array[i, :])
return mean_resp
5. 模型拟合实战
数据生成
- 选择真实刺激位置(-8到8cm,20个均匀点)
- 为每个位置生成100次响应
拟合过程
- 定义负对数似然函数
- 使用优化算法寻找最佳p_independent参数
def negative_log_likelihood(params, *args):
p_independent = params[0]
stimuli, responses = args
# 计算模型预测
prior = compute_prior_array(x, p_independent)
posterior = compute_posterior_array(likelihood_array, prior)
model_responses = compute_resp(posterior, x)
# 计算对数似然
log_likelihood = 0
for i in range(len(stimuli)):
idx = np.argmin(np.abs(hypothetical_stim - stimuli[i]))
error = responses[i] - model_responses[idx]
log_likelihood += np.log(my_gaussian([error], 0, response_sigma))
return -log_likelihood
结果分析与解释
通过拟合过程,我们能够:
- 从模拟行为数据中恢复生成参数
- 验证模型的有效性
- 理解被试行为偏差的认知机制
应用价值与扩展
本教程介绍的方法可以应用于:
- 感知决策研究
- 认知偏差量化
- 神经编码模型验证
- 临床人群认知评估
通过调整模型结构(如改变先验形式或响应策略),可以研究更广泛的认知问题。
总结
贝叶斯模型拟合为我们提供了量化认知过程的强大工具。通过本教程,您已经掌握了从理论构建到实际拟合的完整流程,为未来的认知建模研究奠定了坚实基础。