数学建模 | MATLAB数据建模方法--机器学习方法

这篇具有很好参考价值的文章主要介绍了数学建模 | MATLAB数据建模方法--机器学习方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近年来,全国赛的题目中,多多少少都有些数据,而且数据量总体来说呈不断增加的趋势, 这是由于在科研界和工业界已积累了比较丰富的数据,伴随大数据概念的兴起及机器学习技术的发展, 这些数据需要转化成更有意义的知识或模型。 所以在建模比赛中, 只要数据量还比较大, 就有机器学习的用武之地。

1. MATLAB机器学习概况

机器学习 ( Machine Learning ) 是一门多领域交叉学科,它涉及到概率论、统计学、计算机科学以及软件工程。机器学习是指一套工具或方法,凭借这套工具和方法,利用历史数据对机器进行“训练”进而“学习”到某种模式或规律,并建立预测未来结果的模型。

机器学习涉及两类学习方法(如图1):有监督学习,主要用于决策支持,它利用有标识的历史数据进行训练,以实现对新数据的标识的预测。有监督学习方法主要包括分类和回归;无监督学习,主要用于知识发现,它在历史数据中发现隐藏的模式或内在结构。无监督学习方法主要包括聚类。

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

图1 机器学习方法

MATLAB 统计与机器学习工具箱(Statistics and Machine Learning Toolbox)支持大量的分类模型、回归模型和聚类的模型,并提供专门应用程序(APP),以图形化的方式实现模型的训练、验证,以及模型之间的比较。

  • 分类

分类技术预测的数据对象是离散值。例如,电子邮件是否为垃圾邮件,肿瘤是癌性还是良性等等。 分类模型将输入数据分类。 典型应用包括医学成像,信用评分等。MATLAB 提供的分类算法包括:

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

图2 分类算法家族

  • 回归

回归技术预测的数据对象是连续值。 例如,温度变化或功率需求波动。 典型应用包括电力负荷预测和算法交易等。回归模型包括一元回归和多元回归,线性回归和非线性回归,MATLAB 提供的回归算法有:

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

图3 回归算法家族

  • 聚类

聚类算法用于在数据中寻找隐藏的模式或分组。聚类算法构成分组或类,类中的数据具有更高的相似度。聚类建模的相似度衡量可以通过欧几里得距离、概率距离或其他指标进行定义。MATLAB 支持的聚类算法有:

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

图4 聚类算法家族

以下将通过一些示例演示如何使用 MATLAB 提供的机器学习相关算法进行数据的分类、回归和聚类。

2. 分类技术

  • 支持向量机(SVM)

SVM 在小样本、非线性及高维数据分类中具有很强的优势。在 MATLAB 中,可以利用 SVM 解决二分类问题。同时也可以使用 SVM 进行数据的多分类划分。

1) 二分类

以下示例显示了利用 MATLAB 提供的支持向量机模型进行二分类,并在图中画出了支持向量的分布情况(图5中圆圈内的点表示支持向量)。MATLAB 支持 SVM 的核函数(KernelFunction 参数)有:线性核函数(Linear),多项式核函数(Polynomial)、高斯核函数(Gaussian)。

%% 支持向量机模型

load fisheriris;

% 数据只取两个分类:‘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)

hold on

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

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

hold off

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

图5 支持向量分布

2) 多分类

MATLAB 多分类问题的处理是基于二分类模型.下面的示例演示如何利用 SVM 的二分类模型并结合 fitcecoc 函数解决多分类问题。

% 导入Fisher' s iris数据集

load fisheriris

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 函数实现逻辑回归模型的训练。

% 判定不同体重、年龄和性别的人的吸烟概率

load hospital

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 统计和机器学习工具箱,数学建模,matlab,机器学习

4. 聚类

聚类是将数据集分成组或类。 形成类,使得同一类中的数据非常相似,而不同类中的数据差异非常明显。

  • 层次聚类

下面以层次聚类方法为例,演示如何利用 MATLAB 进行聚类分析。

% 数据导入

load fisheriris

% 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 统计和机器学习工具箱,数学建模,matlab,机器学习

图6 层次聚类

   免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLP、YOLO、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。

下面是部分截图,加我免费领取

目录

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

一、人工智能免费视频课程和项目

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

二、人工智能必读书籍

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

三、人工智能论文合集

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

四、机器学习+计算机视觉基础算法教程

matlab 统计和机器学习工具箱,数学建模,matlab,机器学习

最后,我想说的是,自学人工智能并不是一件难事。只要我们有一个正确的学习方法和学习态度,并且坚持不懈地学习下去,就一定能够掌握这个领域的知识和技术。让我们一起抓住机遇,迎接未来!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以点击链接领取 

