当前位置:   article > 正文

数学建模常见算法的通俗理解(1)_熵减法数学建模

熵减法数学建模

目录

1.层次分析法(结合某些属性及个人倾向,做出某种决定)

1.1 粗浅理解

 1.2 算法过程

1.2.1 构造判断矩阵

1.2.2 计算权重向量

1.2.3 计算最大特征根

1.2.4 计算C.I.值

 1.2.5 求解C.R.值

1.2.6 判断一致性

1.2.7 计算总得分

2 神经网络(正向流通反向反馈,调整系数,预测结果)

2.1 粗浅理解

2.2 算法过程

2.2.1 划分数据集

2.2.2 前向传播及反向调整系数(利用梯度下降法)

 3 决策树(通过若干属性,并进行合理排序,最快做出分类)

3.1 粗浅理解

3.2 算法过程

3.2.1 随机分配属性顺序,计算熵值

3.2.2 条件熵的计算 

3.2.3 根据不同的评选方法,得出最优决策树

3.2.4 连续值处理

3.2.5 剪枝处理

​3.2.6 补充:K折交叉验证

3.2.7 补充:过拟合和欠拟合

4 拟合与插值(回归预测)

5  时间序列预测(体现时间连续性)

5.1 粗浅理解

5.2 常见方法

5.2.1 朴素预测法(Naive Forecast)

5.2.2  简单平均法(Simple Average)

5.3.3  移动平均法(Moving Average)

5.2.4  加权移动平均(Weighted Moving Average)

5.2.5 简单指数平滑法 (Simple Exponential Smoothing)

5.2.6  霍尔特线性趋势法

5.2.7  Holt-Winters方法(三次指数平滑) ​​​​​​​


1.层次分析法(结合某些属性及个人倾向,做出某种决定)

1.1 粗浅理解

举一个例子:我们想选择一个旅游地,对于不用的旅游地有不同属性,而且我们对于不同的属性也有不同的倾向(比如旅游地有景点和旅途两个属性,每个旅游地的属性好坏不同,而且我们可能在选择旅游地时更倾向于景点或旅途,这样得出的决策就会更符合自身实际)

层次分析法就是将一个决策事件分解为目标层(例如选择旅游地),准则层(影响决策的因素,例如景点、旅途等)以及方案层(指的是方案,例如去某地旅游)

层次分析法大致有如下过程:

 1.2 算法过程

1.2.1 构造判断矩阵

构造判断矩阵就是通过各要素之间相互两两比较,并确定各准则层对目标层的权重。

简单地说,就是把准则层的指标进行两两判断,通常我们使用Santy的1-9标度方法给出。

初始表格如下(每个属性对于自身的重要性为1): 

 如果我们认为属性2比属性1明显重要,那么:

以此类推,当我们填完这个表格,判断矩阵A就构造出来了

1.2.2 计算权重向量

简单来说,就是将判断矩阵A的列向量归一化,然后求行和得出矩阵后再归一化,这时我们得到一个n行1列的权重向量矩阵W 

1.2.3 计算最大特征根

根据公式:

1.2.4 计算C.I.值

根据公式:

 1.2.5 求解C.R.值

根据公式:

其中R.I.值我们可以查表得知

1.2.6 判断一致性

C.R.<0.1 时,表明判断矩阵 A 的一致性程度被认为在容许的范围内,此时可用 A 的特征向量开展权向量计算;若 C.R.≥0.1, 说明我们在构建判断矩阵时出现了逻辑错误,这个时候,我们需要对判断矩阵 A 进行修正。

1.2.7 计算总得分

利用权重及得分矩阵来计算,最后得分最高的即为决策方案

2 神经网络(正向流通反向反馈,调整系数,预测结果)

2.1 粗浅理解

  1. 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;
  2. 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
  3. 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。  

 大致过程:

2.2 算法过程

2.2.1 划分数据集

大部分用来做训练集训练模型,小部分用来做验证集和测试集证明模型的完备性(可以没有验证集,只不过准确度会稍差一点)

2.2.2 前向传播及反向调整系数(利用梯度下降法)

 

注:这里的S函数是激活函数

 3 决策树(通过若干属性,并进行合理排序,最快做出分类)

3.1 粗浅理解

决策树(Decision Tree)是一种分类和回归方法,是基于各种情况发生的所需条件构成决策树,以实现期望最大化的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。它的运行机制非常通俗易懂,因此被誉为机器学习中,最“友好”的算法。下面通过一个简单的例子来阐述它的执行流程。假设根据大量数据(含 3 个指标:天气、温度、风速)构建了一棵“可预测学校会不会举办运动会”的决策树(如下图所示)。
 

接下来,当我们拿到某个数据时,就能做出对应预测。

在对任意数据进行预测时,都需要从决策树的根结点开始,一步步走到叶子结点(执行决策的过程)。如,对下表中的第一条数据( [ 阴天,寒冷,强 ] ):首先从根结点出发,判断 “天气” 取值,而该数据的 “天气” 属性取值为 “阴天”,从决策树可知,此时可直接输出决策结果为 “举行”。这时,无论其他属性取值为什么,都不需要再执行任何决策(类似于 “短路” 现象)。
 

 决策树的组成:

决策树由结点和有向边组成。结点有两种类型:内部结点(圆)和叶结点(矩形)。其中,内部结点表示一个特征(属性);叶结点表示一个类别。而有向边则对应其所属内部结点的可选项(属性的取值范围)。

 在用决策树进行分类时,首先从根结点出发,对实例在该结点的对应属性进行测试,接着会根据测试结果,将实例分配到其子结点;然后,在子结点继续执行这一流程,如此递归地对实例进行测试并分配,直至到达叶结点;最终,该实例将被分类到叶结点所指示的结果中。

但是,对于每一个属性做出决定的先后顺序没有进行解释

3.2 算法过程

3.2.1 随机分配属性顺序,计算熵值

构建决策树的实质是对特征进行层次选择,而衡量特征选择的合理性指标,则是熵。为便于说明,下面先给出熵的定义:设

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/911505
推荐阅读
相关标签