1. 程式人生 > >簡歷專案(一)基於稀疏表示的多動症疾病分類

簡歷專案(一)基於稀疏表示的多動症疾病分類

專案背景:給定的多動症疾病資料,利用稀疏表示進行特徵空間分離,實現對患病和正常人的分類測試,通過分類準確率量化演算法的效能。
專案難點:對患病和非患病的資料進行特徵空間分離時,會存在誤分類,即會出現假正例,假反例,也就是會把患病的分到不患病的特徵裡面。
專案工作:
(1)模型建立
疏表示的特徵空間分離模型,用於區分患病與正常的特徵。
稀疏表示:通過訓練資料構建字典,然後通過字典學習表示資料特徵的方法。就像小時候學習語文中的一句話,我們想要理解這一句話的意思就需要通過查詢字典,整個句子就可以通過幾個詞合併起來,成為一句我們可以理解的話。這裡面我們說的字典就如同稀疏表示的字典,我們理解這句話的過程就是字典學習的過程。具體的表示可以參考

稀疏表示
稀疏表示的好處:可以對龐大的資料集進行降維表示,與壓縮感知相類似。
在本專案中,稀疏表示的具體過程為:
a.輸入給定的資料集,首先進行字典的初始化,一般常用DCT作為初始字典,引數設定字典的大小.
b.係數求解:需要對字典歸一化,防止數值異常影響結果,求解稀疏係數,採用OMP演算法進行逼近求解
c.字典學習:通過獲得的係數和進行字典更新,進而進行資料特徵的表示,由此獲得資料的特徵
(2)特徵選取
採用SVMRFE進行特徵排序,剔除不重要的特徵資料
(3)資料分類
採用SVM函式進行分類
整個專案的程式碼流程:
(1)資料讀入: data = load()
(2)資料分為測試集和訓練集:P = cvpartition(Y_sample,’Holdout’,0.1); 選取樣本的10%進行測試對於資料集類別不均衡的情況採用SMOTE方法
(3)字典初始化:隨機構造矩陣
(4)字典學習:字典歸一化後,進行OMP演算法求解稀疏係數

D_temp = D_temp./(ones(size(X_data_temp))*temp); % normalized dicitonary for OMP
coef = omp(D_temp, X_data_temp, [], T_sparsity);

(5)字典學習:採用的是D = ksvd()方法進行字典求解
(6)特徵排序:採用SVM-RFE特徵遞迴消除進行特徵排序,確定資料集中重要的特徵。

[ftRank,ftScore] = ftSel_SVMRFECBR(X_train_temp(:,1:end-1),Y_train_temp,nStopChunk);

(7)SVM訓練:

   SVMStruct = svmtrain(data_train,double(2*(inform_train.tag>0)-1),'tolkkt',0.05,'kktviolationlevel',0.02,'kernel_function','rbf'); 

這裡面引數採用的RBF高斯核進行訓練。

