计算spike train里的信息

85 阅读2分钟

计算spike train里的信息

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

在上一节中提到了有关熵和spike train的基本概念以及从单个spike中利用互信息这一策略提取信息,因此这一节将着重介绍有关spike patterns的信息提取。

spike patterns

在这里插入图片描述 spike patterns可以理解为一系列0和1组成的序列(如图上1),而我们记录到的原始数据一般都是如图上2一样,因此需要采取一些策略来完成频域到时域的转换:

  • 选取一段时间间隔为Δt\Delta t的窗口切分我们的频域图,时间间隔内存在spike响应记为1,反之则为0。
  • 由此spike响应数据被全部二进制化,在此基础上我们用长度为T的窗口再次切分,形成一个总长度为T,每一小节长度为Δt\Delta t的二进制单词。 在这里插入图片描述 不难发现二进制单词有着明显的分布趋势(最为常见的为全是沉默状态的spike patterns),因此我们计算他们的出现概率pwip_{w_i}以及熵H[w]H[w]

Grandma's mutual information recipe

1.不断重复刺激序列以获取响应概率P(Rs)P(R|s)

重复刺激之后的二进制单词概率分布会显著变窄,即熵值减小,响应的混乱程度减小,换句话说我们通过第一次刺激已经成功捕获到了一部分响应信息,现在需要做的也就是不断重复这个过程,并对最终的结果进行平均采样。 在这里插入图片描述

  • 这里我们选择在时间尺度上对结果进行采样

2.计算噪声熵H(Rs)H(R|s)

在每一次重复刺激的二进制单词概率P(Ws(t))P(W|s(t))上计算噪声熵,并且对最终结果进行平均采样,二进制单词的长度决定了噪声熵采样的合理程度。 在这里插入图片描述 由上文不难发现二进制单词的两个参数(T,Δt\Delta t),即time scale的选择是相当重要的,我们需要找出可以持续传递刺激信息的响应的scale:

  • T越大,二进制单词的长度越长,编码时能够捕捉到有关输入的互信息也就越多,但与此同时我们获得的二进制单词的样本量也会减少,从而漏掉某些可能的熵值,导致最终获取的信息不足。
  • 我们可以计算不同长度的单词的熵,推断出趋势,然后提取出在正无穷条件下熵的估计值。 在这里插入图片描述
  • Δt\Delta t(bin size)=2msec时信息获取停止增长,大概保持在80-100bites/s,因此这一参数设定对应着我们所需要寻找的最佳time scale 在这里插入图片描述

3.计算互信息

在这里插入图片描述