数学建模—编程手算法学习路线(自用)

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

数学建模编程手如何准备,数学建模,算法,学习,机器学习


1.评价算法

适用情景

评价、决策、评判、提出方案、选择方案、择优、后果等…
基于多个评价指标,选出最优方案

常用算法:

层次分析法

是指将与决策总是有关的元素分解成目标、准则、方案 等层次,在此基础之上进行定性和定量分析的决策方法。

比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题,但常用于计算指标的权重。
代码:层次分析法matlab实现

TOPSIS法

TOPSIS法根据有限个评价对象与理想化目标的接近程度进 行排序的方法,是在现有的对象中进行相对优劣的评价。TOPSIS法是一种逼近 于理想解的排序法,该方法只要求各效用函数具有单调递增(或递减)性就行。
TOPSIS法是多目标决策分析中一种常用的有效方法,又称为优劣解距离法。尝试用于大体系的综合评价
要求有理想化指标数据,如环境质量评价、医疗质量综合评价、国家综合实力评价等。

代码:带权重的TOPSIS法matlab实现

数据包络法

根据多项投入指标和多项产出指标,利用线性规划的方法,对具有可比性的同类型单位进行相对有效性评价的一种数量分析方法。
该方法一般用于评价生产效率或者综合竞争力水平等。

2.预测算法

适用情景

预测、预报、未来形势、走势、变化、效果、未来、影响等…

常用算法:

灰色预测模型

是通过少量的、不完全的信息,建立数学模型并做出预 测的一种预测方法。是处理小样本(4个就可以)预测问题的有效工具, 而对于小样本预测问题回归和神经网络的效果都不太理想。适用于小样本情况下的发展预测问题。

微分方程预测

无法直接找到原始数据之间的关系,但可以找到原始数据 变化速度之间的关系,通过公式推导转化为原始数据之间的关系。微分方 程建模是数学建模的重要方法,因为许多实际问题的数学描述将导致求解 微分方程的定解问题。把形形色色的实际问题化成微分方程的定解问题 。常用于疾病的传播预测、人口数量或城市发展水平预测等。
常用微分方程模型有:传染病模型、理想火箭模型、人口模型(Malthus模型 和Logistic模型)

回归分析预测

是在分析自变量和因变量之间相关关系的基础上,建立 变量之间的回归方程,并将回归方程作为预测模型 。 适用样本数量较少,自变量与因变量间的变化具有明显的逻辑关系。
数学建模编程手如何准备,数学建模,算法,学习,机器学习

代码:多元线性回归matlab实现

马尔科夫预测

对事件的全面预测,不仅要能够指出事件发生的各种可 能结果,而且还必须给出每一种结果出现的概率,说明被预测的事件在预 测期内出现每一种结果的可能性程度。这就是关于事件发生的概率预测。 马尔可夫(Markov)预测法,就是一种关于事件发生的概率预测方法。它是根据事件的目前状况来预测其将来各个时刻(或时期)变动状况的一种 预测方法。马尔可夫预测法是地理预测研究中重要的预测方法之一。
主要用于市场占有率的预测和销售期望利润的预测以及其他商 业领域的预测等。

时间序列预测(必须掌握)

时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序 列的方法构 成数据分析的一个重要领域,即时间序列分析。 时间序列预测法是一种定量分析方法,它是在时间序列变量分析的基础上,运用一定的数学 方法建立预测模型,使时间趋势向外延伸,从而预测未来市场的发展变化趋势,确定变量预 测值 。
常用到的模型:移动平均法、指数平滑法、差分指数平滑法、平稳时间序列模型 :自回归 AR 、移动平均 MA 、ARMA 模型等 。
适用场景:常用在国民经济市场潜量预测、气象预报、水文预报、地震前兆预报、农作物病 虫灾害预报、环境污染控制、生态平衡、天文学和海洋学等方面。

3.分类模型

适用情景

判别、分类、分级、判定、隶属、划分、异常值、识别等…

常用算法:

朴素贝叶斯分类

决策树分类

支持向量机分类

K-means聚类

