优秀数学建模论文:1.基于聚类分析的双目标优化定价模型

1.题目

 

 

 2.分析

数学建模的基本题型


一.四大类

1.预测类

指的是通过分析已有的数据或者现象,找出其内在发展规律,然后对未来情形做出预测的过程。
根据已知条件和求解目的,往往将预测类问题分为:
小样本内部预测,大样本内部预测,小样本未来预测,大样本随机因素或周期特征的未来预测,大样本的未来预测。
(分析:预测问题主要是以某个小问的形式出现,很少有整个赛题所有小问全是预测要求的,但是也建议认真对待)

2.评价类

指的是按照一定的标准对事物的发展或者现状进行划分的过程在数学建模中题点可体现在对生态环境,社会建设,方案策略等进行评价。评价类赛题往往没有明确的指标体系和评价标准,往往是需要查阅各类资料进行构建的,因此评价类赛题也没有明确的答案。
(分析:解决评价类赛题的关键是指标体系的构建,构建完评价体系后在选择合适的评价方法即可,体系建立应秉承全面,准确,独立的三要素)

3.机理分析类赛题

所机理分析是根据对现实对象特性的认识,分析其因果关系,找出反映内部机理的规律。在求解机理分析类问题时首先需要探寻与问题相关的物理,化学,经济等相关的知识,然后通过对已知数据或现象的分析对事物的内在规律做出必要的假设,最后通过构建合适的方程或关系式对其内在规律进行数值表达。
(分析:机理分析立足于建立事物内部的规律,相对于其他类型的赛题均有章可循,机理分析类赛题往往需要结合众多关联知识才可以进行求解,如空气动力学,流体力学,热力学等)

4.优化类

指在现有现有条件固定的情况下,如何使目标效果达到最佳。如在一座城市公交车公司拥有的公交车数量是固定的,问如何安排线路能够使盈利达到最高。优化类问题往往需要分析三个关键因素:目标函数,决策变量和约束条件,三者往往缺一不可。
(分析:解决优化类赛题必须知道优化的目的,约束的条件和所求解的关键变量,需要有较强的编程能力和赛题分析挖掘能力)

题目为2,3,4类问题

三.论文分析

3.1 问题一的分析

针对问题一,对项目的任务定价规律进行定性与定量研究。利用 Matlab 的 cftool 工具箱绘制出任务的经纬度坐标与定价数据的三维拟合图,观察到任务 分布密集的地区任务定价较低。对任务的位置数据进行空间离散化处理和 K-Means 分析,将任务分布的区域等划分为若干网格区域,定义影响任务定价的 四个因子,即网格内任务数量、会员人数、会员平均完成能力、任务与中心点的 距离。运用灰色关联矩阵定量分析四个影响因子与定价的相关度,分别为 0.9710,0.9671,0.9633,0.9390。得出所定义的指标对定价相关性很高,能较好 描述定价规律。最后通过比较未完成任务与已完成任务的相关度矩阵得出距离对 任务的完成的影响是最显著的。

 聚类分析的一种:K-means算法

K-means是一种常见的聚类算法,它常用于对数值型数据进行聚类分析。K-means算法将n个样本点分成k个类别,通过求解所有样本点到各个类别中心的距离最小化来找到最佳分组方式。其中K代表分类数目。

K-means算法的基本流程如下:

  1. 随机选取K个样本作为初始聚类中心;
  2. 根据每个样本与聚类中心之间的距离,将每个样本归入距离最近的聚类中心所在的类别;
  3. 计算每个类别新的聚类中心,即将上一步中归入该类别的所有样本在各个属性上求平均得到的向量;
  4. 重复步骤2和3,直到聚类中心不再改变或达到预设的最大迭代次数为止。

K-means算法的优点在于计算速度快、易于理解和实现。但是其结果容易受到初始中心点位置的影响,同时需要手动指定分类数目K。因此,在应用K-means算法时需要注意选择合适的K值以及合理的初始中心点位置。

K-means算法可以应用于许多领域,例如图像处理、文本挖掘和市场营销等。在图像处理中,K-means算法可以对图像进行分割,抠出感兴趣的对象;在文本挖掘中,K-means算法可以对文本内容和主题进行分类,帮助用户查找与自己相关的信息;在市场营销中,K-means算法可以针对不同类型的消费者进行分组,开展定向营销等活动。

 

K-means是一种常见的聚类算法,它常用于对数值型数据进行聚类分析。K-means算法将n个样本点分成k个类别,通过求解所有样本点到各个类别中心的距离最小化来找到最佳分组方式。其中K代表分类数目。

K-means算法的基本流程如下:

  1. 随机选取K个样本作为初始聚类中心;
  2. 根据每个样本与聚类中心之间的距离,将每个样本归入距离最近的聚类中心所在的类别;
  3. 计算每个类别新的聚类中心,即将上一步中归入该类别的所有样本在各个属性上求平均得到的向量;
  4. 重复步骤2和3,直到聚类中心不再改变或达到预设的最大迭代次数为止。

