在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MATLAB數據建模方法中的機器學習方法介紹

MATLAB ? 來源:djl ? 作者:馬文輝 ? 2019-09-16 14:31 ? 次閱讀

近年來,全國賽的題目中,多多少少都有些數據,而且數據量總體來說呈不斷增加的趨勢, 這是由于在科研界和工業界已積累了比較豐富的數據,伴隨大數據概念的興起及機器學習技術的發展, 這些數據需要轉化成更有意義的知識或模型。 所以在建模比賽中, 只要數據量還比較大, 就有機器學習的用武之地。

1.MATLAB機器學習概況

機器學習 ( Machine Learning ) 是一門多領域交叉學科,它涉及到概率論、統計學、計算機科學以及軟件工程。機器學習是指一套工具或方法,憑借這套工具和方法,利用歷史數據對機器進行“訓練”進而“學習”到某種模式或規律,并建立預測未來結果的模型。

機器學習涉及兩類學習方法(如圖1):有監督學習,主要用于決策支持,它利用有標識的歷史數據進行訓練,以實現對新數據的標識的預測。有監督學習方法主要包括分類和回歸;無監督學習,主要用于知識發現,它在歷史數據中發現隱藏的模式或內在結構。無監督學習方法主要包括聚類。

MATLAB數據建模方法中的機器學習方法介紹

圖1 機器學習方法

MATLAB 統計與機器學習工具箱(Statistics and Machine Learning Toolbox)支持大量的分類模型、回歸模型和聚類的模型,并提供專門應用程序(APP),以圖形化的方式實現模型的訓練、驗證,以及模型之間的比較。

分類

分類技術預測的數據對象是離散值。例如,電子郵件是否為垃圾郵件,腫瘤是癌性還是良性等等。 分類模型將輸入數據分類。 典型應用包括醫學成像,信用評分等。MATLAB 提供的分類算法包括:

MATLAB數據建模方法中的機器學習方法介紹

圖2 分類算法家族

回歸

回歸技術預測的數據對象是連續值。 例如,溫度變化或功率需求波動。 典型應用包括電力負荷預測和算法交易等。回歸模型包括一元回歸和多元回歸,線性回歸和非線性回歸,MATLAB 提供的回歸算法有:

MATLAB數據建模方法中的機器學習方法介紹

圖3 回歸算法家族

聚類

聚類算法用于在數據中尋找隱藏的模式或分組。聚類算法構成分組或類,類中的數據具有更高的相似度。聚類建模的相似度衡量可以通過歐幾里得距離、概率距離或其他指標進行定義。MATLAB 支持的聚類算法有:

MATLAB數據建模方法中的機器學習方法介紹

圖4 聚類算法家族

以下將通過一些示例演示如何使用 MATLAB 提供的機器學習相關算法進行數據的分類、回歸和聚類。

2.分類技術

支持向量機(SVM)

SVM 在小樣本、非線性及高維數據分類中具有很強的優勢。在 MATLAB 中,可以利用 SVM 解決二分類問題。同時也可以使用 SVM 進行數據的多分類劃分。

1) 二分類

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

%% 支持向量機模型

loadfisheriris;

% 數據只取兩個分類:‘versicolor' 和 'virginica'

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

% 使用兩個維度

X = meas(inds,3:4);

y = species(inds);

tabulate(y)

Value Count Percent

versicolor 50 50.00%

verginica 50 50.00%

%% SVM模型訓練,使用線性核函數

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

%% 查看進行數據劃分的支持向量

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數據建模方法中的機器學習方法介紹

圖5 支持向量分布

2)多分類

MATLAB 多分類問題的處理是基于二分類模型.下面的示例演示如何利用 SVM 的二分類模型并結合 fitcecoc 函數解決多分類問題。

% 導入Fisher' s iris數據集

loadfisheriris

X = meas;

Y = species;

tabulate(Y)

Value Count Percent

setosa 50 33.33%

versicolor 50 33.33%

virginica 50 33.33%

% 創建SVM模板(二分類模型),并對分類變量進行標準化處理