针对每个点,计算这个点距离所有中心点最近的那个中心点, 然后将这个点归为这个中心点代表的簇。一次迭代结束之后,针对每个簇类, 重新计算中心点,然后针对每个点,重新寻找距离自己最近的中心点。如此循 环,直到前后两次迭代的簇类没有变化。
适用场景:与地理位置有关的分类情形,如地物类别划分、村落划区、语言分 布位置划分等。

层次(系统)聚类

层次聚类也称系统聚类法,是根据个体间距离将个体 向上两两聚合,再将聚合的小群体两两聚合一直到聚为一个整体。计算所有个 体之间的距离,最相近距离的个体合体,不断合体。
适用场景:通常用于行政区域的划分或分级处理等,如根据城市经济指标划分 城市发展等级、根据各类综合指标进行文明城市建设评选等。

模糊聚类

(1)基于模糊关系的分类法:其中包括谱系聚类算法(又称系统聚类法)、基于等价 关系的聚类算法、基于相似关系的聚类算法和图论聚类算法等等。它是研究比较早 的一种方法,它不能适用于大数据量的情况,所以在实际中的应用并不广泛。

(2)基于目标函数的模糊聚类算法:该方法把聚类分析归结成一个带约束的非线性 规划问题,通过优化求解获得数据集的最优模糊划分和聚类。该方法设计简单、解 决问题的范围广,还可以转化为优化问题而借助经典数学的非线性规划理论求解, 并易于计算机实现。

(3)基于神经网络的模糊聚类算法:它是兴起比较晚的一种算法,主要是采用竞争 学习算法来指导网络的聚类过程。

神经网络分类

常用的分类模型为BP神经网络模型,指通过多层神经元系统建立 输入与输出间的非线性映射关系 。
适用场景:适合样本数量较多时的分类问题,常被用于图像地物类别划分。

4.优化模型

适用情景

在约束条件下,通过变量的改变,使目标函数获得更好的结果。 它可以理解为控制变量,或者是一些决定性的参数。matlab规划:求f(x)min

常用算法:

线性规划

线性规划问题是要最小化或最大化一个受限于一组有限的线性约束的线性函数(一次)。适用场景:所建立的目标函数和约束条件均为线性函数。
linprog()
代码:线性规划matlab实现

非线性规划

如果目标函数或者约束条件中至少有一个是非线性函数时,最优化问题叫做非线性规划问题 。适用场景:所建立的目标函数或约束条件存在非线性函数。
fmincon()
代码:非线性规划matlab实现

整数规划

整数规划是指规划中的变量(全部或部分)限制为整数(0-1规划)。适用场景:决策变量的取值只能为整数的情形。intlinprog()
代码:整数规划matlab实现

多目标规划

将多目标统一为最大/最小化目标函数,然后对所有目标函数的量纲进行标准化,加权求和目标函数,得到单目标目标函数,这样便转化为单目标规划问题。

代码:多目标规划matlab实现

动态规划

基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这 些子问题的解得到原问题的解。
• (1)背包问题:对于背包的类型,这边就做个简单的描述:n个物品要放 到一个背包里,背包有个总容量m,每个物品都有一个体积w[i]和价值v[i], 问如何装这些物品,使得背包里放的物品价值最大。

• (2)运输问题:给定m个资源,分配给n个部门,第i个部门获得j个资源 有个盈利值,问如何分配这m个资源能使获得的盈利最大,求最大盈利。

• (3)分割问题:给定一个具有n(n<50)个顶点(从1到n编号)的凸多边 形,每个顶点的权均已知。问如何把这个凸多边形划分成n-2个互不相交 的三角形,使得这些三角形顶点 的权的乘积之和最小。

图论模型

• 最短路模型:主要包括Dijkstra算法和Floyd算法两种,用于求解 两点间的最短距离 • 适用场景:路径规划问题,如修建道路、设定救援路线等
代码:迪杰斯特拉算法matlab实现

• 最大流模型:通常可以把这些边想象成道路,流量就是这条道 路的车流量,容量就是道路可承受的最大的车流量 • 适用场景:企业生产运输问题、交通拥堵优化问题等

