计算spike train里的信息
本文已参与「新人创作礼」活动,一起开启掘金创作之路。
在上一节中提到了有关熵和spike train的基本概念以及从单个spike中利用互信息这一策略提取信息,因此这一节将着重介绍有关spike patterns的信息提取。
spike patterns
spike patterns可以理解为一系列0和1组成的序列(如图上1),而我们记录到的原始数据一般都是如图上2一样,因此需要采取一些策略来完成频域到时域的转换:
- 选取一段时间间隔为的窗口切分我们的频域图,时间间隔内存在spike响应记为1,反之则为0。
- 由此spike响应数据被全部二进制化,在此基础上我们用长度为T的窗口再次切分,形成一个总长度为T,每一小节长度为的二进制单词。
不难发现二进制单词有着明显的分布趋势(最为常见的为全是沉默状态的spike patterns),因此我们计算他们的出现概率以及熵
Grandma's mutual information recipe
1.不断重复刺激序列以获取响应概率
重复刺激之后的二进制单词概率分布会显著变窄,即熵值减小,响应的混乱程度减小,换句话说我们通过第一次刺激已经成功捕获到了一部分响应信息,现在需要做的也就是不断重复这个过程,并对最终的结果进行平均采样。
- 这里我们选择在时间尺度上对结果进行采样
2.计算噪声熵
在每一次重复刺激的二进制单词概率上计算噪声熵,并且对最终结果进行平均采样,二进制单词的长度决定了噪声熵采样的合理程度。
由上文不难发现二进制单词的两个参数(T,),即time scale的选择是相当重要的,我们需要找出可以持续传递刺激信息的响应的scale:
- T越大,二进制单词的长度越长,编码时能够捕捉到有关输入的互信息也就越多,但与此同时我们获得的二进制单词的样本量也会减少,从而漏掉某些可能的熵值,导致最终获取的信息不足。
- 我们可以计算不同长度的单词的熵,推断出趋势,然后提取出在正无穷条件下熵的估计值。
- (bin size)=2msec时信息获取停止增长,大概保持在80-100bites/s,因此这一参数设定对应着我们所需要寻找的最佳time scale