認(rèn)知計(jì)算實(shí)驗(yàn)三周晗_第1頁(yè)
認(rèn)知計(jì)算實(shí)驗(yàn)三周晗_第2頁(yè)
認(rèn)知計(jì)算實(shí)驗(yàn)三周晗_第3頁(yè)
認(rèn)知計(jì)算實(shí)驗(yàn)三周晗_第4頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院實(shí)驗(yàn)課程名稱:腦機(jī)接口與認(rèn)知計(jì)算指導(dǎo)教師:課程類型:限選課實(shí)驗(yàn)項(xiàng)目名稱:實(shí)驗(yàn)三實(shí)驗(yàn)題目:博弈學(xué)號(hào):1120310401:設(shè)計(jì)成績(jī)成績(jī)指導(dǎo)老師一、 實(shí)驗(yàn)?zāi)康氖褂?svm 分類器對(duì)實(shí)驗(yàn)一提取到的特征進(jìn)行進(jìn)一步的分析二、實(shí)驗(yàn)要求與環(huán)境EEGLAB 13.4.42012a認(rèn)知實(shí)驗(yàn)中的 64 通道腦電數(shù)據(jù)Windows 7 PC三、實(shí)驗(yàn)過(guò)程(1)修改 main 文件,使得事件碼為對(duì)應(yīng)實(shí)驗(yàn)的事件碼,將實(shí)驗(yàn) 2 的結(jié)果放入cnt 文件夾下,修改代碼如圖。(2)執(zhí)行 main,得到 features,這是特征提取過(guò)程,根據(jù)間的特征數(shù)據(jù)作為一個(gè)結(jié)構(gòu)體放入 task 中如圖給出的

2、事件碼,把每個(gè)時(shí)(3)(4)執(zhí)行 f = svm_leaveone2(freatures),運(yùn)行一段時(shí)間后得到結(jié)果 f,如圖四、實(shí)驗(yàn)結(jié)果觀察實(shí)驗(yàn)結(jié)果,是對(duì)某個(gè)事件進(jìn)行的正確率,如下圖。SVM 分類器,對(duì) main 主程序劃分出來(lái)的特征碼(task 中的結(jié)構(gòu)體),對(duì)每個(gè)結(jié)構(gòu)體中的數(shù)據(jù)和其他結(jié)構(gòu)體進(jìn)行數(shù)據(jù)訓(xùn)練,然后得到的訓(xùn)練結(jié)果,和之前從數(shù)據(jù)集中抽出的一部分?jǐn)?shù)據(jù)作為 test 集進(jìn)行精確性驗(yàn)證,得到每個(gè)事件之間的精確度。(1,2)事件(1,3)事件(2,3)事件實(shí)驗(yàn)結(jié)果分析:實(shí)驗(yàn)中最好的分類是72.22%,分類結(jié)果并不是很好,可能選擇的事件碼之間的區(qū)分度并不大,所以數(shù)據(jù)表現(xiàn)上有很多交集,導(dǎo)致了 s

3、vm 線性分類器的劃分在兩個(gè)交集之中,導(dǎo)致了分類確,可以嘗試將數(shù)據(jù)集通過(guò)變換到更高維度,以增強(qiáng)區(qū)分度,然后再進(jìn)行分類操作。本想進(jìn)行這樣實(shí)驗(yàn),但是由于對(duì)于 eeglab 形成的數(shù)據(jù)集.mat 文件中的數(shù)據(jù)并不了解其含義,而且分類過(guò)程注釋很少,難以理解,無(wú)法對(duì)其作出改進(jìn),只能是提出這種。還有可能是由于測(cè)試過(guò)程中被試第一次參與導(dǎo)致的干擾,畢竟對(duì)于被試,整個(gè)過(guò)程時(shí)很長(zhǎng),沒(méi)有受到注意或冥想的專門訓(xùn)練,而且實(shí)驗(yàn)在決策上提供信息很少,是猜,可能思維運(yùn)轉(zhuǎn)并沒(méi)有那么集中,是否可以考慮增大在決策前的信息提供(而并不局限于只是提供之前的百分比),并縮短決策時(shí)間,使得思維過(guò)程更為集中。應(yīng)該也可以一定程度上提高分類結(jié)果