• 最小生成树:图的生成树是它的一颗含有其所有顶点的无环连通子图,一 幅加权图的最小生成树(MST)是它的一颗权值(树中的所有边的权值之和) 最小的生成树
• 适用场景:道路规划、通讯网络规划、管道铺设、电线布设等

• 排队论模型:排队论也称随机服务系统理论。它涉及的是建立一些数学模 型,以对随机发生的需求提供服务的系统预测其行为;排队论主要是对服 务系统建立数学模型,研究诸如单位时间内服务系统能够服务的顾客的平 均数、顾客平均的排队时间、排队顾客的平均数等数量规律。
• 适用场景:商店购货、轮船进港、病人就诊、机器等待修理等等。

现代优化算法(启发式算法)

在可以接受的花费下,给出优化问题的可行解。

盲目搜素:蒙特卡洛或枚举法(缺点:运算量大) ,如蒙特卡洛模拟。
启发式算法:利用搜索中获取的信息,来加快搜索的策略,效率高,但容易求得局部最优解,如下面三个和梯度下降。

建模中只学下面三个就足够了

(1)遗传算法
定义:遗传算法(Genetic Algorithms,简称 GA)是一种基于自然选择原理和自然遗传机制的搜索(寻优)算法,它是模拟自然界中的生命进化机制,在人工系统中实现特定目标的优化。遗传算法的实质是通过群体搜索技术,根据适者生存的原则逐代进化,最终得到最优解或准最优解。它必须做以下操作:初始群体的产生、求每一个体的适应度、根据适者生存的原则选择优良个体、被选出的优良个体两两配对,通过随机交叉其染色体的基因并随机变异某些染色体的基因后生成下一代群体,按此方法使群体逐代进化,直到满足进化终止条件。

(2)模拟退火算法
定义:模拟退火算法得益于材料的统计力学的研究成果。统计力学表明材料中粒子的不同结构对应于粒子的不同能量水平。在高温条件下,粒子的能量较高,可以自由运动和重新排列。在低温条件下,粒子能量较低。如果从高温开始,非常缓慢地降温(这个过程被称为退火),粒子就可以在每个温度下达到热平衡。当系统完全被冷却时,最终形成处于低能状态的晶体。

(3)粒子群算法
个体间信息的共享
粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法(Evolutionary Algorithm - EA)。PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。
代码:粒子群算法matlab实现

5.数据预处理模型

适用情景

数据补全、异常值诊断、数据降维、剔除、选取数据、分析数据、分析走势等…
标准化:去除量纲影响
归一化:使数据分布再0-1之间

常用算法:

插值拟合

主要用于对数据的补全处理;
其中样本点较少时(泛指样本点小于30个)采用插值方法,主要有拉格朗日插值算法、牛顿插值、双线性内插和双三次插值 。
当样本点较多时(泛指样本点大于30个)则采用拟合函数。

小波分析,聚类分析(高斯混合聚类,K-均值聚类等等)

主要用于分析诊断数据异常值并进行剔除;
小波分析:适用于时域范围的大样本异常值监测
聚类分析:适用于空间分布的大样本/小样本异常值监测

主成分分析、线性判别分析、局部保留投影

主要用于多维数据的降维处理,减少数据冗余等。
代码:主成分分析matlab实现

均值、方差分析、协方差分析等统计方法

主要用于数据的截取或者特征选择等。文章来源地址https://www.toymoban.com/news/detail-646355.html

