大数据分析方法与应用 课后习题及答案 耿秀丽_第1页
大数据分析方法与应用 课后习题及答案 耿秀丽_第2页
大数据分析方法与应用 课后习题及答案 耿秀丽_第3页
大数据分析方法与应用 课后习题及答案 耿秀丽_第4页
大数据分析方法与应用 课后习题及答案 耿秀丽_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章课后习题及答案1.大数据的4V特征是什么?Volume(体量巨大)、Variety(种类繁多)、Velocity(处理速度快)和Value(价值密度低)是大数据的4个主要特征。2.请简述大数据处理流程。大数据分析是一个目的明确的过程,其过程概括起来主要包括:目标确定、数据收集、数据预处理、数据挖掘、数据建模与分析、数据可视化、结果分析和报告。3.分布式计算在大数据分析中有哪些作用?提高计算效率、提高系统可靠性、实现更高的扩展性、降低计算成本。4.你认为在5G时代下大数据还有哪些新应用?(1)“大国粮仓”龙江5G数字农场(北大荒)中国联通“大国粮仓”5G数字农场项目,基于中国联通5G网络,应用于北大荒农场,打造世界先进的5G数字农场,打通“人、地、机、物、环”生产作业全要素,贯穿“耕种管收”全环节,以生产经营管理为核心,搭建“1+1+N”架构,即1张5G核心网,完成农业生产“感联智控”;1个农业智脑,整合物联、数据、业务、AI、GIS等中台,进行统一的平台支撑和智能服务;聚焦“黑土地保护+无人化作业”形成“N”项5G智慧农业应用,激活农业发展要素资源,提高生产效率,降低生产成本,实现黑土地防治管护、无人农机智能作业等全方位创新场景,实现水、肥、药施用量节约20%以上,人力成本降低10%以上,每亩增产5-10%。通过5G赋能万亩良田,设施、装备、机械数字化、智能化改造,实现全产业链智慧农业。(2)5G助力天津港打造智慧、绿色的世界一流港口天津港是京津冀的海上门户,是“一带一路”的战略支点,也是中国联通在港口领域重要战略合作伙伴之一。天津联通携手天津港匠心打造5G智慧港口,采用“边生产、边改造”的建设方式,相继攻克世界性智慧港口建设诸多难题,落地了5G智能无人集卡、5G岸桥远程控制、5G智能理货、5G智能加解锁站、四大5G创新应用场景,成为全球首个获批建设的港口自动驾驶示范区、实现全球首个无人集卡场景下陆侧“一键着箱”、实现国内首家集装箱智能理货系统内外理一体化运行、建成全球首台集装箱地面智能解锁站、建成全球首个集装箱设备任务集成管理系统ETMS。5.请举例说明生活中大数据的应用。

第2章课后习题及答案1.总体和样本的定义?答案:总体是具有特定属性的对象的全体,样本是某个总体的一部分。2.区分以下数据哪些是总体,哪些是样本?(1)从某大学6000个宿舍中随机抽查100间宿舍进行安全检查。(2)从一批灯泡中随机挑选20个抽样检查。(3)对某小区所有的老人进行身体检查。答:(1)(2)是样本;(3)是总体3.定性数据和定量数据的定义?答:定性数据(也称为名义数据)是一种用于描述各种类别或属性的数据。它们表示不同的类型,但没有排序或量化关系。定性数据仅提供了有关事物所属类别的信息,而不提供数量或程度的度量;定量数据是以数字表现的数据,它可以被测量、计算和比较。在研究中,定量数据常用于收集、分析和解释现象和事实。4.截面数据和时间序列数据的定义?答:截面数是指在同一时间点上对某个总体进行测量所得到的数据。这种数据收集方法通常是在同一时间点上进行的,因此被称为截面数据;时间序列数据是一种按时间顺序排列的观测值的集合,这些观测值通常按照固定的时间间隔采集。5.协方差和相关系数的定义?答:协方差是描述两个随机变量之间关系的统计量。它用于衡量两个变量在同一时间段内的变动趋势是否同向或相反;相关系数定量地刻画两个随机变量的相关程度。