K-means算法的优点在于计算速度快、易于理解和实现。但是其结果容易受到初始中心点位置的影响,同时需要手动指定分类数目K。因此,在应用K-means算法时需要注意选择合适的K值以及合理的初始中心点位置。

K-means算法可以应用于许多领域,例如图像处理、文本挖掘和市场营销等。在图像处理中,K-means算法可以对图像进行分割,抠出感兴趣的对象;在文本挖掘中,K-means算法可以对文本内容和主题进行分类,帮助用户查找与自己相关的信息;在市场营销中,K-means算法可以针对不同类型的消费者进行分组,开展定向营销等活动。

 

 

 

 

 

下面以消费者分组为例来说明K-means算法的具体应用场景:

假设一个零售商店希望将其客户按照其购买偏好进行分类,制定不同的营销策略。该店有一份包括客户购买历史信息和基本资料的数据集合,其中每个样本代表一个客户,包括以下几个属性:

  • 购买总额
  • 月均购买次数
  • 平均每次购买金额

使用K-means算法可以对这些客户进行聚类分析,得出不同类型的消费者群体,并据此制定相应的营销策略。

首先需要选择合适数量的类别(K值),可以采用“肘部法则”或轮廓系数等方法确定最佳的K值。

然后,根据所选的K值,随机初始化K个聚类中心,使用K-means算法对所有客户进行迭代聚类操作,直到达到预定的停止标准,比如最大迭代次数或聚类中心稳定不变。

最终,将客户根据聚类结果进行分类,例如,将某些客户归为高价值用户(购买总额、平均每次购买金额都高于平均水平),将另一些客户归为低价值用户(购买总额、平均每次购买金额都低于平均水平)等。根据不同类型的客户,制定不同的营销策略,比如推出不同的促销活动或打折方式,以增加销售量和提高客户满意度。

 

 

 

 

 

 

 

Kmeans通常选择均方差作为收敛准则函数,即通过最小化各聚类中心与其包含的样本点之间的距离平方和来确定聚类结果。具体而言,Kmeans算法按照以下步骤进行:

  1. 随机初始化k个聚类中心。
  2. 将每个样本点分配到距该点最近的聚类中心所在的簇。
  3. 对于每个簇,重新计算其中所有样本点的平均值,并将这些平均值设置为新的聚类中心。
  4. 检查新的聚类中心是否发生变化,若未变化,则算法收敛,输出最终聚类结果;否则返回第2步,继续执行直至收敛。

对于Kmeans算法,均方差可作为收敛准则函数,即对每个簇i计算其内部样本的距离平方和Si,然后将所有簇内的距离平方和加起来得到总平方和S。随着迭代次数的增加,S逐渐减小,直至达到最小值,此时算法收敛并输出最终聚类结果。

 3.2 问题二的分析

 问题二的新的定价方案设计问题实际上是一个优化问题。由于附件一中任务 定价存在某种不合理性导致了任务完成率低下,从企业定价的角度考虑,一个较 优的定价方案应当让企业花费尽可能少的成本去得到更多的市场调查信息。因此, 我们将设计新的定价方案看做一个双目标优化问题,即在各种约束条件下设计出 一个可以使得成本最小化、任务完成率最大化的定价方案。 在考虑最优定价方案时,不能完全从发布任务的企业角度来考虑,应当考虑 到现实中任务被会员预定的过程中存在的规则。当企业发布任务数据后,不是任 务挑选会员,而是会员挑选任务。该问题的难点便在于同时从企业和会员的两个 角度进行考虑,将复杂的任务预定规则一一转化为约束条件。由于每个会员都有 对应的信誉值以及任务开始预定时间和预定限额,并且信誉值越高,越优先挑选 任务。我们按照时间顺序,依次对任务预定的时间点进行分析。建立每个任务对 每位会员的吸引度矩阵,设立每个任务的吸引度阈值,设定约束条件,求解双目 标优化模型。

这个题目我认为可以拿非线性规划来写,不做赘述。 

3.3 问题三的分析 

问题三考虑到将位置比较集中的任务联合打包分布,因此,首先应当基于任 务的经纬度信息,给出一个合理的打包方案,即如何判断哪些任务应当被打包发 布。我们利用聚类分析法的思想,依据任务的地理坐标对任务进行分类,确定一 个合理的打包方案。 依据打包方案将任务进行联合打包后,问题三实质上就可以转化为大致等同 于问题二的双目标优化定价模型,要想对前面的定价模型进行修改,首先要明确 将任务打包处理后会对哪些因素产生影响从而影响到定价。经分析可知打包处理 后的任务与之前的任务相比,任务与会员之间的距离矩阵、任务对会员的吸引度 矩阵、任务吸引度阈值均会发生改变,从而影响到优化定价模型的约束条件,最 终将影响目标函数的求解,即定价方案。我们基于双重聚类分析给出的打包方案 求解出新的距离矩阵、吸引度矩阵以及阈值,对前面的定价方案进行修改,给出 任务联合打包发布情况下的优化定价方案。 

同问题一为聚类分析 ,不做赘述。