4、。五、實(shí)驗(yàn)總結(jié)通過(guò)本次實(shí)驗(yàn),了解了整個(gè)進(jìn)行腦電實(shí)驗(yàn)的整個(gè)過(guò)程,其中的,處理、分析,每一步都要求精確到位。腦電工作是一個(gè)精密的過(guò)程,干擾很多,非侵入式的電極腦電時(shí)干擾,所以要盡量在其他方面對(duì)干擾剔除。對(duì)于數(shù)據(jù)分析過(guò)程,曾經(jīng)使用過(guò)簡(jiǎn)單的 SVM 分類器,只局限于將鳶尾花的經(jīng)典數(shù)據(jù)集進(jìn)行劃分,實(shí)在較低維度,而且數(shù)據(jù)容易理解的情況下,這次實(shí)驗(yàn)嘗試對(duì) SVM分類器進(jìn)行細(xì)節(jié)理解是還是遇到了很大問(wèn)題1、數(shù)據(jù)形式不理解2、 代碼過(guò)程知道是進(jìn)行了歸一化然后做了個(gè)二劃分 SVM,但很難理解具體過(guò)程總而言之,這次實(shí)驗(yàn)收獲很大。六、實(shí)驗(yàn)源程序及其說(shuō)明這是對(duì)實(shí)驗(yàn)一數(shù)據(jù)進(jìn)行數(shù)據(jù)提取的主函數(shù)matypelist=16,17

5、,18,19,20; 事件碼選取win=1024; inc=500; fs=500;flh = 2 4; 4 7; 7 14; 14 30; 30 100;sourcepath = fullfile(pwd,cnt);sfile = zhouhant 文件的名字destpath= fullfile(pwd,feature); dfile =zhouhan;framefeature(sourcepath, sfile, destpath,dfile, typelist, win, inc,banders, flh, fs)%sourcepath = fullfile(pwd,cnt); sfil

6、e = fuyu.set;destpath= fullfile(pwd,cnt); dfile =fuyu ;epochs(sourcepath, sfile, destpath, dfile)主函數(shù)最后調(diào)用了這個(gè)函數(shù)特征提取過(guò)程,根據(jù)給出的事件碼,把每個(gè)時(shí)間的特征數(shù)據(jù)作為一個(gè)結(jié)構(gòu)體放入task中function features =framefeature(sourcepath, sfile, destpath, dfile,typelist, win, inc, func, flh,fs)%typelist=50, 10, 30; win=1024inc=500; func; fs=100