% predictors

t = templateSVM('Standardize', 1);

% 基于SVM二分類模型進行訓練并生成多分類模型

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 函數支持多種二分類模型,例如, templateKNN, templateTree, templateLinear, templateNaiveBayes, 等等。

3. 回歸

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

邏輯回歸

在 MATLAB 中,邏輯回歸屬于廣義線性回歸的范疇,可以通過使用 fitglm 函數實現邏輯回歸模型的訓練。

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

loadhospital

dsa = hospital;

% 指定模型使用的計算公式

% 公式的書寫方式符合 Wilkinson Notation, 詳情請查看:

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

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

% 通過參數 ’Disribution' 指定 ‘binomial' 構建邏輯回歸模型

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

MATLAB數據建模方法中的機器學習方法介紹

4.聚類

聚類是將數據集分成組或類。 形成類,使得同一類中的數據非常相似,而不同類中的數據差異非常明顯。

層次聚類

下面以層次聚類方法為例,演示如何利用 MATLAB 進行聚類分析。

% 數據導入

loadfisheriris

% MATLAB中層次聚類是通過linkage函數實現

% 通過參數可以配置距離計算方法

% 類內距離的計算方法:'euclidean' ,歐幾里得距離

eucD = pdist(mean ,'euclidean');

% 類間距離的計算方法:'ward' ,最小化兩個類內點之間聚類平方和

Z = linkage(eucD,'ward');

% 使用 cophenetic 相關系數評價聚類計算過程(類內距離最小,類間距離最大)

% 值越大表明距離計算結果越好

cophenet(Z, eucD)

ans = 0.872828315330562

%生成4個類別的聚類結果

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

可以顯示層次聚類生成的聚類樹,使用 dendrogram 函數:

% 查看層次聚類樹

dendrogram(Z)

MATLAB數據建模方法中的機器學習方法介紹

圖6 層次聚類

以上只是簡單的介紹了一下 MATLAB 支持的機器學習算法的使用方式,更多的信息可以查看 MathWorks 官網和 MATLAB 幫助文檔。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4341

    瀏覽量

    62800
  • 機器學習
    +關注

    關注

    66

    文章

    8428

    瀏覽量

    132837
  • 數據分析
    +關注

    關注

    2

    文章

    1455

    瀏覽量

    34090