到了这里,关于数学建模—编程手算法学习路线(自用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 数学建模学习(9):模拟退火算法

    数学建模学习(9):模拟退火算法

    模拟退火算法(Simulated Annealing, SA)的思想借 鉴于固体的退火原理,当固体的温度很高的时候,内能比 较大,固体的内部粒子处于快速无序运动,当温度慢慢降 低的过程中,固体的内能减小,粒子的慢慢趋于有序,最 终,当固体处于常温时,内能达到最小,此时,粒子最为 稳

    2024年02月14日
    浏览(11)
  • 数学建模美赛E、F题备考策略(自用,大部分复制粘贴)

    数学建模美赛E、F题备考策略(自用,大部分复制粘贴)

    这里要讲一下故事的背景,我们小组三个人都是大一大二的学生,我的队友们都是数学专业的学生,所以比赛中的编程部分就交给了我这样的工业工程系的选手。我们在看完了历年赛题后一直认为:前面的几题我们都很难建立出很棒的模型,因此我们将目光对准E、F两题,希

    2024年01月17日
    浏览(10)
  • python机器学习经典算法代码示例及思维导图(数学建模必备)

    python机器学习经典算法代码示例及思维导图(数学建模必备)

    最近几天学习了机器学习经典算法,通过此次学习入门了机器学习,并将经典算法的代码实现并记录下来,方便后续查找与使用。 这次记录主要分为两部分:第一部分是机器学习思维导图,以框架的形式描述机器学习开发流程,并附有相关的具体python库,做索引使用;第二部

    2024年02月12日
    浏览(13)
  • Mathorcup数学建模竞赛第四届-【妈妈杯】C题:最佳旅游路线的选择模型(附MATLAB代码)

    暑假即将来临,很多家长会选择这个时间带孩子去某城市旅游, 但不同的家庭有不同的需求(人数,费用限制,时间限制等),请您任 选一个旅游城市(比如你所在的城市),综合考虑旅行路线,费用、时 间以及其它你认为比较重要的因素,为有不同需求的家庭设计一份最 佳旅

    2024年02月12日
    浏览(13)
  • 数学建模-建模算法(4)

    python虽然不是完全为数学建模而生的,但是它完整的库让它越来越适合建模了。 - 线性规划:使用scipy.optimize.linprog()函数   - 整数规划:使用scipy.optimize.linprog()函数,并将目标函数系数转换为整数   - 多元规划:使用scipy.optimize.linprog()函数   - 二次规划:使用scipy.optimize

    2024年02月11日
    浏览(12)
  • 数学建模常用软件或编程语言

    数学建模常用软件或编程语言

    MATLAB(Matrix Laboratory)是一种强大的数值计算和科学编程软件。它提供了丰富的数学函数和工具,用于数据分析、算法开发、信号处理、图像处理、控制系统设计、仿真等应用领域。 MATLAB具有直观的语法,使得用户能够快速进行数值计算和数据可视化。用户可以使用MATLAB进行

    2024年02月03日
    浏览(10)
  • 数学建模-退火算法和遗传算法

    数学建模-退火算法和遗传算法

    退火算法和遗传算法 一.退火算法 退火算法Matlab程序如下: [W]=load(\\\'D:100个目标经度纬度.txt\\\'); 二、遗传算法 [E]=xlsread(\\\'D:100个目标经度纬度\\\');  % 加载敌方 100 个目标的数据, 数据按照表格中的位置保存在纯文本文件 sj.txt 中 x=[E(:,1)]; y=[E(:,2)]; e =[x y]; d1=[70,40]; e =[d1;  e ;d1];

    2024年02月20日
    浏览(17)
  • 数学建模——插值算法

    数学建模——插值算法

    概念:数模比赛中,常常需要根据有已知的函数点进行数、模型处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,“模拟产生“一些新的但又比较靠谱的值来满足需求,这就是插值的作用。 一维插值问题: 通过已有的点

    2024年02月16日
    浏览(12)
  • 数学建模 插值算法

    数学建模 插值算法

    有问题 牛顿差值也有问题 它们都有龙格现象,一般用分段插值。 插值预测要比灰色关联预测更加准确,灰色预测只有2次 拟合样本点要非常多,样本点少差值合适

    2024年02月16日
    浏览(9)
  • 数学建模之插值算法

    数学建模之插值算法

    注:本文面向应用,参考了清风大大的资料以及司守奎老师的《数学建模算法与应用》,属作者的个人学习总结。 当已知函数点非常少的时候,我们经常要 模拟产生一些新的函数值 来支撑后续数据分析。这就是插值算法的应用目的。*插值算法还可以用来实现短期预测,但我

    2024年01月24日
    浏览(17)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包