最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

MATLAB機器學習工具箱

2023-08-14 23:47 作者:吉祥說船  | 我要投稿

MATLAB機器學習工具箱

MATLAB包含統(tǒng)計和機器學習工具箱(Statistics and Machine Learning Toolbox),其包含如下一些子模塊:探索性數據分析、數據降維、機器學習、回歸和方差分析、概率分布擬合及假設檢驗等功能模塊

1.工具箱簡介

機器學習算法使用計算方法直接從數據中“學習”信息,不把預定方程假設為模型。不同的機器學習算法,按照解決問題的性質,可以分為分類(回歸)、聚類和強化學習問題。相應的,在Statistics and Machine Learning Toolbox中提供用于執(zhí)行受監(jiān)督和無/非監(jiān)督機器學習的方法。分類算法使用戶可以將一個分類應變量建模為一個或多個預測元的函數。Statistics and Machine Learning Toolbox提供涵蓋多種參數化和非參數化分類算法的應用程序和函數,如logistic回歸、樸素貝葉斯、k近鄰、SVM等。

分類學習器應用程序(Classification Learner App)提供了一個機器學習應用常用的操作,如交互式探查數據、特征選擇、指定交叉驗證方案、訓練模型和評估結果。分類學習器應用程序用于使用監(jiān)督式機器學習來訓練模型對數據進行分類,使用它可以執(zhí)行常見任務,例如導入數據和指定交叉驗證方案;探索數據和選擇特征;使用多種分類算法訓練模型;比較和評估模型;在計算機視覺和信號處理等應用場合中共享訓練過的模型。

除此之外,分類學習器集成了多種可視化方式來方便用戶選擇模型,進行模型評估和比較。訓練好的模型也可以直接導入MATLAB的工作空間,來對新的數據預測,也可以直接生成代碼,方便和其他應用集成。

Statistics and Machine Learning Toolbox中也實現了很多聚類算法,聚類算法通過根據相似度測量對數據分組來發(fā)現數據集中的規(guī)律??捎玫乃惴ò╧-均值、k-中心點、分層聚類、高斯混合模型和隱馬爾可夫模型。當不知道聚類的數量時,可以使用聚類評估技術根據特定指標確定數據中存在的聚類數量。

2.分類學習器基本流程

對遇構建機器學習應用,通常包括五部分,分別是數據導入、數據的探索和特征選擇、訓練模型、比較模型和輸出模型。

2.1數據導入

首先為了啟動分類學習器,可以直接在命令行輸入“classification Learner”或者在MATLAB的菜單欄中選擇“應用程序”選項卡下的分類學習器應用classification Learner。


導入數據的方法分為兩種方式,點擊新建對話后,可選擇從工作區(qū)或文件中導入數據。演示數據通過fishertable=readtable('fisheriris.csv')導入。


該窗口主要目的是用來設置訓練數據的相關屬性、標簽及設置驗證集。導入數據依次對應3個步驟,第一步中主要功能是選擇數據集,且設置數據集矩陣中的行(rows)作為一個變量,還是將列(columns)作為一個變量;第二步中需要向算法聲明哪些維度是輸入量,哪些是輸出量,對于分類問題來說就是選擇哪幾個變量作為屬性值,哪個變量作為標簽。預測變量對應輸入,響應變量對應標簽。此時導入數據的工作就完成了。

為了優(yōu)化算法中的一些超參數,需要一定的手段來評估不同參數的表現,其中,驗證集的目的是用來對算法的超參數調優(yōu)。驗證集應該是訓練集的一部分。但是當訓練集數量較少(因此驗證集的數量更少)時,將用到交叉驗證法。所謂k折交叉驗證就是把訓練集均分成k份,其中k-1用來訓練,1份用來驗證。然后循環(huán)取k-1份來訓練,其中1份來驗證,最后取所有k次驗證結果的平均值作為算法驗證結果。點擊開始會話。

2.2選擇模型并調整訓練參數


該激活的窗口包含了訓練一個機器學習應用的核心要素,其大體分為六部分。最上邊的菜單欄提供了特征選擇、算法選擇、訓練模型、可視化繪圖及輸出等操作。特征選擇模塊用于選擇輸入特征,即選擇屬性特征,也可以利用PCA方法自動選擇。


分類學習算法分成四大類,分別是決策樹類、判別分析類、支持向量機類、神經網絡類。除了簡單地點擊Train進行訓練外,還可以通過Advanced按鈕設置一些訓練的參數。

