- 博客(55)
- 收藏
- 关注
原创 基于任务判别成分分析的TDCA算法
脑-机接口(Brain-Computer Interface, BCI)是一项颠覆式的创新技术,能够为大脑与外部环境之间提供了一种无需依赖周围神经的直接通讯通路,能够替代、修复、增强、补充或改善正常的神经系统功能。基于SSVEP的BCI系统现已被广泛使用,因为SSVEP不但反映了人类大脑视觉通路的自然响应,并且具有可分类目标数多、识别时间短、信息传输率高、用户训练时间较短等优点。
2025-03-25 15:36:34
738
原创 基于Transformer的零校准SSVEP识别模型
SSVEPformer是首个将Transformer架构应用于SSVEP分类的深度学习模型,并结合SSVEP信号的复谱特征复谱特征输入:保留频谱的频率与相位信息通道动态融合:替代固定空间滤波器轻量化编码器:CNN-MLP混合结构代替传统的Attention机制,降低Attention的计算复杂度。
2025-03-14 17:25:08
1059
原创 使用 PyInstaller 解决 MNE 依赖问题
在使用 PyInstaller 打包 Python 脚本时,可能会遇到某些库无法正确打包的问题。)时非常有用,可以确保所有必要的文件被正确打包。对于遇到类似问题的其他库,也可以尝试该选项。是一个用于处理脑电(EEG)和脑磁(MEG)数据的库,它的依赖项较多,可能导致打包失败。假设我们有一个简单的 Python 脚本。选项对解决 MNE 依赖问题的作用。本文将对比在不使用特殊选项和使用。依赖项正确打包,我们可以使用。选项在处理复杂依赖项的库(如。如果仍然遇到问题,可以结合。选项时的打包情况,验证。
2025-03-13 15:23:39
422
原创 C语言实现IIR型零相位带通滤波器
虽然 Python 有高效的数值计算库(如 Numpy),但在底层计算上,由于解释过程的存在,会引入一定的开销。例如,在同样的 FIR 数字滤波器实现中,Python 的循环结构(即使是使用了 Numpy 的向量化操作)在执行速度上通常比 C 语言慢几倍到几十倍不等,特别是当信号长度很长时,这种性能差距会进一步拉大。这样的处理方式非常适合对时域特征要求严格的信号处理任务,如EEG信号分析,确保滤波后的信号在保留频率特征的同时,不会受到滤波器引入的相位延迟影响。,得到初步的滤波结果。
2024-11-12 15:03:29
1476
16
原创 Python打包脚本为EXE可执行文件
在 main.py 中导入 add.py 的加法函数和 sub.py 的减法函数,并通过读取 config.yaml 中的参数来决定调用加法或减法函数。若需要将一个Python小项目打包成exe,则一般会选取入口程序(或称为主程序)作为打包的入口,并通过打包工具Pyinstaller进行打包操作。Python脚本打包为EXE的过程,主要是通过将Python代码、依赖库和Python解释器一起打包成一个可执行文件,从而实现不依赖于Python环境的独立执行。这样,生成的EXE文件将使用你指定的图标。
2024-11-05 18:49:30
1133
原创 从阿里云效codeup克隆代码仓库到本地
当使用 HTTPS 的方式进行代码克隆行为时,需要输入账号密码进行验证,此时需要使用已设置的 HTTPS 账号密码进行验证,可以通过以下路径查看账号信息。此外,云效Codeup使用Git完成代码仓库管理工作,故完成项目代码的提交、上传、拉取、更新、切换分支等操作与使用Github平台时的操作的步骤或使用的命令基本一致。该平台提供代码托管、代码评审、代码安全和质量检测、持续集成等全方位功能,全面保护企业代码资产,协助企业实现安全、稳定、高效的代码托管和研发管理。下一次再进行克隆操作时,则无需再进行认证操作。
2024-02-09 11:49:10
5300
原创 GitHub API接口访问频率优化的合规策略探索
Github,是一个面向开源及私有软件项目的托管平台,也是全球最早且最大的项目代码托管平台,在无数代码人心中有着不可撼动的地位。Github只支持使用Git作为唯一的版本库控制托管,故名为Github。得助于Git强大的项目组织管理功能,全球范围内无数的企业用户也被吸引使用Github完成团队项目的协助工作。截止2023年11月17日,Github在全球已有超过1亿的开发者用户(大多数来自于美国、中国、印度),超过90%的财富100强企业也选择使用Github。
2024-02-06 11:59:14
6301
5
原创 基于深度学习的SSVEP分类算法简介
EEGNet: EEGNet是一种专门为处理脑电信号数据而设计的卷积神经网络模型,它接收时域脑电数据作为网络输入。EEGNet由4层组成。第一层是卷积层,用于模拟对每个通道数据进行的带通滤波操作。第二层是空间滤波层,通过深度卷积对每个通道的数据进行加权。第三层是用于提取类别信息的独立卷积层。第四层是用于分类的完全连接层。自提出以来,EEGNet已被用于各种脑电任务,如运动图像、P300、SSVEP等12CCNN: CCNN也是一个卷积神经网络模型。不同的是,
2024-02-04 09:54:25
3749
2
原创 Git介绍与常用命令总结
Git是一种分布式版本控制系统,用于跟踪文件的变化并协作开发项目。它由Linus Torvalds在2005年创建,主要用于Linux内核的开发,但现在已经成为许多项目的标准版本控制系统。版本控制: Git跟踪项目文件的变化,以便在不同的时间点恢复、比较或合并这些变化。这使得团队能够协作,同时保留项目历史记录。分布式系统: 每个协作者都拥有完整的代码仓库,包括完整的版本历史。这使得在没有网络连接的情况下也能够继续工作,并且使得协作更加灵活。仓库(Repository)
2024-02-01 15:38:31
1495
3
原创 MSI: 基于多元同步索引的SSVEP频率识别算法
因其较高的时间分辨率、相对低的成本与高便携性, 从头皮采集的脑电图(electroencephalograhy, EEG)是被用于构建BCI系统的最广泛使用的数据模态。因此, 一个无需依赖于调优步骤或仅依赖于少量调优过程的SSVEP频率识别算法亟待提出, 以使得BCI系统的使用变得便捷高效。在基于SSVEPs的BCI系统中, 目标由单个刺激频率或不同刺激频率之间的组合来进行编码, 不同的目标编码则可以代表不同的控制命令。在经过公式 (5)中的线性转换后, 公式 (6) 中的自相关信息将被抵消。
2023-04-13 23:07:49
1691
翻译 SSVEPNet:使用标签平滑与谱归一化的高效CNN-LSTM网络
本研究中,我们提出了一种高效的混合CNN-LSTM网络,该网络采用谱归一化和标签平滑技术,用于短时SSVEP分类。为了验证我们模型的有效性,我们在被试内和跨被试分类情况中两种不同的时间窗口长度中,将所提出的模型与其他传统方法和深度学习方法进行了全面比较。结果表明,该模型优于其他方法,在被试内小规模数据量情况下尤为显著。进一步的消融实验检验了谱归一化和基于注意的标签平滑在该模型中的作用。大量的实验结果表明,SSVEPNet是一个很有前途的SSVEP频率识别方法,而谱归一化和基于注意的标签平滑技术可作为有效策略
2022-09-21 23:16:22
3117
5
原创 机器学习与深度学习入门环境安装
机器学习入门环境安装1、编程语言环境配置2、开发平台安装3、机器学习工具包4、深度学习环境配置1、编程语言环境配置2、开发平台安装3、机器学习工具包4、深度学习环境配置
2022-04-15 02:18:05
4903
5
原创 卷积神经网络反卷积后尺寸大小计算
卷积神经网络反卷积后尺寸大小计算反卷积尺寸计算公式附:证明过程反卷积尺寸计算公式H′=(H−1)∗S[0]+K[0]−2∗Pad[0]W′=(W−1)∗S[1]+K[1]−2∗Pad[1]\begin{aligned}\\H'&= (H - 1)*S[0]+K[0]-2*Pad[0] \\ \\W' &= (W - 1)*S[1]+K[1]-2*Pad[1]\end{aligned}H′W′=(H−1)∗S[0]+K[0]−2∗Pad[0]=(W−1)∗S[1]+K[1]−2
2021-10-19 16:20:05
1543
3
原创 卷积神经网络卷积后尺寸大小计算
神经网络卷积后尺寸计算1、无填充1.1 公式1.2 示例2、有填充2.1 公式2.2 示例1、无填充1.1 公式H′=(H−K[0])S[0]+1W’=(W−K[1])S[1]+1\begin{aligned}\\H' &= \frac{(H-K[0])}{S[0]} + 1 \\ \\W’ &=\frac{(W-K[1])}{S[1]} + 1\end{aligned}H′W’=S[0](H−K[0])+1=S[1](W−K[1])+1其中,KKK表示卷积核尺寸(ke
2021-10-06 21:58:40
3408
1
原创 提取任务相关成分的TRCA算法
提取任务相关成分的TRCA算法1、TRCA算法简介2、TRCA算法原理与推导1、TRCA算法简介虽然基于CCA的方法在识别SSVEP信号方面具有不错的表现,但这类方法的性能仍旧易受到自发脑电活动的干扰的影响。除此之外,研究人员们考虑到基于CCA的方法还有一个很大的问题,即没有利用到相位信息(参考信号中正余弦中没有包含相位项)。那么如果能够有效地利用相位信息,想必会给SSVEP的识别性能带来较大的提升。由此研究人员便提出了TRCA方法,TRCA的方法即通过最大化每个task中神经影像数据的复现性(rep
2021-10-01 11:16:15
7024
17
原创 基于核概念的KCCA算法
基于核概念的KCCA算法1、由CCA算法过渡至KCCA算法2、KCCA算法的原理与推导1、由CCA算法过渡至KCCA算法典型相关分析(CCA)算法是一种标准的统计技术,用于寻找两个最大相关的随机向量的线性投影。CCA算法是一个计算两个多维变量相关性的强大方法,但如果两个变量间存在非线性相关的关系,CCA算法也许在此时会失效。为了克服CCA算法的这个弊端,KCCA算法通过引入”kernel trick”的概念改进CCA算法。2、KCCA算法的原理与推导传统的CCA算法的目标是找寻一对方向向量wxw_x
2021-09-30 23:53:39
2918
2
原创 应用于SSVEP脑电信号识别的CCA算法
应用于SSVEP脑电信号识别的CCA算法1、SSVEP信号2、应用于SSVEP信号的CCA算法1、SSVEP信号SSVEP是指当受到一个固定频率的视觉刺激的时候,人的大脑视觉皮层会产生一个连续的与刺激频率有关(刺激频率的基频或倍频处)的响应。研究者认为大脑里分布的各种神经网络都有其固有的谐振频率,在正常状态下,这些神经网络都是互不同步的,也是杂乱无章,没有规律的,此时的脑电信号是自发脑电。当施加一个恒定频率的外界视觉刺激时,与刺激频率或谐波频率相一致的神经网络就会产生谐振,导致大脑的电位活动在刺激
2021-09-30 17:34:17
8622
9
原创 在jupyter Notebook上绘制动态曲线
在jupyter Notebook上绘制动态曲线1、前言2、实现原理3、实现源码1、前言在上一篇文章中介绍了在如Pycharm、VsCode、IDEA等,非交互式编程软件中绘制动态曲线的实现原理,那么问题来了:在如jupyter notebook这类交互式编程工具下又如何实现呢?2、实现原理在实现原理上,实则上是“换汤不换药”,本质上还是依靠动画的刷新原理。只不过在如Pycharm上的软件上,我们绘制的曲线图是以窗口形式打开的,因此我们刷新的是窗口;而在如Jupyter Notebook的软件上,由
2021-09-16 20:02:02
3080
3
原创 为机器学习和深度学习过程添加动态曲线图
在机器学习和深度学习训练过程中加入动态曲线图1、动态曲线图画图原理2、在机器学习中引入动态曲线图1、动态曲线图画图原理这里假设我们使用python的matplotlib工具包进行画图操作,其大致原理如下:a)、开始工作前,我们需要一个画板。b)、光有画板还是不能够画图的,得需要有画布fig(总不能画在画板上吧)。c)、光有画布fig也不行,得知道在画布上的哪个区域进行绘画操作,为此我们需要获取可作图区域ax。d)、在可作图区域上进行一个简单的绘图操作。e)、在一个特定的时间t后将原先作图区域上
2021-09-07 23:13:06
1627
原创 Anaconda安装虚拟环境下的Jupyter Notebook没有快捷方式怎么办
Anaconda安装虚拟环境下的Jupyter Notebook没有快捷方式怎么办今天为了安装tensorflow,在anaconda环境下创建了一个名称为tensorflow虚拟环境。一波操作装完了tensorflow之后,为了在jupyter notebook中使用tensorflow框架,还需要在虚拟环境下装一个jupyter notebook。因此直接输入命令pip install jupyter notebook,以为装完后在“开始”菜单中有一个Jupyter Notebook(tensorf
2021-09-07 21:19:08
2368
5
原创 机器学习入门之流浪地球
机器学习入门之流浪地球1、引言2、问题描述3、问题分析4、问题求解4.1 数据集4.2 模型构造4.3 损失函数4.4 梯度下降4.5 模型训练4.6 预测5、总结与思考1、引言我国里程碑式科幻电影巨制《流浪地球》一经播出,在国内外引起了广泛的关注,吸引了一大批科幻爱好者前去踊跃观赏。在电影中,时间已辗转至2075年,受到某些因素的影响,我们赖以生存的太阳即将面临毁灭。面对绝境,人类试图开启"流浪地球"计划,试图带着地球一起逃离太阳系,在浩瀚的宇宙中寻找人类宜居的新家园…在现实中,时间回溯至202
2021-08-30 19:59:00
652
原创 常用的机器学习与深度学习算法简介
常用的机器学习与深度学习算法简介1、机器学习1.1 决策树与随机森林1.2 支持向量机(SVM)1.3 k-最近邻算法1.4 朴素贝叶斯分类器2、深度学习2.1 人工神经网络2.2 深度神经网络2.3 卷积神经网络2.4 循环神经网络2.5 自编码器1、机器学习1.1 决策树与随机森林决策树(Decision Tree)是一种将决策流程以树状结构清晰表示的机器学习方法,本质上是通过一系列规则对数据进行分类的过程。图1-决策树随机森林(Random Forest)是通过构建多个决策树对样本进行训
2021-08-28 02:27:14
7148
原创 切西瓜(空间划分问题)
切西瓜1、题目描述2、题目分析3、问题推理(1)直线划分问题(2)平面划分问题(3)空间划分问题4、算法源码1、题目描述题目描述: 小Py要吃西瓜,想知道切了n刀后,最多能切出多少块?请你们帮助下小Py. 给你一个正整数n(0 < n <10^3),你输出一个数字,代表最多能切多少块。 如n=1, 输出2。示例:输入:n = 1输出:22、题目分析这道题…如果没有理解清楚题意,那完全就是一道阴间题,只能靠瞎猜…但如果理解了话,那还是有点搞头的…让我们捋一下大体的思路:想知道切
2021-06-07 15:14:56
1942
原创 给定三角形三边,如何判断该三角形的形状
给定三角形三边,如何判断该三角形的形状1、前言2、公式介绍3、公式推导1、前言我们都知道,三角形可分为直角三角形、锐角三角形、钝角三角形三种形状,而判断一个三角形具体为哪种形态,可以通过分析三角形中三个角中最大的角度得出。假设这个最大的角度为∠C,则有若∠C = 90°,该三角形为直角三角形若∠C < 90°,该三角形为锐角三角形若∠C > 90°,该三角形为钝角三角形2、公式介绍但如果我们不知道三角形三个角的角度情况,而只有三角形三边的数据,如何通过这三条边来判断三角形的形
2021-06-03 02:36:11
15094
原创 对机器学习西瓜书中公式2.27的个人理解
对机器学习西瓜书中公式2.27的个人理解1、前景引入2、符号解析3、类比推理1、前景引入最近在看机器学习的西瓜书,对书中公式2.27甚是不解…在网上搜了很多资料,看了很多大佬的博客,问了同学和老师。但可能由于我数学比较差吧,对于涉及很多数学符号的逻辑推理过程,总有那么一个环节我会因为对其中一个细节的不解而感到疑惑…从而最终基本上还是有种懵里懵懂的感觉。于是我有了个不成熟的想法…我在想能不能通过一个生活中的例子来解释一通…2、符号解析当然,纵使是使用生活中的例子来类比公式的潜在含义,对于这个公式
2021-04-30 18:20:48
1179
3
原创 Mysql数据库的导入和导出
Mysql数据库的导入和导出1、导入2、导出Mysql数据库的可移植性是比较好的,在命令行状态下可用仅仅一行的代码就实现数据库的导入和导出。(不论是在Windows操作系统还是Linux操作系统下的命令行,命令基本上完全一致)1、导入格式:source 数据库名(所需导入的数据库所在的相对路径或绝对路径)例如:source bank.sql (这里用的是相对路径) source F:\bank.sql(这里用的是绝对路径)注释:sour
2021-03-08 11:18:55
764
1
原创 Java I/O流实现文件复制
文件复制原理文件的类型有很多,从层次上分,有目录(即文件夹)与普通文件;从内容上分,有文本、图片、ppt等等。那么如何实现对这些种类丰富的文件的复制呢?我们知道,计算机中的任何信息都是以0、1代码的形式存在,即以二进制的形式存在。因此,不管文件是哪种类型,在计算机中解析的最终的内容都是由0、1组成的二进制代码。除此之外,我们知道默认情况下大多数计算机都是按字节编制的,即每一个存储单元存储了一个字节内容的0、1代码。也就是说,基本的读、写单元即为1个字节。知道这点后,其实就很好办了。首先计算机会根据
2021-01-10 11:46:39
369
原创 为什么索引结点的总数和单个文件长度无关
为什么索引结点的总数和单个文件长度无关这个问题其实很简单,用索引分配实现的文件中,每个文件所在的盘块号都集中放在一起构成了索引块,且在文件目录里其目录项仅有文件名和索引块所在盘块号两个数据项。因此,不管每个索引块中每个地址项对应的盘块号是直接地址项还是还是间接地址项,用索引分配实现文件中每个文件仅对应一个索引块(或称为索引结点)。从而索引块的总数指的是文件系统中所有用索引分配实现的文件对应的索引块总数,显然与单个文件长度是无关的。...
2020-10-20 20:43:27
3986
7
原创 一个柱面上为什么可以有多个磁道
一个柱面上为什么可以有多个磁道1、磁盘的基本结构2、一个柱面上有多个磁道的含义3、注意事项1、磁盘的基本结构如果你刚学完磁盘的基本结构,了解完柱面、磁道、扇区(盘块)、磁头等概念后根据上图我们知道:磁道就是一个盘面上以转轴为圆心,半径不同的“圆环”。且每个磁道之间有一定的距离,避免两个磁道距离过近产生磁感应相互作用丢失信息。扇区(又称盘块)是每个磁道上划分的若干个区域,且每个磁道的扇区数量相等。柱面则是以转轴为形心,不同盘片上半径相同的磁道组成的一个圆柱体。磁头则为每一个盘面上都配有的一个器
2020-05-22 01:39:13
5885
6
原创 DMA方式与中断控制方式以及通道方式的区别
DMA方式与中断控制方式以及通道方式的区别1、DMA方式和中断控制方式的主要区别2、DMA方式与通道方式的主要区别1、DMA方式和中断控制方式的主要区别①、中断控制方式在每个数据传送完成之后中断CPU,而DMA控制方式则在所要求的传送的一批数据传送结束时中断CPU。②、中断控制方式中的数据传送在中断处理时由CPU控制完成,而DMA控制方式则在DMA控制器下完成。不过,在DMA的控制方式中,数据的传送方向,存放数据的内存始址及传送数据的长度等信息仍然由CPU控制。③、中断控制方式以CPU为核心,而DM
2020-05-21 23:30:40
17785
1
原创 Dijkstra最短路径算法构造的生成树是否一定为最小生成树
Dijkstra最短算法构造的生成树是否一定为最小生成树问题描述:一连通无向图,边为非负权值,问用Dijkstra最短路径算法能否给出一棵生成树,这树是否一定为最小生成树?说明理由。解答:Dijkstra最短路径算法能够给出一棵生成树,但该树不一定为最小生成树。虽然Dijkstra算法和Prim算法的思路与步骤较为相似,但两者的更新算法不一致,而其余部分完全一致。Dijkstra算法对应的M...
2020-04-30 12:05:09
9956
6
原创 树与二叉树的基本操作
树与二叉树的基本操作1、统计二叉树中度为0的结点个数2、统计二叉树中度为1的结点个数3、统计二叉树中度为2的结点个数4、统计二叉树的高度5、统计二叉树的宽度6、从二叉树中删除所有叶结点7、计算指定结点*p所在的层次8、计算二叉树各结点中最大元素的值。9、交换二叉树中每个结点的两个子女10、以先序次序输出一颗二叉树中所有结点的数据值及结点所在的层次。//二叉树的链式存储结构:typedef in...
2020-04-18 12:28:03
339
原创 提高信噪比可以减弱其影响的差错是什么
通信信道的噪声主要分为两种:热噪声和冲击噪声。1、热噪声为信道固有的,引起的差错是随机差错,可以通过提高信噪比来降低它对数据传输的影响。2、冲击噪声为外界电磁干扰引起的,它是引起传输差错的最主要原因,无法通过提高信噪比来避免。...
2020-03-08 19:47:28
2422
原创 为什么单链表的插入和删除速度要比顺序表快
单链表与顺序表的问题探究首先这是顺序表的插入和删除的代码://在顺序表L的第i个位置插入元素ebool ListInsert(SqList &L,int i,ElemType e){ if(i < 1 || i > L.length + 1) //判断i的范围是否有效 return false; if(L.length >= MaxS...
2020-02-16 23:33:01
3727
2
原创 顺序表的逆置算法
顺序表的逆置算法1、逆置原理2、算法实现3、经典例题14、经典例题21、逆置原理顺序表的逆置即将线性表(a1,a2,a3…,an)转化为(an,an-1,an-2…,a2,a1),此操作在程序设计中经常使用。2、算法实现#include<iostream>#include<cstdlib>using namespace std;typedef int Data...
2020-02-13 23:54:46
18587
4
原创 贪心算法——皇后游戏(洛谷P2123)
贪心算法——皇后游戏1、题目描述2、问题分析3、算法源码1、题目描述题目背景还记得 NOIP 2012 提高组 Day1 的国王游戏吗?时光飞逝,光阴荏苒,两年过去了。国王游戏早已过时,如今已被皇后游戏取代,请你来解决类似于国王游戏的另一个问题。题目描述皇后有 n 位大臣,每位大臣的左右手上面分别写上了一个正整数。恰逢国庆节来临,皇后决定为 n 位大臣颁发奖金,其中第 i 位大臣所获得的...
2020-02-02 18:22:51
874
原创 贪心算法——国王游戏(洛谷P1080)
贪心算法——国王游戏1、题目描述2、问题分析3、算法源码1、题目描述题目描述恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他...
2020-02-02 16:46:04
7268
20
原创 高精度算法——B进制星球
高精度算法——B进制星球1、题目描述题目背景进制题目,而且还是个计算器~~题目描述话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序...
2020-01-31 19:57:23
564
原创 高精度算法——数楼梯
高精度算法——数楼梯1、题目描述2、问题分析3、算法源码1、题目描述题目描述楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。输入格式一个数字,楼梯数。输出格式走的方式几种。输入输出样例输入 #14输出 #15说明/提示60% N<=50100% N<=5000)2、问题分析这道题目算是一道很经典的递推题了,对于...
2020-01-31 19:44:06
2232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人