第3章课后习题及答案1.设SSR=36,SSE=4,n=18。(1)计算判定系数R2并解释其意义。(2)计算估计标准误差Se并解释其意义。解:(1)R2=90%表示在因变量y取值的变差中,有90%可以由x与y之间的线性关系来解释。(2)Se=0.5表示,当用x来预测y时,平均的预测误差为0.5。2.下面是7个地区2000年的人均国内生产总值(GDP)和人均消费水平的统计数据:表3-82000年统计数据地区人均GDP/元人均消费水平/元北京224607326辽宁112264490上海3454711546江西48512396河南54442208贵州26621608陕西45492035求:(1)人均GDP作自变量,人均消费水平作因变量,绘制散点图,并说明二者之间的关系。(2)计算两个变量之间的线性相关系数,说明两个变量之间的关系强度。(3)求出估计的回归方程,并解释回归系数的实际意义。(4)计算判定系数,并解释其意义。(5)检验回归方程线性关系的显著性()。(6)如果某地区的人均GDP为5000元,预测其人均消费水平。(7)求人均GDP为5000元时,人均消费水平95%的置信区间和预测区间。解:(1)可能存在线性关系。(2)相关系数:表3-9系数a模型非标准化系数标准系数T显著性相关性B标准误差Beta零阶偏部分1常量734.693139.5405.2650.003人均GDP0.3090.0080.99836.4920.0000.9980.9980.998a因变量:人均消费水平有很强的线性关系。(3)回归方程:y=734.693+0.309x。回归系数的含义:人均GDP每增加1元,人均消费增加0.309元。(4)表3-10模型汇总模型RR2调整R2标准估计的误差10.998a0.9960.996247.303a预测变量(常量):人均GDP。人均GDP对人均消费的影响达到99.6%。(5)F检验:表3-11ANVOA模型平方和df均方FSig.1回归81444968.680181444968.6801331.6920.000残差305795.034561159.007总计81750763.7146a预测变量:(常量),人均GDP。b因变量:人均消费水平。回归系数的检验:表3-12t检验模型非标准化系数标准系数t显著性相关性B标准误差Deta零阶偏部分1常量734.693139.5405.2650.003人均GDP0.3090.0080.99836.4920.0000.9980.9980.998a因变量:人均消费水平。(6)某地区的人均GDP为5000元,预测其人均消费水平为:y=734.693+0.309×5000=2278.693(元)(7)人均GDP为5000元时,人均消费水平95%的置信区间为[1990.74915,2565.46399],预测区间为[1580.46315,2975.74999]。3.从n=20的样本中得到的有关回归结果是:SSR=60,SSE=40.要检验x与y之间的线性关系是否显著,即检验假设:H0:β1=0。求:(1)线性关系检验的统计量F值是多少?(2)给定显著性水平=0.05,是多少?(3)是拒绝原假设还是不拒绝原假设?(4)假定x与y之间是负相关,计算相关系数r。(5)检验x与y之间的线性关系是否显著?解:(1)SSR的自由度为k=1;SSE的自由度为n-k-1=18;因此。(2)(3)拒绝原假设,线性关系显著。(4),由于是负相关,因此r=0.7746。(5)从F检验看线性关系显著。4.以下是某地搜集到的新房屋的销售价格y和房屋的面积x的数据:房屋面积(m2)11511080135105销售价格(万元)24.821.618.429.222求:(1)画出数据对应的散点图。(2)求线性回归方程,并在散点图中加上回归直线。(3)据(2)的结果估计当房屋面积为150m2时的销售价格。(4)求第2个点的残差。解:(1)数据对应的散点图如图所示:图3-24销售价格与房屋面积散点图(2),,,。设所求回归直线方程为,则,,故所求回归直线方程为。(3)据(2),当x=150m2时,销售价格的估计值为:(万元)5.某汽车生产商欲了解广告费用x对销售量y的影响,收集了过去12年的有关数据。通过计算得到下面的有关结果:表3-13方差分析表变差来源dfSSMSFSignificanceF回归2.17E—09残差40158.07———总计111642866.67——表3-14参数估计表Coefficients标准误差tStatP-valueIntercept363.689162.455295.8231910.000168XVariablel1.4202110.07109119.977492.17E—09求:(1)完成上面的方差分析表。(2)汽车销售量的变差中有多少是由于广告费用的变动引起的?(3)销售量与广告费用之间的相关系数是多少?(4)写出估计的回归方程并解释回归系数的实际意义。(5)检验线性关系的显著性(a=0.05)解:(1)变差来源dfSSMSFSignificanceF回归11602708.61602708.6399.10000652.17E—09残差1040158.074015.807——总计111642866.67———(2)R2=0.9756,汽车销售量的变差中有97.56%是由于广告费用的变动引起的。(3)r=0.9877。(4)回归系数的意义:广告费用每增加一个单位,汽车销量就增加1.42个单位。(5)回归系数的检验:p=2.17E—09<阿尔法,回归系数不等于0,显著。回归直线的检验:p=2.17E—09<阿尔法,回归直线显著。6.根据两个自变量得到的多元回归方程为,并且已知n=10,SST=6724.125,SSR=6216.375,,。求:(1)在a=0.05的显著性水平下,x1,x2与y的线性关系是否显著?(2)在a=0.05的显著性水平下,是否显著?在a=0.05的显著性水平下,是否显著?解:(1)回归方程的显著性检验:假设:H0:H1:,不全等于0SSE=SST-SSR=6724.125-6216.375=507.75,,认为线性关系显著。(2)回归系数的显著性检验:假设:H0:H1:,,认为y与x1线性关系显著。(3)回归系数的显著性检验:假设:H0:H1:,,认为y与x2线性关系显著。7.根据下面输出的回归结果,说明模型中设计多少个自变量,多少个观察值?写出回归方程,并根据F,Se,R2及调整的Ra2的值对模型进行讨论。表3-15Summaryoutput回归统计MultipleR0.842407RSquare0.709650AdjustedRSquare0.630463标准误差109.429596观测值15表3-16方差分析dfSSMSFSignificanceF回归3321946.8018107315.60068.9617590.002724残差11131723.198211974.84总计14453670Coefficients标准误差tStatP-valueIntercept657.0534167.4595393.9236550.002378XVariable15.7103111.7918363.1868490.008655XVariable2-0.4169170.322193-1.2939980.222174XVariable3-3.4714811.442935-2.4058470.034870解:自变量3个,观察值15个。回归方程:拟合优度:判定系数R2=0.70965,调整的=0.630462,说明三个自变量对因变量的影响的比例占到63%。回归方程的检验:F检验的p=0.002724,在显著性为5%的情况下,整个回归方程线性关系显著。回归系数的检验:的t检验的p=0.008655,在显著性为5%的情况下,y与x1线性关系显著。的t检验的p=0.222174,在显著性为5%的情况下,y与x2线性关系不显著。的t检验的p=0.034870,在显著性为5%的情况下,y与x3线性关系显著。因此,可以考虑采用逐步回归去除x2,重新构建线性回归模型。