2.3輸出模型

當用戶選擇一個訓練模型后,它就會出現在窗口的右側方框中。用戶可以選擇多個模型,依次訓練。得到的每個分類器的分類精度會顯示在方框中。其中分類效果最好的模型會以方框突出顯示。當前模型一欄顯示當前模型的一些詳細信息。

訓練完畢后,用戶不僅僅得到一個分類的精度值,同時用戶還可以通過各種圖形來直觀地觀測當前模型的表現。當然,圖示化訓練數據對于數據探索,發(fā)現數據的模式也是大有脾益??梢岳L制的圖形包括訓練數據的散點圖、混淆矩陣、ROC曲線等。在窗口的最右側可以設置繪圖參數。

通過可視化窗口界面,用戶可以再次調整模型,如進一步的特征提取,或者設置更加合理的超參數值,來改善模型的表現。

一但得到滿意的模型,可以通過兩種方式加以利用。一種是用戶導出訓練好的模型到工作空間中,這個時候用戶將發(fā)現變量空間多了一個結構體變量,這個變量含有一個用于預測的成員函數,此時,用戶將可以用它來做預測。但是如果用戶希望更改模型,或者把它集成到其他的應用,則需要用到另一種方法,也是最通用的方法,即代碼的形式使用。

3.分類學習器算法優(yōu)化與選擇

使用工具箱的方法并不是智能的,同樣需要對數據進行預處理,并根據經驗和分析選擇合適的數據特征。另外,機器學習各類算法也具有不同的特點,使用者應在不斷的實踐中了解各類機器學習算法,在特定的應用場合應選擇適合數據自身的算法。

3.1特征選擇


在分類學習器中可以通過對原始數據做散點圖來分析是否需要或排除某個特征。選擇不同特征作為坐標軸,如果數據某一類別數據很好地分開,說明這個特征是有用的。如果某個特征對于分類沒有任何作用,則可以考慮把它排除。在fisheriris數據集中選擇X和Y分別為PetalLength和PetalWidth,可以看到setosa類能夠被很好地分開。


在分類學習器窗口,也可以通過勾選耨個特征,觀察分類器的表現。如果刪除某個特征后可以提高模型的性能,那么應該排除這個特征,尤其是當收集該數據比較昂貴和困難的時候。具體操作為單擊特征組中的特征選擇按鈕,可以取消勾選特征中特征名稱后的復選框。


利用主成分分析來降低特征空間的維度,有助于防止過擬合。PCA能夠消除數據中的冗余信息,產生一個新的變量集,該變量集稱為主成分。在工具箱中使用PCA包括以下步驟:(1)在分類器的特征中單擊PCA按鈕;(2)在高級PCA選項中選中啟用PCA,并設置響應參數(一般采用默認)。至此,用戶已完成了對PCA的設置,之后,當用戶點擊Train的時候,PCA會首先對數據做變換和處理,然后進行模型訓練。


在分類學習器中也可以利用平行坐標圖(Parallel Coordinates Plot)來選擇特征,具體操作為單擊分類學習器窗口的繪圖中的平行坐標圖按鈕,生成平行坐標圖。

在平行坐標圖中其實它就是把每個特征列在列在一個一維的軸上畫出來,然后把每個記錄(一個樣本點)依次連接起來,最后用不同的顏色表示不同的類別,錯分的類別用虛線表示。如果某個特征具有很好的區(qū)分度,那么在坐標軸上就會出現明顯的聚類現象。從圖中可以看出PetalLength和PetalWidth特征具有很好的分類效果。

3.2選擇分類器算法

各分類器算法有各自的特點,依賴于具體的需求,如速度、存儲、靈活性、可解釋性等,會有不同的選擇。如果對于一個數據沒有特別深刻的理解,或者特別適合的模型,最開始用戶可以選擇All Quick-To-Train,這個選項會用所有高效的模型對數據進行訓練,能夠快速地得到不同分類器的表現。但一般來說,不同類型算法用不同的特點,有大概的了解也會有利于用戶選擇分類器算法。下表對不同類型分類器算法進行了比較。


4.工具箱分類學習實例