(8)分類

 species = svmclassify(SVMStruct,[X_new' X_test_temp_phenotypic_tmp]);

(9)正確率求解
cal_kkk(kkk,:)=sum(ACC’)/testN/P.TestSize

總結:
<1>採用MATLAB程式設計實現分類演算法,雖然該演算法與機器學習的相關演算法相比執行速度較慢,但是該演算法在分類率上卻比深度學習的演算法有所提高,尤其對於小資料集而言。
<2>演算法流程關於資料處理的部分採用的與深度學習的方法類似。

相關推薦

簡歷專案基於稀疏表示疾病分類

專案背景:給定的多動症疾病資料,利用稀疏表示進行特徵空間分離,實現對患病和正常人的分類測試,通過分類準確率量化演算法的效能。 專案難點:對患病和非患病的資料進行特徵空間分離時,會存在誤分類,即會出現假正例,假反例,也就是會把患病的分到不患病的特徵裡面。 專案

Java伺服器部署基於OpenCV的C++影象處理專案

Java伺服器部署基於OpenCV的C++影象處理專案(一) 由於最近專案需要在後臺處理圖片並返回結果給移動端,所以折騰了一週如何將c++程式碼和opencv打包並部署到java伺服器中供後臺呼叫,這裡記錄下詳細過程。 基礎環境 伺服器環境: 阿里雲伺服器 Red Hat 4

【tornado】系列專案基於領域驅動模型架構設計的京東使用者管理後臺

【tornado】系列專案(一)之基於領域驅動模型架構設計的京東使用者管理後臺      本博文將一步步揭祕京東等大型網站的領域驅動模型,致力於讓讀者完全掌握這種網路架構中的“高富帥”。 一、預備知識: 1.介面: python中並沒有類似java

基於SpringBoot開發套完整的專案準備工作

1.1 SpringBoot簡介① 為所有Spring 開發提供一個更快更廣泛的人門體驗。② 零配置。無冗餘程式碼生成和XML 強制配置,遵循“約定大於配置” 。③ 集成了大量常用的第三方庫的配置, Spring Boot 應用為這些第三方庫提供了幾乎可以零配置的開箱即用的能

基於create-react-app官方腳手架搭建dva模式的專案

思索良久,決定還是記錄下心得體會:一個基於create-react-app官方腳手架,搭建起來的dva開發模式的react專案。 當然現今的前端市場如此強大,你可以在網路上找到你想要的任何腳手架,並且很多可以開箱即用,不可否認它們很優秀,開發它們的人或團隊更值得我們豎起大拇

bug統計分析續基於SQL的Bug統計方法

擴展 span tom div info 依據 desc pos title 本文由 @lonelyrains 出品。轉載請註明出處。 文章鏈接: http://blog.csdn.net/lonelyrains/article/details/44225533

HDMI調試經驗分享—— 基於KC705的example實現

alt 如果 追蹤 分享 生成 必須 還需要 pro 註意 在KC705的平臺上,實現HDMI的example有兩個,xapp1287,xapp1291。其中1291偏復雜。 因為我沒有HDCP的license,使用xapp1287的tcl生成

測試環境docker化基於ndp部署模式的docker基礎鏡像制作

XML spl nec 快速部署 onf 問題 java 加載 ons 本文來自網易雲社區作者:孫婷婷背景我所在測試項目組目前的測試環境只有一套,在項目版本叠代過程中,開發或產品偶爾會在測試環境進行數據校驗,QA人數在不斷增加,各個人員在負責不同模塊工作時也會產生臟數據,導

Flume NG原始碼分析基於靜態properties檔案的配置模組

日誌收集是網際網路公司的一個重要服務,Flume NG是Apache的頂級專案,是分散式日誌收集服務的一個開源實現,具有良好的擴充套件性,與其他很多開源元件可以無縫整合。搜了一圈發現介紹Flume NG的文章有不少,但是深入分析Flume NG原始碼的卻沒有。準備寫一個系列分析一下Flume NG的

基於SSM+Redis+Nginx+FastDFS的部落格網站

  這篇部落格介紹的是自我用了SSM(spring、SpringMVC和Mybatis)後,基於一個前端模板做的一個網站。由於自己比較喜歡做分散式架構的網站,所以就基於自己現有所學的技術實現某些功能,當然肯定有很多可以改進的地方。基本框架用的是SSM,資料庫用的是MYSQL,快取用

2018 - IDEA 中 搭建 SpringBoot 專案

一、選擇 JDK 二、選擇專案依賴 三、專案結構 四、啟動 一、選擇 JDK    注:這裡可以選擇用war包,即以後將war包複製到Tomcat下解壓部署即可。 二、選擇專案依賴 我們這邊選擇:Web、Freemarker、MySQ

Java簡單部落格系統基於實體聯絡模型設計資料庫

  基本概念 簡單屬性:不能劃分為更小的部分(其他屬性)。 單值屬性:一個特定實體有隻有單獨的一個值。 派生屬性:可以從別的相關屬性或實體派生出來。 最簡單的部落格系統 (一)實體集:使用者,部落格,評論,實體及其屬性列出如下: (二)聯絡集: 以上設計的實體集,聯絡集表示如

搭建eclipse+tomcat+maven+shiro+springmvc+jpa專案:技術選型及架構文件

一、Java語言 Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向物件程式語言的代表,極好地實現了面向物件理論,允許程式設計師以優雅的思維方式進行復雜的程式設計。

gulp構建專案:環境準備

一、建立package.json檔案 npm init // 一路回車就行(預設已安裝node) package.json內容如下: { "name": "gulp-project", "version": "1.0.0", "des

推薦系統基於協同過濾演算法開發離線推薦

什麼是離線推薦 所謂的離線推薦其實就是根據使用者產生的行為日誌,後臺設定一個離線統計演算法和離線推薦演算法的任務來對這些行為日誌進行週期性的統計,統計過後的結果資料為前臺或者實時分析提供資料的支撐。離線推薦要求實時性不高。 離線推薦演算法之協同過濾 協同過濾其實就是藉助大量已

疲勞駕駛識別專案

接到一個小專案,做疲勞駕駛檢測(實時),剛開始著手,感覺有點古怪(其實就是難或者自己菜)。 因為專案方給的是視訊,首先特徵提取和學習(如果有學習)過程和預測應該是要用圖片做的。 給定資料為視訊,如上,要求是檢測四個專案的完成度並提出預警,首先我不認為四個類別全部使用DL或底層的特徵分類的其

Vue全家桶+Egg從0開發大型專案搭建專案

前言 因為要開發本科畢設,做一個校友交流平臺,正好想記錄下整個開發過程,同時也分享給各位。當然那些需求調研的,前期設計的就省略啦。 專案大概是一個全棧的專案,使用的IDE是vscode(期間涉及一些外掛、配置推薦),大概的專案技術棧: vue + vue-router + vuex + vue-i

電商大資料分析平臺專案專案框架

開發可以在web專案中內嵌的js sdk。每當使用者瀏覽到網站頁面或者觸發某種事件時,會呼叫js程式碼,根據使用者cookie傳送一個session資訊這時到我們的nginx伺服器中。 nginx伺服器在接收到傳送的session後會將其寫入日誌檔案中記錄下來,這時監聽日誌檔案的flume會將session

【.NET】【MVC】我的Cloud專案

一、前言 想做一個WEB程式作為練習,包含各種WEB型別的專案。希望以手機桌面APP的形式,一平臺多應用的樣子。 二、開始前的準備 1.模組劃分。部落格。許可權管理模組。後續,可能還會增加,現在以這兩個為主。 2.編寫功能例項。 使用者登入->功能模組(如部落

從0到1學習Vue.js,包含例子及實戰專案

前端三巨頭:React、Angular、Vue。沒錯,什麼jQuery,seaJs,gulp等都逐漸脫離了熱點。面試的時候不吹上一點新技術,好像自己就不是搞前端的似的。當然,希望大家都是抱著好學的心來開始一門學藝的,不管怎樣,請接著看下去吧。 本系列文將會通過很