3.4 问题四的分析 

问题四要求给出附件三中的新项目的任务定价方案,任务数据只有位置信息。 考虑任务定价方案基于模型三的定价模型。模型三的结果与决策变量之间存在潜 在机制,找到模型三影响定价与完成情况的因子之后,把影响因子的数值与定价、 完成情况作为 BP 神经网络的训练样本,从而建立 BP 神经网络预测模型,仿照 模型一和模型三,对新任务分别进行聚类分析,得到影响因素的值,并作为神经 网络预测样本。然后通过预测就能够得到新任务打包下的定价以及相应完成情况 

预测 评价类

1 BP神经网络概念

首先从名称中可以看出,Bp神经网络可以分为两个部分,bp和神经网络。bp是 Back Propagation 的简写 ,意思是反向传播。

BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小

其主要的特点是:信号是正向传播的,而误差是反向传播的。

举一个例子,某厂商生产一种产品,投放到市场之后得到了消费者的反馈,根据消费者的反馈,厂商对产品进一步升级,优化,一直循环往复,直到实现最终目的——生产出让消费者更满意的产品。产品投放就是“信号前向传播”,消费者的反馈就是“误差反向传播”。这就是BP神经网络的核心

 

2 算法流程图 

 

3 神经元模型 

 

 每个神经元都接受来自其它神经元的输入信号,每个信号都通过一个带有权重的连接传递,神经元把这些信号加起来得到一个总输入值,然后将总输入值与神经元的阈值进行对比(模拟阈值电位),然后通过一个“激活函数”处理得到最终的输出(模拟细胞的激活),这个输出又会作为之后神经元的输入一层一层传递下去。

4 激活函数:

引入激活函数的目的是在模型中引入非线性。如果没有激活函数(其实相当于激励函数是f(x) = x),那么无论你的神经网络有多少层,最终都是一个线性映射,那么网络的逼近能力就相当有限,单纯的线性映射无法解决线性不可分问题。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络表达能力就更加强大

BP神经网络算法常用的激活函数:

1)Sigmoid(logistic),也称为S型生长曲线,函数在用于分类器时,效果更好。

2)Tanh函数(双曲正切函数),解决了logistic中心不为0的缺点,但依旧有梯度易消失的缺点。

3)relu函数是一个通用的激活函数,针对Sigmoid函数和tanh的缺点进行改进的,目前在大多数情况下使用

5 神经网络基础架构

BP网络由输入层、隐藏层、输出层组成。

输入层:信息的输入端,是读入你输入的数据的

隐藏层:信息的处理端,可以设置这个隐藏层的层数(在这里一层隐藏层,q个神经元)

输出层:信息的输出端,也就是我们要的结果

v,w分别的输入层到隐藏层,隐藏层到输出层的是权重

对于上图的只含一个隐层的神经网络模型:BP神经网络的过程主要分为两个阶段,第一阶段是信号的正向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。

6 正向传播过程

正向传播就是让信息从输入层进入网络,依次经过每一层的计算,得到最终输出层结果的过程。在上面的网络中,我们的计算过程比较直接,用每一层的数值乘以对应的权重+偏置变量(激活函数)

从输入层到隐藏层:

从隐藏层到输出层:‘

 

以y1举例。y1里的输出自然有来自b1,b2,...bq的。那么分别按照权重去乘就可以了。

 

类似的我们可以求解出y2——yl

因为参数是随机的,所以第一次计算出的结果跟真实的结果会有一个非常大的误差,所以我们需要根据误差去调整参数,让参数可以更好的去拟合,直到误差达到最小值,这时就需要模型的反向传播==

7 反向传播过程

基本思想就是通过计算输出层与期望值之间的误差来调整网络参数,从而使得误差变小

计算误差公式如下:(差值的平方)

 

如何调整权重的大小,才能使损失函数不断地变小呢?这里给大家介绍几种常用的方法:

  • 梯度下降法:从几何意义讲,梯度矩阵代表了函数增加最快的方向,因此,沿着与之相反的方向就可以更快找到最小值
  • sgd:在梯度下降法基础上,sgd对单个训练样本进行参数更新,加快收敛速率。
  • adam:在梯度下降法基础上,通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率,加快收敛速率
  • lbfgs:sgd,Adam等都是在一阶法(梯度下降法)的基础上进行改进,加快收敛速率。而lbfgs在二阶泰勒展开式进行局部近似平均损失的基础上进行改进的,以降低了迭代过程中的存储量,加快收敛速率。

权重反向更新:

 

称为学习率,可以调整更新的步伐,合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。

 

学习率设置太小,结果收敛非常缓慢;学习率设置太大,结果在最优值附近徘徊,难以收敛,一般选取为0.01−0.8

至此,我们完成了一次神经网络的训练过程,通过不断的使用所有数据记录进行训练,从而得到一个分类模型。不断地迭代,不可能无休止的下去,总归有个终止条件。

  • 设置最大迭代次数,比如使用数据集迭代100次后停止训练
  • 计算训练集在网络上的预测准确率,达到一定门限值后停止训练

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值