7、0;flh = 2 4; 4 7; 7 14; 15 30; 30 100;sourcepath = fullfile(pwd,remalg); - sfile = 2014-yuzhengxin; -destpathdfileeeg = pop_loadset(filename, strcat(sfile,.set), filepath, sourcepath);eeg = eeg_checkset(eeg);% subject = strsplit(filename,.);% subject = subject1; subject = sfile;features = struct(sub

8、ject,subject,task,); features.task = cell(length(typelist),1);type = struct(data,urevent,);% for j=1:length(typelist)%jfor k=1:length(eeg.event)-1 temptype=eeg.event(k).type;typeindex = find(typelist=temptype); tempdata=;if(isempty(typeindex)for i=1:eeg.nbchan-2lengtheeg=length(eeg.data(i,eeg.event(

9、k).latency:eeg.event(k+1).laten cy-1);if lengtheeg 1024 eegtemp=eeg.data(i,eeg.event(k).latency:eeg.event(k+1).latency-1) zeros(1,1024-lengtheeg);tempdata(:,:,i) =enframe(eegtemp, win, inc); elsetempdata(:,:,i) = enframe(eeg.data(i,eeg.event(k).latency:eeg.event(k+1).latency-1), win, inc);iendendtem

10、pdata2=reshdata = ;3(tempdata,3,2);for ii=1:size(tempdata2,3)temp = func(tempdata2(:,:,ii), flh, fs, win);%temp = func(tempdata(:,:,i),varargin); temp = temp(:);data(ii,:)=temp; iiend type.data=data;type.urevent= eeg.event(k).urevent;features.tasktypeindex = features.tasktypeindex;type;endkend% ends

11、ave(fullfile(destpath, dfile),features);SVM 分類器,對(duì) main 主程序劃分出來(lái)的特征碼(task 中的結(jié)構(gòu)體),對(duì)每個(gè)結(jié)構(gòu)體中的數(shù)據(jù)和其他結(jié)構(gòu)體進(jìn)行數(shù)據(jù)訓(xùn)練,然后得到的訓(xùn)練結(jié)果,和之前從數(shù)據(jù)集中抽出的一部分?jǐn)?shù)據(jù)作為 test 集進(jìn)行精確性驗(yàn)證,得到每個(gè)事件之間的精確度。% f = svm_leaveone2(struct)featurefunction result=svm_leaveone2(features)%svm filename sourcepath rate eventtypecode 0.5/ mo(one vs one)a(one

12、vs all) resultresult.frame.accuracy result.task.accuracy result.task.confuresult.task.error trial%load features;%dmax(features.task1(1).data,1);dmax=min(features.task1(1).data,1); for i=1:length(features.task)for j=1:length(features.taski)dmin(features.taski(j).data;dmin);dmax);dmax=max(features.tas

13、ki(j).data;endendfor i=1:length(features.task)for j=1:length(features.taski)features.taski(j).data=svm_scale(features.taski(j).data,-1,1,dmin,dmax);endendframe, task = leaveone(features.task); result.frame=frame;result.task=task;end% function band = optimal(dmean, number) dmend=size(dmean,2); band=1

14、:size(dmean,2);for n=size(dmean,2):-1:number+1 kmin=inf;idx=1;for j=1:n-1x1=dmean(1,j); y1=dmean(1,j+1); x2=dmean(2,j); y2=dmean(2,j+1);k=abs(log(y2)-log(y1)/(log(x2)-log(x1)-1); if(kkmin)kmin=k; idx=j;endenddmean(:,idx)= dmean(:,idx)+dmean(:,idx+1); dmean(:,idx+1)=;band(idx+1)=;endband = band dmend

15、; endfunction asr = asymratio(x)% ( C3, C4) , ( C3, P4) ,( C3, O2) ,( P3,C4) , ( P3, P4) , ( P3, O2) , ( O1, C4) , ( O1, P4) ,( O1, O2) ( R-L )/ ( R+ L) .% , L , R . 36 % x% ft asr=;numch=size(x,3); for i = 1:2:numch-1for j = 2:2:numchasr =asr (x(:,:,j)-x(:,:,i)./(x(:,:,j)+x(:,:,i);endendendfunction

16、 train, test = divide(tasks,rate)% train_data=; train_label=; test_data=; test_label=; test_task=; test_trial=; r=size(tasks114,1); for i=1:length(tasks)n = ceil(length(tasksi)*rate);index=randperm(length(tasksi); for j=1:length(tasksi)if(j=n)% train_data=train_data; tasksiindex(j)4; elsetest_data=t

17、est_data; tasksiindex(j)4; test_trial=test_trial; tasksiindex(j)(3);endendtrain_label=train_label; i*ones(n*r,1); test_label=test_label; i*ones(length(tasksi)-n)*r,1); test_task=test_task; i*ones(length(tasksi)-n,1);endtrain.darain_data;train.label=train_label;test.daest_data;test.label=test_label;t

18、est.task=test_task; test.trial=test_trial;end% dividefunction y = logband y=;for i=1:size(x,3)er(x,band)for j=1:size(band,2)-1loger(:,j)=log(sum(x(:,band(i,j):band(i,j+1)-1,i),2);endy(:,:,i)=loger;endendfunction y=resh3t2(x,d)% 32 if(nargin= 50) task(i,j).accuracy=task(i,j).accuracy+1;endendframe(i,j).event = i j;task(i,j).event = i j; frame(i,j).accuracy =frame(i,j).accuracy/fram;task(i,j).accuracy=task(i,j).accuracy/length(tasklabel);endendend % Leaveonefunction confu, accuracy, event = frameconfuse(predict, label)% event=so

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論