打开黑匣——机器学习特征篇之从矩阵到向量到矩阵

对于连接组机器学习来说,其特征(也可理解为自变量)就是功能连接矩阵,例如最常见的相关矩阵。

通常,特征以向量形式存在于分析过程中,即一行或者一列数据即为一个特征向量。而相关矩阵显然不满足这个要求,因此我们需要对它进行转换。有时候我们需要计算overlapping的边用于展示或者验证,又需要将特征向量投射回原来的矩阵。

首先,功能链接矩阵是对称矩阵。这意味着它有一半的数据都是重复的。

这种重复对于模型毫无意义,如果不处理它,可能会对复杂模型产生损害,这一点可以通过模拟数据验证。但是对于一些简单模型,例如CPM的一元线性模型,这种重复没有影响。

因此,如果要使用复杂模型我们只取一半的数据,且不要对角线。

1
feature_mat = tril(FC_mat,-1);  % FC_mat为功能链接矩阵

或者

1
feature_vct = FC_mat(tril(ones(size(FC_mat)),-1)>0)

考虑到我们可能会有还原有效特征的需求,最好将特征的索引保存下来,一并输入到计算过程中

1
2
feature_idx  = find(tril(ones(size(FC_mat)),-1))
feature_vct = FC_mat(feature_idx)

机器学习的过程中,通常还需要进行特征的稀疏化

例如,通过相关来筛选特征

1
2
[r,p ] = corr(feature_vcts_train,behav_train)
feature_vcts_train_sparse = feature_vcts_train(:,p<0.05);

此时,想要将稀疏的特征还原回原矩阵,将筛选同时应用与特征的索引即可

1
feature_idx_train_sparse = feature_idx_train(p<0.05);

然后还原到原来的矩阵

1
2
FC_mat_sparse = FC_mat*0;
FC_mat_sparse = feature_vcts_train(1,feature_idx_train_sparse );

打开黑匣——机器学习特征篇之从矩阵到向量到矩阵

https://neurospider.cn/post/20432/

Author

SuperSpider

Posted on

2021-08-25

Updated on

2022-05-07

Licensed under