第4章课后习题及答案1.在对变量进行分类时,度量变量之间的相似性常用的相似性系数有:夹角余弦和相关系数两种。2.常用的系统聚类方法主要有以下八种:最短距离法、最长距离法、中间距离法、重心法、类平均法、可变类平均法、可变法和离差平方和法。3.简述K-Means算法的具体步骤。(1)数据预处理,包括归一化、离群点、异常值等的处理。(2)随机选取K个簇中心。(3)定义代价函数,或者说定义分配原则。(4)令t=0,1,2,…不断迭代,重复下面过程直到代价函数收敛:将每个样本分配到距离最近的簇,并重新计算该类簇的中心。(5)得到K个聚类。(6)结束。4.K-Means算法的优缺点是什么?如何对其进行调优?优点:(1)该算法是解决聚类问题的一种经典算法,简单、快速。(2)对处理大数据集,该算法是相对可伸缩和高效率的。(3)因为他的复杂度是O(n,k,t),其中n是所有对象的数目,k是簇的数目,t是迭代的次数。通常k<<n且t<<n。不同于其他算法,K-Means最大的优点是K值可以根据实际需求自行调节,以达到控制类簇内样本点数量的目的。(4)当结果簇是密集的,而簇与簇之间区别明显时,它的效果较好。缺点:(1)在簇的平均值被定义的情况下才能使用,这对于处理符号属性的数据不适用。(2)必须事先给出k(要生成的簇的数目),而且对初值敏感,对于不同的初始值,可能会导致不同结果。经常发生得到次优划分的情况。解决方法是多次尝试不同的初始值。(3)它对于“躁声”和孤立点数据是敏感的,少量的该类数据能够对平均值产生极大的影响调优:(1)数据归一化:K均值聚类本质上是一种基于欧式距离度量的数据划分方法,均值和方差大的维度将对数据的聚类结果产生决定性的影响,所以未做归一化处理和统一单位的数据是无法直接参与运算和比较的。(2)离群点处理:离群点或者少量的噪声数据就会对均值产生较大的影响,导致中心偏移,因此使用K均值聚类算法之前通常需要对数据做预处理。5.K最近邻算法的三要素是什么?距离度量、k值选择和分类决策规则。6.简述模糊C-均值的优缺点。优点:(1)能够有效地解决重叠现象问题,在多类别数据分类和图像分割等领域具有比较好的应用前景。(2)通过迭代计算,能够实现对数据集的自动分类,自动化程度高。缺点:(1)算法的时间复杂度比较高,需要进行多次迭代计算,因此在数据量较大时,运算时间比较长。(2)模糊c均值聚类算法对于初始聚类中心的选择较为敏感,不同的聚类中心初始化可能会导致最终分类效果的不同。综上所述,模糊c均值聚类算法在多类别数据分类和图像分割等领域具有广泛应用前景,但是在某些领域中,其在分类结果的稳定性和时间效率方面存在一定的局限性,因此在具体应用过程中,需要针对实际问题进行具体分析和选择。

