99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

MATLAB ? 來(lái)源:djl ? 作者:馬文輝 ? 2019-09-16 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來(lái),全國(guó)賽的題目中,多多少少都有些數(shù)據(jù),而且數(shù)據(jù)量總體來(lái)說(shuō)呈不斷增加的趨勢(shì), 這是由于在科研界和工業(yè)界已積累了比較豐富的數(shù)據(jù),伴隨大數(shù)據(jù)概念的興起及機(jī)器學(xué)習(xí)技術(shù)的發(fā)展, 這些數(shù)據(jù)需要轉(zhuǎn)化成更有意義的知識(shí)或模型。 所以在建模比賽中, 只要數(shù)據(jù)量還比較大, 就有機(jī)器學(xué)習(xí)的用武之地。

1.MATLAB機(jī)器學(xué)習(xí)概況

機(jī)器學(xué)習(xí) ( Machine Learning ) 是一門(mén)多領(lǐng)域交叉學(xué)科,它涉及到概率論、統(tǒng)計(jì)學(xué)、計(jì)算機(jī)科學(xué)以及軟件工程。機(jī)器學(xué)習(xí)是指一套工具或方法,憑借這套工具和方法,利用歷史數(shù)據(jù)對(duì)機(jī)器進(jìn)行“訓(xùn)練”進(jìn)而“學(xué)習(xí)”到某種模式或規(guī)律,并建立預(yù)測(cè)未來(lái)結(jié)果的模型。

機(jī)器學(xué)習(xí)涉及兩類(lèi)學(xué)習(xí)方法(如圖1):有監(jiān)督學(xué)習(xí),主要用于決策支持,它利用有標(biāo)識(shí)的歷史數(shù)據(jù)進(jìn)行訓(xùn)練,以實(shí)現(xiàn)對(duì)新數(shù)據(jù)的標(biāo)識(shí)的預(yù)測(cè)。有監(jiān)督學(xué)習(xí)方法主要包括分類(lèi)和回歸;無(wú)監(jiān)督學(xué)習(xí),主要用于知識(shí)發(fā)現(xiàn),它在歷史數(shù)據(jù)中發(fā)現(xiàn)隱藏的模式或內(nèi)在結(jié)構(gòu)。無(wú)監(jiān)督學(xué)習(xí)方法主要包括聚類(lèi)。

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

圖1 機(jī)器學(xué)習(xí)方法

MATLAB 統(tǒng)計(jì)與機(jī)器學(xué)習(xí)工具箱(Statistics and Machine Learning Toolbox)支持大量的分類(lèi)模型、回歸模型和聚類(lèi)的模型,并提供專(zhuān)門(mén)應(yīng)用程序(APP),以圖形化的方式實(shí)現(xiàn)模型的訓(xùn)練、驗(yàn)證,以及模型之間的比較。

分類(lèi)

分類(lèi)技術(shù)預(yù)測(cè)的數(shù)據(jù)對(duì)象是離散值。例如,電子郵件是否為垃圾郵件,腫瘤是癌性還是良性等等。 分類(lèi)模型將輸入數(shù)據(jù)分類(lèi)。 典型應(yīng)用包括醫(yī)學(xué)成像,信用評(píng)分等。MATLAB 提供的分類(lèi)算法包括:

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

圖2 分類(lèi)算法家族

回歸

回歸技術(shù)預(yù)測(cè)的數(shù)據(jù)對(duì)象是連續(xù)值。 例如,溫度變化或功率需求波動(dòng)。 典型應(yīng)用包括電力負(fù)荷預(yù)測(cè)和算法交易等?;貧w模型包括一元回歸和多元回歸,線性回歸和非線性回歸,MATLAB 提供的回歸算法有:

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

圖3 回歸算法家族

聚類(lèi)

聚類(lèi)算法用于在數(shù)據(jù)中尋找隱藏的模式或分組。聚類(lèi)算法構(gòu)成分組或類(lèi),類(lèi)中的數(shù)據(jù)具有更高的相似度。聚類(lèi)建模的相似度衡量可以通過(guò)歐幾里得距離、概率距離或其他指標(biāo)進(jìn)行定義。MATLAB 支持的聚類(lèi)算法有:

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

圖4 聚類(lèi)算法家族

以下將通過(guò)一些示例演示如何使用 MATLAB 提供的機(jī)器學(xué)習(xí)相關(guān)算法進(jìn)行數(shù)據(jù)的分類(lèi)、回歸和聚類(lèi)。

2.分類(lèi)技術(shù)

支持向量機(jī)(SVM)

SVM 在小樣本、非線性及高維數(shù)據(jù)分類(lèi)中具有很強(qiáng)的優(yōu)勢(shì)。在 MATLAB 中,可以利用 SVM 解決二分類(lèi)問(wèn)題。同時(shí)也可以使用 SVM 進(jìn)行數(shù)據(jù)的多分類(lèi)劃分。