收藏 人收藏

    評論

    相關推薦

    傳統機器學習方法和應用指導

    用于開發生物學數據機器學習方法。盡管深度學習(一般指神經網絡算法)是一個強大的工具,目前也非常流行,但它的應用領域仍然有限。與深度學習相比
    的頭像 發表于 12-30 09:16 ?297次閱讀
    傳統<b class='flag-5'>機器</b><b class='flag-5'>學習方法</b>和應用指導

    什么是機器學習?通過機器學習方法能解決哪些問題?

    計算機系統自身的性能”。事實上,由于“經驗”在計算機系統主要以數據的形式存在,因此機器學習需要設法對數據進行分析
    的頭像 發表于 11-16 01:07 ?460次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學習方法</b>能解決哪些問題?

    eda在機器學習的應用

    機器學習項目中,數據預處理和理解是成功構建模型的關鍵。探索性數據分析(EDA)是這一過程不可
    的頭像 發表于 11-13 10:42 ?352次閱讀

    PyTorch 數據加載與處理方法

    PyTorch 是一個流行的開源機器學習庫,它提供了強大的工具來構建和訓練深度學習模型。在構建模型之前,一個重要的步驟是加載和處理數據。 1
    的頭像 發表于 11-05 17:37 ?465次閱讀

    高速PCB信號和電源完整性問題的建模方法研究

    高速PCB信號和電源完整性問題的建模方法研究
    發表于 09-21 14:13 ?0次下載

    《DNK210使用指南 -CanMV版 V1.0》第一章本書學習方法

    第一章 本書學習方法 為了讓讀者更好地學習和使用本書,本章將為讀者介紹本書的學習方法,包括:本書的學習順序、編寫規范、代碼規范、資料查找和
    發表于 08-28 17:57

    【《時間序列與機器學習》閱讀體驗】+ 了解時間序列

    學習方法對該序列數據進行分析,可以得到結論或預測估計,因此時間序列分析的用途是非常多的,比如: 可以反映社會經濟現象的發展變化過程,描述現象的發展狀態和結果。 可以研究社會經濟現象的發展趨勢和發展速度
    發表于 08-11 17:55

    【「時間序列與機器學習」閱讀體驗】全書概覽與時間序列概述

    他領域(如自然語言處理、計算機視覺等)的關聯。 ●第2章“時間序列的信息提取”:介紹特征工程的核心概念及其在時間序列分析的廣用,比如對原始數據進行歸一化、缺失值填充等轉換;以及如何通過特征工程從時間
    發表于 08-07 23:03

    matlab預測模型怎么用

    MATLAB預測模型是一種基于統計和數學方法的預測工具,廣泛應用于各種領域,如金融、氣象、生物醫學等。本文將介紹MATLAB預測模型的使用方法
    的頭像 發表于 07-11 14:33 ?650次閱讀

    機器學習數據分割方法

    機器學習數據分割是一項至關重要的任務,它直接影響到模型的訓練效果、泛化能力以及最終的性能評估。本文將從多個方面詳細探討機器
    的頭像 發表于 07-10 16:10 ?2016次閱讀

    機器學習的交叉驗證方法

    機器學習,交叉驗證(Cross-Validation)是一種重要的評估方法,它通過將數據集分割成多個部分來評估模型的性能,從而避免過擬合
    的頭像 發表于 07-10 16:08 ?1320次閱讀

    機器學習數據預處理與特征工程

    機器學習的整個流程數據預處理與特征工程是兩個至關重要的步驟。它們直接決定了模型的輸入質量,進而影響模型的訓練效果和泛化能力。本文將從數據
    的頭像 發表于 07-09 15:57 ?516次閱讀

    深度學習的時間序列分類方法

    的發展,基于深度學習的TSC方法逐漸展現出其強大的自動特征提取和分類能力。本文將從多個角度對深度學習在時間序列分類的應用進行綜述,探討常用的深度
    的頭像 發表于 07-09 15:54 ?1069次閱讀

    深度學習的無監督學習方法綜述

    應用往往難以實現。因此,無監督學習在深度學習扮演著越來越重要的角色。本文旨在綜述深度學習
    的頭像 發表于 07-09 10:50 ?846次閱讀

    機器人視覺技術圖像分割方法有哪些

    和分析。本文將詳細介紹圖像分割的各種方法,包括傳統的圖像處理方法和基于深度學習方法。 閾值分割法 閾值分割法是一種基于像素的圖像分割
    的頭像 發表于 07-04 11:34 ?1088次閱讀
    主站蜘蛛池模板: 久久久久亚洲香蕉网| 天堂网站www天堂资源在线| 欧美激情91| 美女被免费视频网站九色| 精品国产免费人成高清| 久久黄视频| 久久久久久久久久免观看 | 在线黄色免费观看| 黑色丝袜美女被网站| 2014天堂| 窝窝午夜视频| 两人性潮高免费视频看| 538porm在线看国产亚洲| 一区二区三区视频网站| 5060午夜一级| 男女视频在线看| 在线毛片网| 色视频在线网站| 免费h视频| 俺去啦在线视频| 奇米影视婷婷| 日本黄色绿像| 最新在线网址| 美女扒开尿口给男的桶个爽| 天堂网ww| 久草视频一区| 国模视频一区| 精品三级三级三级三级三级| freesexvideo性残疾| 乱人伦xxxx国语对白| 555成人免费影院| 亚洲伊人电影| 欧美军同video69视频| 成人精品一区二区不卡视频 | 一区二区三区四区电影| 日本在线观看www| 欧美就是色| 一级特黄a免费大片| 国产小视频在线观看| 欧美日韩一卡2卡三卡4卡新区| 四虎影视4hu4虎成人|