第5章课后习题及答案1.如何计算两个用户之间的相似度?解答:假设有两个用户A和B,评分矩阵为M。如果我们把向量A和向量B看成是空间中的两个点,则可以使用余弦相似度来计算两个用户之间的相似度。具体而言,余弦相似度可以定义为两个向量的点积与它们的模长的乘积的比值,即:cos(A,B)=(A·B)/(||A||·||B||)其中,A·B表示向量A和向量B的点积,即ΣAi·Bi。||A||表示向量A的模长,即sqrt(ΣAi^2)。使用这个公式,我们可以很容易地计算出两个用户之间的相似度。2.如果一个用户没有对任何物品进行评分,如何为该用户生成推荐列表?解答:这个问题通常称为"冷启动"问题。一个方法是利用用户的个人信息或者社交网络等信息来推断该用户的兴趣偏好,并生成相应的推荐列表。另一个方法是引入物品的内容信息(如物品的标签、描述等),从而对物品进行分类,把分类结果作为新用户的参考标准,然后为新用户推荐与该分类相似度较高的商品。3.如何使用交叉验证来评估协同过滤算法的性能?解答:交叉验证是一个常用的评估机制,它可以用来估计预测模型的精确度和泛化误差。在交叉验证中,我们将数据集拆分成k折(通常取5或10),然后重复进行k次实验。每次实验中,我们挑选其中一折作为测试集,剩余的折作为训练集,然后训练模型并对测试集进行预测,得到评价指标;最终,将k次实验的评价指标平均,即为最终的评价结果。例如,我们可以将用户-物品评分矩阵拆分成5折,在每个实验中,将4折作为训练集,1折作为测试集。然后在测试集上运行模型,并计算评价指标,如准确率、召回率、覆盖率等。最后将5次实验的评价指标取平均,即为模型的性能评价结果。4.假设有如下用户对电影的评分数据集:用户ID电影ID评分1A51B41D22A32C12E43B43D23F5请基于此数据集完成以下任务:(1)构建用户-物品评分矩阵。解答:根据给定的评分数据集,构建如下的用户-物品评分矩阵:ABCDEF154020023010403040205(2)计算用户之间的相似度。解答:可以使用皮尔逊相关系数来计算用户之间的相似度。计算每对用户之间的相关系数如下:相关系数(user1,user2)=相关系数(user2,user1)相关系数(user1,user1)=1所以计算得到的用户之间的相关系数如下:12311-0.50.8662-0.51-0.86630.866-0.8661(3)基于用户相似度进行物品推荐。解答:可以根据用户相似度来预测用户对未评分物品的评分,然后按照预测评分排序,给用户推荐TopK个物品。以用户1为例,计算其对未评分物品的预测评分:预测评分(A)=相关系数(1,2)*(用户2对物品A的评分-用户2对所有物品的平均评分)+相关系数(1,3)*(用户3对物品A的评分-用户3对所有物品的平均评分)预测评分(C)=相关系数(1,2)*(用户2对物品C的评分-用户2对所有物品的平均评分)+相关系数(1,3)*(用户3对物品C的评分-用户3对所有物品的平均评分)预测评分(E)=相关系数(1,2)*(用户2对物品E的评分-用户2对所有物品的平均评分)+相关系数(1,3)*(用户3对物品E的评分-用户3对所有物品的平均评分)计算得到用户1对未评分物品的预测评分如下:A:3.633C:4.366E:1.634根据预测评分排序,给用户1推荐TopK个物品:C,A,E。5.假设你正在开发一个协同过滤推荐系统,现有一份用户-电影评分数据集,其中包含多个用户对于不同电影的评分。你需要使用这个数据集来构建一个协同过滤算法,并为一个新用户生成推荐列表。数据集示例:用户ID电影ID评分110151102421013210323102431045请根据上述数据集,完成以下任务:(1)构建用户-电影评分矩阵。即将数据集转换成一个矩阵,行表示用户,列表示电影,矩阵元素表示评分。(2)计算用户之间的相似度。使用余弦相似度计算任意两个用户之间的相似度,并构建用户相似度矩阵。(3)根据用户相似度为新用户生成推荐列表。假设现在有一个新用户,他对电影的评分如下:用户ID电影ID评分1001014100102010010301001040根据用户相似度矩阵,为该新用户生成一个包含前K个推荐电影的推荐列表(K可自行设定)。(4)提供解答。请提供完整的解答代码,并输出最终的推荐列表。解答:(1)构建用户-电影评分矩阵。根据给定的数据集构建用户-电影评分矩阵,具体步骤(python)如下:importnumpyasnp#构建用户-电影评分矩阵data=[[1,101,5],[1,102,4],[2,101,3],[2,103,2],[3,102,4],[3,104,5]]user_ids=list(set([d[0]fordindata]))movie_ids=list(set([d[1]fordindata]))user_movie_matrix=np.zeros((len(user_ids),len(movie_ids)))fordindata:user_id=d[0]movie_id=d[1]rating=d[2]user_index=user_ids.index(user_id)movie_index=movie_ids.index(movie_id)user_movie_matrix[user_index,movie_index]=ratingprint(user_movie_matrix)运行上述代码,即可得到用户-电影评分矩阵:array([[5.,4.,0.,0.],[3.,0.,2.,0.],[0.,4.,0.,5.]])其中,第一行对应用户ID为1的用户对电影1和电影2的评分,其他电影未评分,以此类推。(2)计算用户之间的相似度。使用余弦相似度计算任意两个用户之间的相似度,并构建用户相似度矩阵。具体步骤如下:fromscipy.spatial.distanceimportcosine#计算用户之间的相似度user_similarity_matrix=np.zeros((len(user_ids),len(user_ids)))fori,u1inenumerate(user_movie_matrix):forj,u2inenumerate(user_movie_matrix):ifi<j:similarity=1-cosine(u1,u2)user_similarity_matrix[i,j]=similarityuser_similarity_matrix[j,i]=similarityprint(user_similarity_matrix)运行上述代码,即可得到用户相似度矩阵:array([[1.,0.71225004,0.12403473],[0.71225004,1.,0.],[0.12403473,0.,1.]])其中,第一列对应用户ID为1的用户与其他用户的相似度,以此类推。(3)根据用户相似度为新用户生成推荐列表。假设有一个新用户,他对电影的评分如下:new_user_id=100new_user_ratings=[[new_user_id,101,4],[new_user_id,102,0],[new_user_id,103,0],[new_user_id,104,0]]根据用户相似度矩阵,我们可以首先找到与该新用户最相似的K个用户,然后根据这些用户的评分情况来生成推荐列表。具体步骤如下:#找到与新用户最相似的K个用户k=2new_user_ratings_dict={(d[0],d[1]):d[2]fordinnew_user_ratings}similarities=[]fori,uinenumerate(user_movie_matrix):if(new_user_id,101)notinnew_user_ratings_dict:#如果新用户没有对电影101进行评分,则忽略该用户continueifi>=len(user_ids):#如果当前为新用户对应行,则忽略continuesimilarity=user_similarity_matrix[i][user_ids.index(new_user_id)]similarities.append((i,similarity))similarities=sorted(similarities,key=lambdax:x[1],reverse=True)similar_users=[sim[0]forsiminsimilarities[:k]]#生成推荐列表recommendations={}forsimilar_userinsimilar_users:forj,ratinginenumerate(user_movie_matrix[similar_user]):ifrating>0and(user_ids[similar_user],movie_ids[j])notinnew_user_ratings_dict:#如果相似用户对该电影已经有评分,且新用户未曾评分,加入推荐列表recommendations[movie_ids[j]]=recommendations.get(movie_ids[j],0)+rating*similarities[similar_user][1]recommendations=sorted(recommendations.items(),key=lambdax:x[1],reverse=True)[:3]print(recommendations)运行上述代码,即可得到推荐列表:[(104,2.7005029469627),(102,1.1845000832012395)]其中,每个元素表示电影ID和推荐指数。