1) 二分類(lèi)

以下示例顯示了利用 MATLAB 提供的支持向量機(jī)模型進(jìn)行二分類(lèi),并在圖中畫(huà)出了支持向量的分布情況(圖5中圓圈內(nèi)的點(diǎn)表示支持向量)。MATLAB 支持 SVM 的核函數(shù)(KernelFunction 參數(shù))有:線性核函數(shù)(Linear),多項(xiàng)式核函數(shù)(Polynomial)、高斯核函數(shù)(Gaussian)。

%% 支持向量機(jī)模型

loadfisheriris;

% 數(shù)據(jù)只取兩個(gè)分類(lèi):‘versicolor' 和 'virginica'

inds = ~strcmp(species,'setosa');

% 使用兩個(gè)維度

X = meas(inds,3:4);

y = species(inds);

tabulate(y)

Value Count Percent

versicolor 50 50.00%

verginica 50 50.00%

%% SVM模型訓(xùn)練,使用線性核函數(shù)

SVMModel = fitcsvm(X, y,'KernelFunction','linear');

%% 查看進(jìn)行數(shù)據(jù)劃分的支持向量

sv = SVMModel.SupportVectors;

figure

gscatter( X( : , 1) , X( : , 2) ,y)

holdon

plot(sv( : , 1) , sv( : , 2) ,'ko','MarkerSize', 10)

legend('versicolor','virginica','Support Vector')

holdoff

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

圖5 支持向量分布

2)多分類(lèi)

MATLAB 多分類(lèi)問(wèn)題的處理是基于二分類(lèi)模型.下面的示例演示如何利用 SVM 的二分類(lèi)模型并結(jié)合 fitcecoc 函數(shù)解決多分類(lèi)問(wèn)題。

% 導(dǎo)入Fisher' s iris數(shù)據(jù)集

loadfisheriris

X = meas;

Y = species;

tabulate(Y)

Value Count Percent

setosa 50 33.33%

versicolor 50 33.33%

virginica 50 33.33%

% 創(chuàng)建SVM模板(二分類(lèi)模型),并對(duì)分類(lèi)變量進(jìn)行標(biāo)準(zhǔn)化處理

% predictors

t = templateSVM('Standardize', 1);

% 基于SVM二分類(lèi)模型進(jìn)行訓(xùn)練并生成多分類(lèi)模型

Mdl = fitcecoc( X, Y,'Learners', t , . . .'ClassNames', {'setosa','versicolor','virginica'})

Mdl =

ClassificationECOC

ResponseName: 'Y'

CategoricalPredictors: [ ]

ClassNames: {'setosa' 'versicolor' 'virginica'}

ScoreTransform: 'none'

BinaryLearners: {3*1 cell}

CodingName: 'onevsone'

MATLAB 的 fitcecoc 函數(shù)支持多種二分類(lèi)模型,例如, templateKNN, templateTree, templateLinear, templateNaiveBayes, 等等。

3. 回歸

回歸模型描述了響應(yīng)(輸出)變量與一個(gè)或多個(gè)預(yù)測(cè)變量(輸入)變量之間的關(guān)系。 MATLAB 支持線性,廣義線性和非線性回歸模型。以下示例演示如何訓(xùn)練邏輯回歸模型。

邏輯回歸

在 MATLAB 中,邏輯回歸屬于廣義線性回歸的范疇,可以通過(guò)使用 fitglm 函數(shù)實(shí)現(xiàn)邏輯回歸模型的訓(xùn)練。

% 判定不同體重、年齡和性別的人的吸煙概率

loadhospital

dsa = hospital;

% 指定模型使用的計(jì)算公式

% 公式的書(shū)寫(xiě)方式符合 Wilkinson Notation, 詳情請(qǐng)查看:

% http://cn.mathworks.com/help/stats/wilkinson-notation.html

modelspec ='Smoker ~ 1+ Age + Weight + Sex + Age:Weight + Age:Sex + Weight:Sex';

% 通過(guò)參數(shù) ’Disribution' 指定 ‘binomial' 構(gòu)建邏輯回歸模型

mdl = fitglm(dsa, modelspec,'Distribution','binomial')

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

4.聚類(lèi)

聚類(lèi)是將數(shù)據(jù)集分成組或類(lèi)。 形成類(lèi),使得同一類(lèi)中的數(shù)據(jù)非常相似,而不同類(lèi)中的數(shù)據(jù)差異非常明顯。

層次聚類(lèi)

下面以層次聚類(lèi)方法為例,演示如何利用 MATLAB 進(jìn)行聚類(lèi)分析。

% 數(shù)據(jù)導(dǎo)入

loadfisheriris

% MATLAB中層次聚類(lèi)是通過(guò)linkage函數(shù)實(shí)現(xiàn)