本節(jié)通過實例來闡述如何使用分類學習器APP。所述的實例是基于fisheriris數據集。中文名為安德森鳶尾花數據集(Andersons Iris Data Set),也稱鳶尾花數據集(Iris Data Set)或費雪鳶尾花數據集(Fishers Iris Data Set),是一類多重變量分析的數據集。其數據集包含了150個樣本,都屬于鳶尾屬下的3個亞屬,分別是山鳶尾、變色鳶尾和維吉尼亞鳶尾。4個特征被用于樣本的定量分析,它們分別是花萼和花瓣的長度和寬度。因此算法的任務就是基于這4個特征,利用不同的分類算法來分辨它們到底屬于哪個亞屬。

下面介紹利用Classification Learner實現分類算法的步驟。

(1)在MATLAB命令行中輸入命令,進行fisheriris數據集的加載,命令為“fishertable=readtable(fisheriris.csv);”。

(2)對fisheriris數據集的四項特征的數據進行歸一化處理,經典的方法有min-max標準化、Z-score標準化、小數點定標標準化。

(3)在上述3種歸一化方法種,在本實例中選擇第一種方法進行處理。然后MATLAB的“應用程序”選項卡中選擇Classification Learner。

(4)經過上一步驟,會出現一個分類學習器窗口。在分類學習器窗口中單擊新建對話按鈕,此時將出現一個用于數據處理的窗口,按照上節(jié)方法進行設置,分別設置預測變量和響應變量及一些關于交叉驗證的參數。本實例采取默認設置。之后單擊該窗口右下角開始會話。此時,分類學習器創(chuàng)建了一個數據的散點圖??砂l(fā)現散點的分布形式沒有發(fā)生變化,僅僅是坐標軸的范圍發(fā)生了改變,這就是對數據進行歸一化后的數據結果。用戶可以通過選擇不同的特征來繪圖,從而觀察哪些變量能夠很好地區(qū)分數據。值得注意的是,通過其他方式進行歸一化處理,散點的分布形式會有一定的變化。本實例中樣本屬性特征為4,且各特征對于訓練都有作用,因此不進行刪減特征處理及PCA主成分分析。
為了應用判別分析算法,單擊CLASSIFICATION LEARNER選項卡CLASSIFIER組中的下拉按鈕,選擇ALL選項,然后單擊TRAINING組中的Train按鈕,此時,就可以開始訓練模型了,經過2~3分鐘的訓練后。同樣,也可以在CLASSIFIER組中的下拉列表中單獨選擇決策樹算法、SVM、logistic回歸及集成方法。這里為了方便,這里直接選擇ALL選項,它會對訓練數據應用所有的可用的分類器。


在圖的左側可以看到總共24個分類算法,最好的分辨率達到了98%的識別率,相應的識別算法包括ComplexTree、Medium Tree、Simple Tree、Quadratic SVM、Medium Gaussian SVM。需要具體了解訓練算法的相關參數及訓練時間,可單擊相應算法,則在其左下角的現有模型窗格中顯示。


另外,在散點顯示圖中,則發(fā)現顯示為“X”的點,這些點表示預測錯誤的點,單擊圖中的散點,可顯示出具體的數據信息。


為了觀察每個類預測的準確率,可以單擊畫圖組中的混淆矩陣按鈕。也可以單擊ROC曲線。


(5)最后,為了導出模型,在導出模型下拉列表中可以選擇不同的導出方式。本實例中采用導入工作空間的方法,即選擇導出模型中的導出緊湊模型。


采用默認值,單擊“確定”按鈕。此時在MATLAB的工作空間中便顯示了一個名為trainedClassifier的結構體數據,即為訓練好的模型。


為了利用訓練好的數據模型進行新樣本的預測,需要調用和使用它的成員函數XXX,predicFcn,其中XXX為模型名稱,本實例中使用格式如下:

Yfit=trainedClassifier.predicFcn(T)

其中,T是新預測數據樣本,它的形式和數據類型必須于訓練中的數據保持一致,且不包含標簽。另外,值得注意的是,需要對樣本數據采用同樣的歸一化方法進行訓練。

MATLAB機器學習工具箱的評論 (共 條)

分享到微博請遵守國家法律
尉犁县| 桐梓县| 长子县| 姚安县| 民权县| 汽车| 新乡市| 金乡县| 大石桥市| 聂拉木县| 上杭县| 山丹县| 聊城市| 中方县| 祁阳县| 丹寨县| 平江县| 柳林县| 双城市| 图们市| 通许县| 临高县| 泰宁县| 星子县| 阳东县| 鹤峰县| 封开县| 通州市| 苍南县| 绥中县| 湘乡市| 建德市| 山西省| 五台县| 勃利县| 延安市| 隆回县| 三原县| 胶南市| 沙田区| 徐汇区|