二维码详情文章来源地址https://www.toymoban.com/news/detail-776861.html

到了这里,关于数学建模 | MATLAB数据建模方法--机器学习方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023年数学建模随机森林:基于多个决策树的集成学习方法

    目录 目录 1. 什么是随机森林? 2. 随机森林的优缺点 3. 随机森林的构建过程

    2024年02月08日
    浏览(28)
  • 【数学建模】《实战数学建模:例题与讲解》第七讲-Bootstrap方法(含Matlab代码)

    如果这篇文章对你有帮助,欢迎点赞与收藏~ Bootstrap方法是一种统计技术,用于估计一个样本统计量的分布(例如均值、中位数或标准偏差)。它通过从原始数据集中重复抽取样本(通常是带替换的)来工作,允许评估统计量的变异性和不确定性。这种方法特别有用于小样本

    2024年01月22日
    浏览(37)
  • 数学建模常用方法及MATLAB代码

    我们通常使用二分法计算非线性方程或者超越方程近似根,MATLAB代码为: π定理的解题步骤 : (1)确定关系式:根据对所研究的现象的认识,确定影响这个现象的各个物理量及其关系式: (2)确定基本量:从n个物理量中选取所包含的m个基本物理量作为基本量纲的代表,一般取m=

    2024年02月03日
    浏览(30)
  • 数学建模飞行管理问题最简单易懂方法matlab代码

    代码中六个角度for循环步长自己改改即可 在约 10,000 米高空的某边长 160 公里的正方形区域内,经常有若干架飞机作水平飞行。 区域内每架飞机的位置和速度向量均由计算机记录其数据以便进行飞行管理。当一架欲 进入该区域的飞机到达区域边缘时,记录其数据后,要立即计

    2024年04月26日
    浏览(63)
  • (一)MATLAB数学建模——数据拟合

    目录 一、简介 二、多项式拟合 (一)指令介绍 (二)代码

    2024年02月11日
    浏览(44)
  • MATLAB数学建模:数据图形可视化-三维绘图函数

    在 MATLAB 中, 我们可使用函数 surf 和 surfc 绘制三维曲面图. 调用格式如下: 以矩阵 ZZZ 所指定的参数创建一个渐变的三维曲面. 坐标 $x = 1:n, y = 1:m, $ 其中 [m,n]=size(Z)[m,n] = size(Z)[m,n]=size(Z) 以 ZZZ 确定的曲面高度和颜色, 按照 X,YX,YX,Y 形成的格点矩阵, 创建一个渐变的三维曲面. X,

    2024年02月06日
    浏览(40)
  • 数学建模-MATLAB神经网络工具箱实现数据拟合预测

    将数据集保存在矩阵data中 在APP页面找到Neural Net Fitting 3.输入与目标均为 data,Samples are 选择 Matrix rows 4.训练集和验证集的百分比可以自定义,一般默认 三种算法,各有优劣,一般默认第一个,点击Train进行训练 4.点击Performance 5.以此图为例,13.1572代表误差,误差越低越好,可

    2024年02月06日
    浏览(30)
  • 数据预处理方法整理(数学建模)

    这篇文章主要是整理了一些作者在各种建模比赛中遇到的数据预处理问题以及方法,主要针对excel或csv格式的数据,为后续进行机器学习或深度学习做前期准备 导入库和文件,这里使用的是绝对路径,可改为相对路径 传入的为csv格式的文件,如果是xlsx格式的文件,建议先使

    2024年02月14日
    浏览(40)
  • 算法、数据结构、计算机系统、数据库MYSQL、概率论、数学实验MATLAB、数学建模、马原、英语、杂项、QT项目

    可以三个条件 以此类推 (condition1)?x:(condition2)?y:z string变成int int 变成string 可以用循环 模运算展开式推导 我们要证明等式: (a * b) mod m = ((a mod m) * (b mod m)) mod m 假设 a = q1 * m + r1 ,其中 q1 是 a 除以 m 的商, r1 是 a 除以 m 的余数。类似地,假设 b = q2 * m + r2 ,其中

    2024年02月08日
    浏览(44)
  • 【数学建模】matlab正态拟合直方图 | 获取一组数据的统计特征(平均值,方差等)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 首先给出一组数据样例: 1.1.1 平均值(期望) 获得结果: 1.1.2 中值 1.1.3 方差和标准差 A.方差 B.标准差(一般也是正态分布里面的西格玛) 1.1.4 排序 依然用之前的数据画图 从数据分布上来看大概就是个正

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包