% 通過(guò)參數(shù)可以配置距離計(jì)算方法

% 類(lèi)內(nèi)距離的計(jì)算方法:'euclidean' ,歐幾里得距離

eucD = pdist(mean ,'euclidean');

% 類(lèi)間距離的計(jì)算方法:'ward' ,最小化兩個(gè)類(lèi)內(nèi)點(diǎn)之間聚類(lèi)平方和

Z = linkage(eucD,'ward');

% 使用 cophenetic 相關(guān)系數(shù)評(píng)價(jià)聚類(lèi)計(jì)算過(guò)程(類(lèi)內(nèi)距離最小,類(lèi)間距離最大)

% 值越大表明距離計(jì)算結(jié)果越好

cophenet(Z, eucD)

ans = 0.872828315330562

%生成4個(gè)類(lèi)別的聚類(lèi)結(jié)果

c = cluster(Z,'maxclust', 4);

可以顯示層次聚類(lèi)生成的聚類(lèi)樹(shù),使用 dendrogram 函數(shù):

% 查看層次聚類(lèi)樹(shù)

dendrogram(Z)

MATLAB數(shù)據(jù)建模方法中的機(jī)器學(xué)習(xí)方法介紹

圖6 層次聚類(lèi)

以上只是簡(jiǎn)單的介紹了一下 MATLAB 支持的機(jī)器學(xué)習(xí)算法的使用方式,更多的信息可以查看 MathWorks 官網(wǎng)和 MATLAB 幫助文檔。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    利用MATLAB對(duì)交流電機(jī)調(diào)速系統(tǒng)進(jìn)行建模和仿真

    是借助計(jì)算機(jī)及相關(guān)技術(shù),對(duì)真實(shí)系統(tǒng)的運(yùn)行過(guò)程和狀態(tài)進(jìn)行數(shù)字化模擬的技術(shù)。Simulink作為MATLAB的一個(gè)組件,能夠?qū)崿F(xiàn)對(duì)動(dòng)態(tài)系統(tǒng)的建模、仿真和綜合分析。本文在Simulink環(huán)境建立面向電氣
    發(fā)表于 06-06 14:31

    第一章 W55MH32 高性能以太網(wǎng)單片機(jī)的學(xué)習(xí)方法概述

    本章介紹W55MH32的學(xué)習(xí)方法,建議先了解硬件資源,按基礎(chǔ)篇、入門(mén)篇循序漸進(jìn)學(xué)習(xí)。參考兩份手冊(cè),提供例程資料,還給出官網(wǎng)、github 等學(xué)習(xí)資料查找渠道。讓我們一起踏上W55MH3
    的頭像 發(fā)表于 05-26 09:07 ?111次閱讀
    第一章 W55MH32 高性能以太網(wǎng)單片機(jī)的<b class='flag-5'>學(xué)習(xí)方法</b>概述

    使用MATLAB進(jìn)行無(wú)監(jiān)督學(xué)習(xí)

    無(wú)監(jiān)督學(xué)習(xí)是一種根據(jù)未標(biāo)注數(shù)據(jù)進(jìn)行推斷的機(jī)器學(xué)習(xí)方法。無(wú)監(jiān)督學(xué)習(xí)旨在識(shí)別數(shù)據(jù)
    的頭像 發(fā)表于 05-16 14:48 ?690次閱讀
    使用<b class='flag-5'>MATLAB</b>進(jìn)行無(wú)監(jiān)督<b class='flag-5'>學(xué)習(xí)</b>

    一種無(wú)刷直流電機(jī)霍耳信號(hào)與定子繞組關(guān)系自學(xué)習(xí)方法

    的關(guān)系。提出了一種無(wú)刷直流電機(jī)霍耳信號(hào)與定子繞組關(guān)系自學(xué)習(xí)方法,該方法通過(guò)不同的繞組通電組合將電機(jī)轉(zhuǎn)子依次轉(zhuǎn)到6個(gè)不同的位置并記錄對(duì)應(yīng)的霍耳信號(hào),然后得出霍耳信號(hào)與定子繞組的對(duì)應(yīng)關(guān)系。所提出的方法快速
    發(fā)表于 03-25 15:15

    DeepSeek與Kimi揭示o1秘密,思維鏈學(xué)習(xí)方法顯成效

    據(jù)消息,OpenAI近日發(fā)布了一項(xiàng)重要研究報(bào)告。報(bào)告指出,DeepSeek和Kimi兩家機(jī)構(gòu)通過(guò)獨(dú)立研究,成功利用思維鏈學(xué)習(xí)方法,在數(shù)學(xué)解題與編程挑戰(zhàn)顯著提升了模型的綜合表現(xiàn)。 Kimi的研究員
    的頭像 發(fā)表于 02-18 15:13 ?478次閱讀

    傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    用于開(kāi)發(fā)生物學(xué)數(shù)據(jù)機(jī)器學(xué)習(xí)方法。盡管深度學(xué)習(xí)(一般指神經(jīng)網(wǎng)絡(luò)算法)是一個(gè)強(qiáng)大的工具,目前也非常流行,但它的應(yīng)用領(lǐng)域仍然有限。與深度學(xué)習(xí)相比
    的頭像 發(fā)表于 12-30 09:16 ?1194次閱讀
    傳統(tǒng)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)方法</b>和應(yīng)用指導(dǎo)

    使用位移基本場(chǎng)方法對(duì)空間擴(kuò)展光源進(jìn)行建模

    摘要 空間擴(kuò)展光源在實(shí)際中經(jīng)常出現(xiàn)。 可以使用Tervo等人[J. Opt. Soc. Am. A 27 (9), 2010]報(bào)道的位移基本場(chǎng)方法對(duì)它們進(jìn)行建模。 該用例演示了如何基于楊氏干涉實(shí)驗(yàn)
    發(fā)表于 12-16 10:43

    什么是機(jī)器學(xué)習(xí)?通過(guò)機(jī)器學(xué)習(xí)方法能解決哪些問(wèn)題?

    計(jì)算機(jī)系統(tǒng)自身的性能”。事實(shí)上,由于“經(jīng)驗(yàn)”在計(jì)算機(jī)系統(tǒng)主要以數(shù)據(jù)的形式存在,因此機(jī)器學(xué)習(xí)需要設(shè)法對(duì)數(shù)據(jù)進(jìn)行分析
    的頭像 發(fā)表于 11-16 01:07 ?965次閱讀
    什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過(guò)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)方法</b>能解決哪些問(wèn)題?

    eda在機(jī)器學(xué)習(xí)的應(yīng)用

    機(jī)器學(xué)習(xí)項(xiàng)目中,數(shù)據(jù)預(yù)處理和理解是成功構(gòu)建模型的關(guān)鍵。探索性數(shù)據(jù)分析(EDA)是這一過(guò)程不可
    的頭像 發(fā)表于 11-13 10:42 ?911次閱讀

    PyTorch 數(shù)據(jù)加載與處理方法

    PyTorch 是一個(gè)流行的開(kāi)源機(jī)器學(xué)習(xí)庫(kù),它提供了強(qiáng)大的工具來(lái)構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。在構(gòu)建模型之前,一個(gè)重要的步驟是加載和處理數(shù)據(jù)。 1
    的頭像 發(fā)表于 11-05 17:37 ?940次閱讀

    Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試,熟悉V模型開(kāi)發(fā)流程。 熟悉自動(dòng)代碼生成,能夠編寫(xiě)或者配置自動(dòng)代碼生成腳本。
    發(fā)表于 10-24 17:23

    高速PCB信號(hào)和電源完整性問(wèn)題的建模方法研究

    高速PCB信號(hào)和電源完整性問(wèn)題的建模方法研究
    發(fā)表于 09-21 14:13 ?1次下載

    《DNK210使用指南 -CanMV版 V1.0》第一章本書(shū)學(xué)習(xí)方法

    第一章 本書(shū)學(xué)習(xí)方法 為了讓讀者更好地學(xué)習(xí)和使用本書(shū),本章將為讀者介紹本書(shū)的學(xué)習(xí)方法,包括:本書(shū)的學(xué)習(xí)順序、編寫(xiě)規(guī)范、代碼規(guī)范、資料查找和
    發(fā)表于 08-28 17:57

    【《時(shí)間序列與機(jī)器學(xué)習(xí)》閱讀體驗(yàn)】+ 了解時(shí)間序列

    學(xué)習(xí)方法對(duì)該序列數(shù)據(jù)進(jìn)行分析,可以得到結(jié)論或預(yù)測(cè)估計(jì),因此時(shí)間序列分析的用途是非常多的,比如: 可以反映社會(huì)經(jīng)濟(jì)現(xiàn)象的發(fā)展變化過(guò)程,描述現(xiàn)象的發(fā)展?fàn)顟B(tài)和結(jié)果。 可以研究社會(huì)經(jīng)濟(jì)現(xiàn)象的發(fā)展趨勢(shì)和發(fā)展速度
    發(fā)表于 08-11 17:55

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】全書(shū)概覽與時(shí)間序列概述

    他領(lǐng)域(如自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)等)的關(guān)聯(lián)。 ●第2章“時(shí)間序列的信息提取”:介紹特征工程的核心概念及其在時(shí)間序列分析的廣用,比如對(duì)原始數(shù)據(jù)進(jìn)行歸一化、缺失值填充等轉(zhuǎn)換;以及如何通過(guò)特征工程從時(shí)間
    發(fā)表于 08-07 23:03