CSP(Common spatial patterns)共空间模式算法简介
CSP算法基础知识
在了解CSP算法之前的相关知识基础
空间滤波器(spatial filters)
滤波是指通过操作接受或拒绝一定的频率。具体到空间滤波器,指的是通过空间滤波器对矩阵的元素进行修改,达到预期的效果。
空间滤波器由一下两部分组成:
- 一个邻域(通常为规模较小矩阵)
- 对该邻域的覆盖的矩阵元素执行的预定义操作
下图为使用3 × \times × 3的邻域的线性空间滤波举例,过程就是对原矩阵的元素逐个按照预选定义的滤波器的操作进行运算
对于矩阵中的任意一点 ( x , y ) (x,y) (x,y),滤波器的响应 g ( x , y ) g(x,y) g(x,y)是滤波器系数和滤波器覆盖的矩阵系数乘积之和:
g ( x , y ) = ω ( − 1 , − 1 ) f ( x − 1 , y − 1 ) + ω ( − 1 , 0 ) f ( x − 1 , y ) + . . . + ω ( 1 , 1 ) f ( x + 1 , y + 1 ) g(x,y)=\omega(-1,-1)f(x-1,y-1)+\omega(-1,0)f(x-1,y)+...+\omega(1,1)f(x+1,y+1) g(x,y)=ω(−1,−1)f(x−1,y−1)+ω(−1,0)f(x−1,y)+...+ω(1,1)f(x+1,y+1)
将其推广至 m × n m\times n m×n的线性滤波器,设 m = 2 a + 1 m=2a+1 m=2a+1, n = 2 b + 1 n=2b+1 n=2b+1,则该滤波器响应函数 g ( x , y ) g(x,y) g(x,y):
g ( x , y ) = ∑ s = − a a ∑ t = − b b ω ( s , t ) f ( x + s , y + t ) g(x,y)=\sum_{s=-a}^a\sum_{t=-b}^b\omega(s,t)f(x+s,y+t) g(x,y)=s=−a∑at=−b∑bω(s,t)f(x+s,y+t)
协方差与协方差矩阵
此处的协方差指的是样本的协方差(区别于随机变量的协方差)
样本的协方差
对于含有多个属性的样本,当分析两个属性之间的线性相关程度时,将每个多属性样本看做一个多维度向量,需要计算两个维度之间的协方差,协方差越大,两维度越相关。
设样本对应的多维随机变量为 X = [ X 1 , X 2 , . . . , X n ] T X=[X_1,X_2,...,X_n]^T X=[X1,X2,...,Xn]T,样本集合为 { X . j = [ x 1 j , x 2 j , . . . , x n j ] T ∣ 1 ≤ j ≤ m } \{X_{.j}=[x_{1j},x_{2j},...,x_{nj}]^T|1\le j\le m\} {
X.j=[x1j,x2j,...,xnj]T∣1≤j≤m},m为样本数量。对于变量中a属性与b属性的线性相关性,其中 1 ≤ a ≤ n 1\le a\le n 1≤a≤n, 1 ≤ b ≤ n 1\le b\le n 1≤b≤n,n为样本维度,其协方差公式为
q a b = ∑ j = 1 m ( x a j − x a ˉ ) ( x b j − x b ˉ ) m − 1 q_{ab}=\frac{\sum_{j=1}^m(x_{aj}-\bar{x_a})(x_{bj}-\bar{x_b})}{m-1} qab=m−1∑j=1m(xaj−xaˉ)(xbj−xbˉ)
其中 m − 1 m-1 m−1代表随机变量,自由度减1。
协方差矩阵
对于多属性变量,我们需要计算各个属性间的线性相关性。因此形成正方形矩阵
样本集合为 { X . j = [ x 1 j , x 2 j , . . . , x n j ] T ∣ 1 ≤ j ≤ m } \{X_{.j}=[x_{1j},x_{2j},...,x_{nj}]^T|1\le j\le m\} {
X.j=[x1j,x2j,...,xnj]T∣1≤j≤m}可依据生成 n × n n\times n n×n的矩阵,将每一项按照协方差公式计算,使用 ∑ ^ \hat{\sum} ∑^ 表示样本的协方差矩阵
∑ ^ = [ q 11 q 12 ⋯ q 1 n q 21 q 22 ⋯ q 2 n ⋮ ⋮ ⋱ ⋮ q n 1 q n 2 ⋯ q n n ] = 1 m − 1 × [ ∑ j = 1 m ( x 1 j − x 1 ˉ ) ( x 1 j − x 1 ˉ ) ∑ j = 1 m ( x 1 j − x 1 ˉ ) ( x 2 j − x 2 ˉ ) ⋯ ∑ j = 1 m ( x 1 j − x 1 ˉ )