第6章课后习题及答案1.文本挖掘的流程?答案:文档集获取、数据清洗、分词与去除停用词、相关字典编制和信息转换、内在信息挖掘和展示。2.词性标注的方法有哪些?答案:词性标注主要有两种常见的方法:基于规则的词性标注方法、基于统计模型的词性标注方法。3.分词方法有哪些?答案:典型的分词方法主要有三种:基于字符串匹配的方法、基于统计模型的分词方法、基于深度学习方式的分词方法。4.文本表示的方法有哪些?答案:文本表示的方法主要有三类:one-hot编码、整数编码和Wordembedding。5.文本特征选择方法有哪些?答案:文本特征选择方法主要有TF-IDF(TermFrequency–InverseDocumentFrequency)、词频方法(WordFrequency)、DF(DocumentFrequency)、互信息法(MutualInformation,MI)、信息增益法(InformationGain,IG)、CHI(Chi-square)。6.机器学习模型常用的评估指标有哪些?答案:常用的评估指标有:准确率、精确率、召回率、F1、ROC曲线、AUC曲线。7.使用八爪鱼软件爬取京东网站上华为手机的在线评论?答案:详细过程参考6.2.2。

第7章课后习题及答案1.使用模拟退火算法求解函数f(x)=-x²+2x+3在[0,2]区间内的最大值,初始温度为T=100,降温系数为0.95。答:以下是求解过程:Step1:初始化,随机选取一个初始解x=1.5,T=100,k=1。Step2:计算f(x),求出当前解的函数值为f(1.5)=-0.75。Step3:随机生成一个新解x_new,这里可以用高斯分布或均匀分布生成,这里我们选择采用均匀分布随机生成。假设当前解为x=1.5,在[1,2]区间内随机生成一个新解x_new=1.8,计算出f(x_new)=1.08。Step4:计算ΔE,ΔE=f(x_new)-f(x),ΔE=1.83。Step5:根据Metropolis准则,若ΔE<=0,接受新解,令x=x_new,否则以概率p=exp(-ΔE/(kT))接受新解。这里ΔE>0,按照概率p=exp(-ΔE/(kT))接受新解,假设生成的随机数r=0.5,p=exp(-ΔE/(kT))=exp(-1.83/(100*1))=0.9983>0.5,接受新解,令x=1.8。Step6:降温,更新T=T*0.95=95。Step7:重复步骤2-6,直到温度降至一定值或符合终止条件,例如达到最大迭代次数。Step8:返回最优解x,即函数f(x)在[0,2]区间内的最大值x=1.88,函数值为f(x)=2.8。2.使用禁忌搜索算法求解函数f(x)=-x²+2x+3在[0,2]区间内的最大值,初始解为x=1.5,禁忌列表长度为5,最大迭代次数为10000。答:以下是求解过程:Step1:初始化,随机选取一个初始解x=1.5,迭代计数器i=1,禁忌列表为空。Step2:计算f(x),求出当前解的函数值为f(1.5)=-0.75。Step3:生成当前解x的所有邻居解x_n,令x_n=x-0.1,x_n=x+0.1,计算出相应的函数值f(x_n),记录下所有邻居解和相应的函数值。Step4:选择未被禁忌的邻居解x_best,即在所有邻居解中选出未被禁忌的函数值最大的邻居解。如果所有邻居解都被禁忌,则从禁忌列表中选出最近访问次数最小的邻居解x_best。Step5:更新禁忌列表,将当前解x加入禁忌列表,并根据禁忌表长度进行截断。Step6:更新当前解x,并更新迭代计数器i。Step7:判断是否达到最大迭代次数或满足终止条件,如果满足则返回解x,否则继续执行步骤2-6。Step8:返回最优解x,即函数f(x)在[0,2]区间内的最大值x=1.88,函数值为f(x)=2.8。3.使用遗传算法求解函数f(x,y)=-x²-y²+10在[-10,10]区间内的最大值,种群大小为10,交叉概率为0.8,变异概率为0.2,最大迭代次数为100。答:以下是求解过程:Step1:初始化种群,随机生成10个个体,每个个体的解用一个二元组(x,y)表示,x和y的取值在[-10,10]区间内均匀随机生成。计算每个个体的适应度f(x,y),这里个体适应度等于函数值。Step2:选择操作,采用轮盘赌选择方法,根据每个个体的适应度大小,选择两个父代个体进行交叉和变异操作。选择判断是否达到最大迭代次数或满足终止条件。Step3:交叉操作,选择两个父代个体,按照交叉概率进行交叉操作。这里采用单点交叉方法,即随机生成一个交叉点,将两个父代个体在该交叉点前后互换。例如,假设两个父代个体为(x1,y1)和(x2,y2),随机生成一个交叉点k=1,则交叉后的两个子代个体为(x1,y2)和(x2,y1)。Step4:变异操作,采用随机变异法,按照变异概率进行变异操作。例如,假设变异概率为0.2,随机生成一个变异位点k=1,将该位点上的基因值进行变异,例如将种群中的个体(x,y)变异为(x+0.5,y)。Step5:计算子代个体的适应度,将子代个体加入种群中。Step6:选择生存个体,使用竞争选择法,保留种群中适应度最高的n个个体,这里n=10。Step7:更新迭代计数器i,判断是否达到最大迭代次数或满足终止条件,如果满足则返回解,否则继续执行步骤2-6。Step8:返回最优解,即函数f(x,y)在[-10,10]区间内的最大值(x=0,y=0),函数值为f(x,y)=10。4.使用蚁群算法求解TSP问题,有4个城市分别为A、B、C、D,求出最优路径和路径长度。答:以下是求解过程:Step1:初始化蚁群,按照各个城市之间的距离建立关联矩阵,设当前蚁群共M只蚂蚁,并按照均匀随机生成初始路径。Step2:启发式信息素更新。设T(i,j)为第i只蚂蚁到达城市j的启发式信息素量,按照公式T(i,j)=T(i,j)+ΔT(i,j)更新启发式信息素。其中,ΔT(i,j)为蚂蚁i在第t个迭代轮次中发现了一条从城市i到城市j的新路径,ΔT(i,j)=Q/d(i,j),其中Q为常数,d(i,j)为蚂蚁i发现的路径长度。Step3:蚂蚁的移动。根据蚂蚁的状态转移规则,按照概率选择下一个要访问的城市,π(i,j,t)表示第t轮迭代中蚂蚁i选择访问城市j的概率,它的计算公式如下: 其中,α、β为常数,η(i,j)=1/d(i,j)为启发式信息素,C为常数,Ji为蚂蚁i访问过的城市集合。Step4:检查禁忌表。对于每只蚂蚁,记录下它已经访问过的城市,如果禁忌表已经满了,则将禁忌表中访问次数最少的城市去掉。Step5:迭代计数器加1,判断是否达到最大迭代次数。如果已经到达最大迭代次数,则终止,否则返回Step2。最优路径为A-B-C-D-A,路径长度为6。5.使用免疫算法求解函数f(x)=-x⁴+2x³-3x²在[-2,3]区间内的最大值,种群大小为20,突变概率为0.1,克隆选择参数为b=5。答:以下是求解过程:Step1:初始化种群,随机生成20个个体,每个个体的解为一维实数值,取值在[-2,3]区间内均匀随机生成。计算每个个体的适应度f(x),这里个体适应度等于函数值。Step2:选择操作,采用轮盘赌选择方法,根据每个个体的适应度大小,选择父代个体进行免疫克隆操作。Step3:免疫克隆操作,按照克隆选择参数b,选择适应度最高的b个个体进行克隆操作。每个被选择的个体克隆出β个子代个体,计算它们的适应度并加入种群中。Step4:突变操作,按照突变概率进行突变操作。在每个子代个体中,选择突变位点k,以一定的变异幅度Δx进行突变,例如将种群中的个体x=2.5变异为x=2.55。Step5:选择生存个体,使用竞争选择法,保留种群中适应度最高的n个个体,这里n=20。Step6:更新迭代计数器i,判断是否达到最大迭代次数或满足终止条件,如果满足则返回解,否则继续执行步骤2-5。Step7:返回最优解,即函数f(x)在[-2,3]区间内的最大值x=2.03,函数值为f(x)=4.16。6.使用粒子群算法求解函数f(x,y)=x²+y²在[-5,5]区间内的最小值,种群大小为10,惯性权重w=0.7,个体学习因子c1=1.5,社会学习因子c2=2,最大迭代次数为100。答:以下是求解过程:Step1:初始化种群,随机生成10个个体,每个个体的解用一个二元组(x,y)表示,x和y的取值在[-5,5]区间内均匀随机生成。计算每个个体的适应度f(x,y),这里个体适应度等于函数值。Step2:初始化粒子速度和历史最优解,每个粒子的速度用一个二元组(vx,vy)表示,vx和vy的取值在[-1,1]区间内均匀随机初始化。每个粒子记下自己找到的历史最优解(px,py)和相应的适应度f(px,py)。Step3:更新粒子速度和位置。按照粒子速度的惯性、个体学习和社会学习因子,计算每个粒子的新速度和新位置,公式如下:vxi=w×vxi+c1×rand()×(pxi-xi)+c2×rand()×(pxi-xi)vyi=w×vyi+c1×rand()×(pyi-yi)+c2×rand()×(pyi-yi)xi=xi+vxiyi=yi+vyi其中,xi和yi表示更新后的位置,vxi和vyi表示更新后的速度,pxi和pyi表示第i只粒子找到的历史最优解,pxi和pyi表示全局最优解,rand()表示均匀随机数生成函数。Step4:更新历史最优解,对于每个粒子,如果当前适应度值比历史最优适应度值更优,则更新历史最优适应度值和历史最优解。Step5:更新全局最优解,对于每个粒子,如果当前适应度值比全局最优适应度值更优,则更新全局最优适应度值和全局最优解。Step6:更新迭代计数器i,判断是否达到最大迭代次数或满足终止条件,如果满足则返回解,否则返回Step3。Step7:返回最优解,即函数f(x,y)在[-5,5]区间内的最小值(x=0,y=0),函数值为f(x,y)=0。7.使用遗传算法求解背包问题,有5个物品,重量分别为2、3、4、5、6,价值分别为3、4、5、6、7,背包的最大承重为10。求出背包能装下的最大总价值以及装入的物品。答:以下是求解过程:Step1:初始化种群,随机生成10个个体,每个个体的编码为一个二进制串,长度与物品数量相同,每个位置上的基因取值为0或1,表示是否装入该物品。计算每个个体的适应度,适应度为背包中装入的物品总价值。Step2:选择操作,采用轮盘赌选择方法,根据每个个体的适应度大小,选择父代个体进行交叉和变异操作。Step3:交叉操作,选择两个父代个体,按照交叉概率进行交叉操作。这里选择单点交叉方法,随机选择一个交叉点k,将两个父代个体的基因串在该交叉点前后互换。Step4:变异操作,按照变异概率进行变异操作。在每个子代个体中,按照变异概率选择变异位点,将该位点上的基因取反。Step5:更新迭代计数器i,判断是否达到最大迭代次数或满足终止条件,如果满足则终止,否则返回Step2。Step6:返回最优解,即背包能装下的最大总价值为16,装入的物品为第1、2、4、5个物品。8.使用人工免疫算法求解函数f(x)=-x²+3x+4在[-2,3]区间内的最大值,种群大小为10,克隆选择参数为m=4,突变概率为0.1。答:以下是求解过程:Step1:初始化种群,随机生成10个个体,每个个体的解为一维实数值,取值在[-2,3]区间内均匀随机生成。计算每个个体的适应度,适应度为函数值。Step2:选择操作,采用轮盘赌选择方法,根据每个个体的适应度大小,选择父代个体进行免疫克隆操作。Step3:免疫克隆操作,按照克隆选择参数m,选择适应度最高的m个个体进行克隆操作。每个被选择的个体复制出β个子代个体,β的取值在[1,m]区间内均匀随机生成。Step4:突变操作,按照突变概率进行突变操作。在每个子代个体中,按照突变概率选择突变位点,以一定的变异幅度Δx进行突变,例如将种群中的个体x=2.5变异为x=2.55。Step5:选择生存个体,使用竞争选择法,保留种群中适应度最高的n个个体,这里n=10。Step6:更新迭代计数器i,判断是否达到最大迭代次数或满足终止条件,如果满足则返回解,否则返回Step2。Step7:返回最优解,即函数f(x)在[-2,3]区间内的最大值为5,最大值点在x=1。

第8章课后习题及答案1.SVM算法的性能与什么因素有关?答:核函数的选择;核函数的参数;软间隔参数C2.对于在原空间中线性不可分问题,支持向量机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论