版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章计算与人工智能概论习题与实验一、选择题1.图灵机由4部分组成,分别是一条无限长的纸带、一个读写头、()和一个状态寄存器。A.一个控制器B.一套控制规则表C.一个读写器D.一个纸带机2.计算机的自动化操作是由它的()决定的。A.二进制运算原理B.通用分析机原理C.实时控制原理D.存储程序工作原理3.计算机史上著名的“101页报告”是指()。A.ENIACB.EDSACC.EDVACD.UNIVAC4.人工智能的目的是让机器能够()。A.具有完全的智能B.和人脑一样考虑问题C.完全代替人D.模拟、延伸和扩展人的智能5.人工智能的正式提出是()年。A.1956B.1946C.1950D.20116.对人工智能学科的发展具有里程碑意义的研讨会是()。A.人工智能圆桌会议B.达特茅斯会议C.人工智能云会议D.人工智能伦理峰会二、问答题1.设计计算f(n)=2n的图灵机并分析其工作过程。答:n采用二进制表示,规定数的低位在右,读写头初始位于最右边一格(最低位)。控制规则如表所示。当前状态当前符号输出符号动作下一个状态S00右移PS11右移PP空格0GG停机工作过程分析:图灵机从起始状态S开始,读写头指向输入二进制数的最低位。它依次向右移动,将原数字原样保留,直到遇到第一个空格(表示数字结束),然后在空格处写入0并停机。这相当于在原二进制数末尾添加一个0,即实现了左移一位的运算,结果恰好为原数的两倍。例如,设n=37(二进制100101),计算过程如下:①初始纸带:空格、1、0、0、1、0、1、空格,读写头位于右边第一个1(最低位)。②状态S:读取1,写入1,右移,进入P状态,此时读写头指向右边空格。③状态P:读取空格,写入0,进入G状态,立即停机。此时纸带变为:空格、1、0、0、1、0、1、0、空格,即二进制1001010,等于十进制74。2.什么叫冯•诺依曼体系结构?答:1946年6月,冯·诺依曼提出了存储程序通用电子计算机方案—电子离散变量自动计算机(ElectronicDiscreteVariableAutomaticComputer,EDVAC)方案。方案中明确规定新型计算机有5个组成部分:计算器、逻辑控制装置、存储器、输入和输出,并详细描述了这5个部分的功能和相互关系,提出了程序存储(Stored-Program)思想,计算机可以按照程序规定的顺序,自动地从一条程序指令进到下一条程序指令。长达101页的EDVAC方案是计算机发展史上的一个划时代的文献。由于这一方案提出了现代计算机的基本体系结构,从而奠定了现代计算机的发展基础,所以,人们把现代计算机称为冯·诺依曼型计算机。3.人工智能有哪三大学派?它们各自的基本思想和落脚点分别是什么?答:人工智能的三大学派是符号主义、连接主义和行为主义。符号主义基本思想是人类的认知过程是对各种符号进行推理运算的过程,落脚点在符号推理;连接主义基本思想是思维的基本是神经元,而不是符号处理过程,落脚点在神经网络与深度学习;行为主义基本思想是智能取决于感知和行动,落脚点在行为控制、自适应与进化计算。4.2011年至今,人工智能进入蓬勃发展期,简述这一时期的主要特点。答:自2011年蓬勃发展期以来,大数据、云计算、GPU等信息技术为人工智能提供了海量数据与强大算力支持,推动以深度神经网络为代表的技术迎来爆发式增长。这一时期的标志性突破是2017年谷歌提出的Transformer架构,其自注意力机制为后续大模型奠定了基础;此后,OpenAI的GPT系列模型不断刷新能力边界,而中国深度求索公司于2024至2025年发布的DeepSeek-V3与DeepSeek-R1模型,则凭借多模态支持、中文优化及轻量化部署等特色,有力推动了大模型的普惠化发展。5.什么叫具身智能?有哪些应用场景?答:具身智能(EmbodiedIntelligence)是指具有物理身体并能够与真实世界进行交互的智能体(如机器人、无人车等),它基于具身认知理论,强调智能源于身体与环境的动态互动,通过传感器获取多模态数据,结合强化学习、模仿学习等算法,在真实或虚拟场景中自主学习和执行行走、抓取、协作等任务。主要应用场景包括:家庭与服务机器人:如具备自主导航、物体识别和人机协作能力的全能管家,可完成清洁、烹饪、陪伴及老年人照护等任务。工业与物流自动化:在柔性制造中通过视觉感知自适应抓取,适应多品种小批量生产;仓储机器人优化分拣效率,提升环境理解能力。灾难救援与极端环境检测:例如在核泄漏区执行辐射检测,或在地形复杂的废墟中自主穿越,通过实时环境建模与路径规划降低人员风险。三、实验题人工智能初体验——与AI对话。登录任意AI对话平台(如DeepSeek、文心一言等),输入以下问题并记录答案。(1)请用50字解释什么是人工智能。(2)列举三个AI在某个领域的应用场景,提问时根据自己的专业来确定是哪个领域。(3)你认为AI会取代人类工作吗?为什么?对同一问题连续提问3次,观察回答一致性,并分析AI回答的合理性与局限性。在百度搜索AI平台网址,打开浏览器,输入AI平台网址,注册、登录后,在输入框输入提示词。
第2章人工智能开发工具与平台习题与实验一、单选题1.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是()。A.(x%10)*10+x//10B.(x%10)//10+x//10C.(x/10)%10+x//10D.(x%10)*10+x%102.设有程序段:k=10whilek:k=k-1print(k)则下面描述中正确的是()。A.while循环执行10次 B.循环是无限循环C.循环体语句一次也不执行 D.循环体语句执行一次3.max((1,2,3)*2)的值是()。A.3B.4C.5D.64.下列选项中与s[0:-1]表示的含义相同的是()。A.s[-1]B.s[:]C.s[:len(s)-1]D.s[0:len(s)]5.对于字典D={'A':10,'B':20,'C':30,'D':40},对第4个字典元素的访问形式是()。A.D[3]B.D[4]C.D[D]D.D['D']6.设a=set([1,2,2,3,3,3,4,4,4,4]),则a.remove(4)执行后,a的值是()。A.{1,2,3}B.{1,2,2,3,3,3,4,4,4}C.{1,2,2,3,3,3}D.[1,2,2,3,3,3,4,4,4]7.已知f=lambdax,y:x+y,则f([4],[1,2,3])的值是()。A.[1,2,3,4]B.10C.[4,1,2,3]D.{1,2,3,4}8.关于语句f=open('demo.txt','r'),下列说法不正确的是()。A.demo.txt文件必须已经存在B.只能从demo.txt文件读数据,而不能向该文件写数据。C.只能向demo.txt文件写数据,而不能从该文件读数据。D.“r”方式是默认的文件打开方式9.下列程序的运行结果是()。importnumpyarray_a=numpy.array([1,2,3])array_b=numpy.array([4,5,6])print(array_a+array_b)A.[1,2,3,4,5,6]B.[579]C.[[1,2,3],[4,5,6]]D.[1,2,3][4,5,6]10.要绘制正弦函数曲线,已知x=np.arange(0,2*np.pi,np.pi/50),则求y的正确表达式是()。A.y=sin(x)B.y=math.sin(x)C.y=np.sin(x)D.y=cmath.sin(x)二、问答题1.简述Python语言的特点。答:简洁清晰的语法;丰富的库资源;强大的数据处理能力;活跃的社区支持。2.设m,n为整型,写出与m%n等价的表达式。答:m-m//n*n。3.执行下列程序后,k的值是多少?36k=1n=263whilen:k*=n%10n//=104.写出下列程序的运行结果。8s=10foriinrange(1,6):whileTrue:ifi%2==1:breakelse:s-=1breakprint(s)5.写出下列程序的运行结果。25importnumpyasnpa=np.arange(11)s=sum(a[np.where(a%2==1)])print(s)三、实验题1.从键盘输入一个三位整数,将其个位数与十位数互换以后输出。例如,输入n=127,则m=172。n=int(input("请输入一个三位整数:"))h=n//100t=n//10%10u=n%10result=h*100+u*10+tprint(f"交换后的结果为:{result}")2.输入20个数,求出其中的最大数与最小数。numbers=[float(input(f"请输入第{i+1}个数字:"))foriinrange(20)]max_num=max(numbers)min_num=min(numbers)print(f"\n最大值:{max_num}")print(f"最小值:{min_num}")3.先定义函数求,然后调用该函数求。defSumPower(n,m):total=0.0foriinrange(1,n+1):total+=i**mreturntotals=SumPower(100,1)+SumPower(50,2)+SumPower(10,-1)print(f"s={s}")4.设x∈[−2π,2π],绘制函数曲线。yimportnumpyasnpimportmatplotlib.pyplotaspltx=np.linspace(-2*np.pi,2*np.pi,1000)y=20*np.sin(10+x**2)/(10+x**2)plt.plot(x,y,label=r'$y=\frac{20\sin(10+x^2)}{10+x^2}$')plt.xlabel('x')plt.ylabel('y')plt.title('FunctionCurve')plt.legend()plt.grid(True)plt.show()5.求定积分。0importnumpyasnpfromscipyimportintegratedefintegrand(x):returnx*np.sin(x)/(1+np.abs(np.cos(x)))result,error=integrate.quad(integrand,0,np.pi)print(f"定积分结果={result},误差估计={error}")6.求方程f(x)=ex+x2-2=0在x0=-1和x0=1附近的根。importnumpyasnpfromscipy.optimizeimportfsolvef=lambdax:np.exp(x)+x**2-2root1=fsolve(f,-1)[0]#在x0=-1附近求根root2=fsolve(f,1)[0]#在x0=1附近求根print(f"在x0=-1附近的根:{root1:.6f}")print(f"在x0=1附近的根:{root2:.6f}")
第3章计算系统:从单机到智能生态习题与实验一、选择题1.计算机主机是由CPU和()构成的。A.控制器B.输入/输出设备C.运算器D.内存储器2.计算机的内存容量通常是指()。A.RAM的容量B.RAM与ROM的容量总和C.软盘与硬盘的容量总和D.RAM、ROM、软盘和硬盘的容量总和3.微型计算机中配置cache是为了解决()问题。A.内存与辅助内存之间速度不匹配B.CPU与辅助内存之间速度不匹配C.CPU与内存之间速度不匹配D.主机与外部设备之间速度不匹配4.微型计算机的结构原理是采用()结构,它使CPU与内存和外部设备的连接简单化与标准化。A.星形B.总线C.网络D.层次5.8位二进制数的补码为11111101,对应的十进制数为()。A.509B.253C.-3D.-26.有一个数值是152,它与十六进制数6A相等,该数值是()。A.二进制数B.八进制数C.十六进制数D.十进制数7.一般来说,要求声音的质量越高,则()。A.量化位数越低和采样频率越低B.量化位数越高和采样频率越高C.量化位数越低和采样频率越高D.量化位数越高和采样频率越低8.局域网的英文缩写是()。A.LANB.WANC.MAND.Internet9.Internet上的Web服务采用的协议是()。A.FTPB.TelnetC.SMTPD.HTTP10.物联网的体系结构包括()、网络层和应用层。A.链路层B.感知层C.物理层D.传输层二、问答题1.计算机系统由哪些部分组成?答:计算机系统包括硬件系统和软件系统两大部分。计算机硬件由控制器、运算器、存储器、输入设备和输出设备5个部分组成。运算器和控制器合称为中央处理器(CPU)。存储器又分为内存储器和外存储器两类。将CPU和内存储器合称为主机。将输入设备、输出设备和外存储器合称为外部设备。计算机软件可分为系统软件和应用软件两大类。系统软件又可分为操作系统、语言处理程序、数据库管理系统和支撑软件等。2.简述存储器的层次结构,有何意义?答:计算机系统中的存储器被组织成层次结构。最上层是CPU中的寄存器,其存储速度能满足CPU的要求。下一层是高速缓存,一般容量是32千字节到几兆字节。往下是内存,然后是磁盘,用于永久保存数据。最后,是用于后备存储的移动存储设备。在层次存储结构中,金字塔越往上走,容量越小,成本越高,但访问速度越快。观察十进制偶数和十进制奇数的二进制表示的特点,如何根据一个二进制数快速判断其十进制数是奇数还是偶数?答:十进制偶数的二进制的最后一位为0,十进制奇数的二进制的最后一位为1。可以要报二进制数的最后一位数字是0还是1来判断其十进制数是偶数还是奇数。4.什么是ASCII编码?“a”与“A”的ASCII码相差多少?答:ASCII码,即美国标准信息交换码(AmericanStandardCodeforInformationInterchange),它西文字符在计算机内部的二进制编码表示形式。“a”比“A”的ASCII码大32。5.声音和图像数字化的基本步骤是什么?答:声音和图像的数字化步骤都是取样、量化、编码。声音的取样是取每个采样点的频率值。通常取样频率不应低于声音信号最高频率的两倍,这样才能把数字化后的声音还原成原来的声音,这称为无损数字化。图像的取样是取每个像素点的颜色值。图像量化的质量取决于颜色深度,即由存储一个图像点所使用的二进制位数决定。使用的二进制位数越多,能表示的图像颜色总数越多,产生的图像效果越细致、逼真。6.阐述身边的物联网应用实例。答:物联网(IoT,InternetofThings)是指通过互联网将各种物理设备(家电、交通工具、工业机器等)连接起来,实现数据采集、远程监控和智能控制的网络。以下是身边的物联网应用实例:(1)智能家居:通过Wi-Fi连接控制家中的灯光、家电、窗帘,用户通过语音指令即可操作。(2)共享单车/汽车:通过车载GPS和物联网卡,用户可实时查看车辆位置、扫码开锁、结束行程后自动计费。(3)智能穿戴设备:智能手环/手表实时监测心率、步数、睡眠质量,数据同步至手机生成健康报告。(4)智慧农业:农田中的土壤湿度传感器、光照传感器联动自动灌溉系统,实现精准灌溉和施肥。(5)快递物流追踪:每个包裹上的物联网电子标签(如RFID)或条形码,在分拣中心被自动扫描,用户可实时查询物流轨迹。(6)工业设备预测性维护:在工厂机器上安装振动、温度传感器,实时监测运行状态,提前预警故障,避免停机损失。三、实验题1.有符号数和无符号数的运算。使用NumPy的uint8(无符号8位二进制整数)或int8(有符号8位二进制整数)数据类型来处理一字节整数。例如:>>>np.array(71,dtype=8)+np.array(65,dtype=8)#71+65产生溢出-120分别计算一字节无符号数226+60和一字节有符号数25+110,分析为什么会出现这样的结果。参考教材例3-2。2.将二进制数转换为八进制数。二进制整数转换为八进制整数采用的方法是“3位变1位”。例如二进制数1101110001,可以分组成001101110001,每3位二进制数转换为1位八进制数,结果为1561。运行并理解以下程序。binaryN=input("输入二进制数:")#输入二进制字符串#如果二进制字符串长度不是3的倍数,则在前面补0whilelen(binaryN)%3!=0:binaryN='0'+binaryNoctalN="0o"#初始化八进制字符串oct_digit={'000':'0','001':'1','010':'2','011':'3','100':'4','101':'5','110':'6','111':'7'}#每3位二进制字符转换为一位八进制字符foriinrange(0,len(binaryN),3):chunk=binaryN[i:i+3]#取3位二进制oct_digit1=oct_digit[chunk]#查找对应的八进制数octalN+=oct_digit1print("八进制数:",octalN)程序运行结果如下:输入二进制数:1101110001八进制数:0o1561
第4章网络数据分析与应用习题与实验一、选择题1.下列不属于数据预处理的是()。A.数据存储B.数据清洗C.数据标准化D.数据统计2.下列程序的运行结果是()。importnumpyasnpa=np.array([2,6,-5,2,-9,0])print(np.amin(np.array([np.amax(a),np.sum(a)])))A.6B.-4C.-9D.63.对于数据可视化的理解,下列说法不正确的是()。A.可以脱离数据B.可以揭示隐藏的数据特征C.令人容易理解D.表达更加直观形象4.下列关于大数据的说法正确的是()。A.规模大的数据就是大数据B.数据库中存储的数据一定不是大数据C.大数据价值密度低,所以没有太大的挖掘价值D.大数据同样可以用数据库技术进行处理5.用于实现中文文本分词操作的Python第三方库是()。A.jiebaB.WordcloudC.MatplotlibD.PIL6.非对称加密技术需要()和私钥成对出现。A.密码B.公钥C.解密密码D.加密密钥二、问答题1.若要分析《红楼梦》的前八十回和后四十回是否为同一作者所写,需要使用哪些工具?具体流程是怎样的?答:通过前八十回和后四十回的词频统计、词云图构建进行简要分析。2.什么叫网络爬虫?如何编写一个简单的爬虫程序?答:网络爬虫又名网络蜘蛛(Webspider),是一种按照一定规则自动抓取网页信息的程序或脚本。爬取网页主页的信息:importrequestsr=requests.get("具体的网址")3.大数据有什么特点?答:大数据(bigdata)是规模非常巨大和复杂的数据集,它具有4个基本特征(特点):数据规模大(volume)、数据种类多(variety)、要求数据处理速度快(velocity)、数据价值密度低(value),即所谓的4V特性。简述数据加密的工作过程。答:数据加密是通过特定的加密算法和密钥,将原始明文数据转换为无法直接阅读的密文数据的过程,以保护数据的安全。接收方则使用相应的解密算法和密钥将密文还原为明文。根据加密和解密密钥的异同,分为对称加密和非对称加密两种方式:(1)对称加密:加密和解密使用相同的密钥。发送方用密钥和加密算法将明文加密成密文,接收方用同一密钥和解密算法将密文解密为明文。其优点是运算快、效率高,但密钥管理是关键,一旦密钥泄露,密文易被破解。(2)非对称加密:加密和解密使用不同的密钥,即公钥和私钥。公钥可公开,用于加密;私钥由接收方保密,用于解密。发送方用接收方的公钥加密明文,接收方用自己的私钥解密密文。这种方式安全性更高,但速度较慢。若双方需互相传输,则各自生成密钥对,交换公钥,私钥自留。5.分析区块链和比特币的关系。答:区块链和比特币的关系:(1)诞生渊源:比特币催生区块链概念。区块链概念最早由中本聪提出,区块链技术是为解决比特币数字货币的重复消费问题而专门发明的,比特币的诞生标志着区块链技术的正式问世。(2)技术层级:区块链是比特币的底层技术。比特币以区块链为底层支撑,比特币网络中的交易信息存储在区块链的数据块中,区块链通过链式结构、密码学、分布式时间戳服务器等技术,实现比特币数据库的自主管理,保障比特币交易的防伪与流转。(3)功能定位:比特币是区块链技术的首个应用。比特币是区块链技术最早、最具代表性的应用落地,区块链技术依托比特币实现了从理论到实践的转化,验证了去中心化、不可篡改等技术特性的可行性。(4)范畴边界:二者内涵与外延不同。比特币是基于区块链技术的点对点电子现金系统、虚拟货币,总量有限、具备稀缺性;区块链是一种分布式账本技术与基础架构,狭义为链式数据结构,广义是集分布式存储、共识算法、密码学、智能合约于一体的全新计算方式,其应用场景远不止比特币。三、实验题1.利用Python的random模块的random()函数可以随机产生[0,1)区间均匀分布的实数,生成100个这样的随机数并组成一个列表,然后求和、最大值、最小值和平均值。fromrandomimport*#导入random模块list_1=[]#建立空列表foriinrange(100):#循环100次x=random()#生成随机数,并赋值给xlist_1.append(x)#将随机数x添加到列表中MySum=sum(list_1)#求和MyMax=max(list_1)#求最大值MyMin=min(list_1)#求最小值Avg=sum(list_1)/len(list_1)#求平均值print("Sum=",MySum)#输出统计结果print("Max=",MyMax)print("Min=",MyMin)print("Average=",Avg)2.NumPy的random模块包含了很多函数和方法,可以用来产生随机数,例如,下列语句产生3行2列、[0,1)之间均匀分布的随机数组。>>>importnumpyasnp>>>np.random.rand(3,2)array([[0.33662655,0.42070569],[0.3276643,0.77168321],[0.5039367,0.36060372]])生成100个随机数组成的数组,然后求和、最大值、最小值和平均值。importnumpyasnpa=np.random.rand(1,100)np.sum(a)#求和np.amax(a)#求最大值np.amin(a)#求最小值np.mean(a)#求算术平均值np.median(a)#求中位数d(a)#求积np.std(a)#求标准差np.var(a)#求方差3.以下是某市家庭收入x与家庭储蓄y之间的一组调查数据(单位:万元),试分别利用回归分析和曲线拟合建立x与y的线性函数经验公式。x0.61.02.63.03.43.84y0.080.220.310.40.480.560.670.750.81.0回归分析:importnumpyasnpfromsklearn.linear_modelimportLinearRegression#导入模块X=np.array([0.6,1.0,1.4,1.8,2.2,2.6,3.0,3.4,3.8,4]).reshape(10,1)#转换成二维数组Y=[0.08,0.22,0.31,0.4,0.48,0.56,0.67,0.75,0.8,1.0]model=LinearRegression()#模型初始化model.fit(X,Y)#拟合模型print(model.coef_)#输出系数print(ercept_)#输出截距根据程序运行结果写出线性函数公式。线性拟合:importnumpyasnpX=[0.6,1.0,1.4,1.8,2.2,2.6,3.0,3.4,3.8,4]Y=[0.08,0.22,0.31,0.4,0.48,0.56,0.67,0.75,0.8,1.0]z1=np.polyfit(X,Y,1)#对数据进行线性拟合print(z1)爬取网页数据,并进行分析。要求如下:(1)爬取人民网主页上的信息。(2)将主页中所有的超链接信息提取出来,并剔除非中文词汇。(3)利用Jieba库对其进行分词,并通过词云图展示其中的新闻热词。(1)爬取人民网主页上的信息,程序如下。importrequestsr=requests.get(r"")查看网页编码:r.apparent_encoding这时候程序结果显示其编码方式是“GB2312”。为了能够查看网页的文本内容,将获取的信息转换为相应编码。r.encoding="GB2312"r.text此时程序结果会弹出一个压缩文本,将该文本另存为文本文件并打开或直接展开,可以查看其中的内容。(2)将其中所有的超链接信息提取出来。frombs4importBeautifulSoup#导入模块ht=BeautifulSoup(r.content,'html.parser')#对内容进行解析,采用解析器“html.parser”foriteminht.find_all("a"):#遍历每一个a标签print(item.string,":",item.get("href"))#输出超链接信息剔除非中文词汇:importre#导入模块pattern=pile(r'[^\u4e00-\u9fa5]')#编译正则表达式chinese=re.sub(pattern,'',r.text)#将非中文字符用空字符串进行替换print(chinese)提示:用正则表达式[^\u4e00-\u9fa5]来实现操作,其中“\u4e00-\u9fa5”表示Unicode码中中文的编码范围。(3)利用Jieba库对其进行分词,并通过词云图展示其中的新闻热词。importjiebaimportnumpyasnpfromPILimportImagefromwordcloudimportWordCloudf=open('people.txt','r').read()#读入文本background=np.array(Image.open('background.jpg'))#设置词云背景图片words=jieba.lcut(f)#分词rwords=[]forwordinwords:#剔除长度为1的词iflen(word)==1:continueelse:rwords.append(word)wordcloud=WordCloud(background_color="white",width=1000,height=860,\mask=background,font_path=r"C:\Windows\Fonts\msyh.ttc",\margin=2).generate("".join(rwords))#生成词云图wordcloud.to_file('people.png')#存储图片注意:文本文件需保存为utf-8的编码形式。
第5章机器学习基础与应用习题与实验一、选择题1.以下关于机器学习与人工智能关系的描述中,正确的一项是()。A.人工智能是机器学习的子领域,两者是包含与被包含的关系。B.强化学习和深度学习是独立于机器学习的全新技术领域,与机器学习无关。C.机器学习是人工智能的一个分支,强化学习和深度学习均属于机器学习的子领域。D.人工智能和机器学习是同一概念的不同表述,二者无本质区别。2.监督学习和无监督学习的主要区别是()。A.监督学习需要大量计算资源,无监督学习不需要B.监督学习使用标签数据,无监督学习不使用标签数据C.监督学习只能处理数值数据,无监督学习可以处理文本数据D.监督学习用于分类任务,无监督学习用于回归任务3.以下任务属于无监督学习的是()。A.预测房价B.手写数字识别C.垃圾邮件分类D.客户分群4.下列算法属于无监督学习的是()。A.k均值B.kNNC.SVMD.决策树5.过拟合(Overfitting)的主要表现是()。A.模型在训练集和测试集上表现均差B.模型在训练集上表现好,但在测试集上表现差C.模型在训练集上表现差,但在测试集上表现好D.模型对噪声数据完全不敏感6.在二分类问题中,若正负样本比例严重失衡(如1:99),更合适的评价指标是()。A.准确率(Accuracy)B.均方误差(MSE)C.F1分数(F1-Score)D.余弦相似度(CosineSimilarity)7.强化学习的核心机制是()。A.通过标签数据直接优化模型B.智能体通过环境反馈(奖励/惩罚)学习策略C.从无标签数据中发现隐藏结构D.仅依赖历史数据进行预测8.在强化学习中,可以通过如下操作得到一个最优的策略()。A.在每一步中,当位于当前状态时,总是采取一个动作,使得采取该动作后,在未来可获得反馈值的最大期望B.在每一步中,当位于当前状态时,总是采取一个动作,使得采取该动作后,马上获得最大反馈值C.在每一步中,当位于当前状态时,总是采取一个动作,使得采取该动作后,在到达终止状态时,该终止状态可获得最大期望D.在每一步中,当位于当前状态时,总是随机采取一个动作二、问答题1.什么叫机器学习?简述其关键进展。答:机器学习是指研究“学习算法”的一门学科,它用计算机模拟和实现人类的学习行为。其核心思想是系统无需依赖硬编码指令,而是通过大量数据自主演化来获得解决问题的能力。具体而言,将训练数据输入给学习算法,算法据此生成计算模型,再用测试数据输入模型以输出结果。机器学习的理想状态是得到一个理想计算模型f(x)f(x),但实际中通常用函数g(x)g(x)去逼近,并通过准确率等指标对模型效果进行评价。机器学习的关键进展(2)经典方法阶段:早期主要基于统计学和优化理论,代表性方法包括决策树、k-近邻算法(kNN)、支持向量机(SVM)、线性回归、逻辑回归、k均值聚类等。这些方法结构相对简单,但依赖人工设计的特征,限制了其在复杂任务中的应用。(2)神经网络复兴:进入21世纪,多层感知机和反向传播算法的普及使得模型能够自动学习特征,减少了对人工干预的需求。随着互联网数据量剧增,这些模型的优势愈发明显。(3)深度学习提出(2006年):杰弗里·辛顿等科学家提出深度学习概念,通过构建深层神经网络模拟人脑多层次处理,极大提高了模型的表示能力和学习效率。深度学习在图像识别(如卷积神经网络CNN、ResNet、VGG、YOLO)、语音识别等领域取得重大突破。(4)自然语言处理飞跃:传统规则基方法被统计建模(如隐马尔可夫模型HMM、条件随机场CRF)取代,近年来预训练模型(如BERT、GPT系列)的出现使得机器理解和生成语言的能力达到新高度。(5)强化学习突破:模拟通过试错来学习的行为,Q学习、深度Q网络(DQN)在游戏中表现惊人,AlphaGo的胜利将其推向公众视野。2.简述机器学习的基本流程。答:收集数据;输入数据;数据预处理:数据清洗、数据变换、数据归约;模型训练和测试;模型评估。3.机器学习有哪些类型?各有哪些主要的学习算法?答:机器学习可以分为监督学习(supervisedlearning)、无监督学习(unsupervisedlearning)、半监督学习(semi-supervisedlearning)和强化学习(reinforcementlearning)4类。监督学习使用已标注好的训练数据将已有知识应用于新数据,以预测未来事件。监督学习的主要任务包括分类(classification)和回归(regressive)。分类学习算法主要有决策树、k近邻、支持向量机等。无监督学习不需要人工标注的训练数据,它是基于统计的学习方法,通过对未知结果的数据进行分析来发现数据隐藏特征。无监督学习中最常见的任务是聚类,它根据事物之间的相似性,将相似的事物归为一簇(cluster)。例如k均值聚类算法(k-means算法)。半监督学习是监督学习和无监督学习相结合的一种学习方法,它自动地利用好大量无分类标签的训练数据以辅助少量有标签的训练数据进行学习。强化学习强调智能主体在奖励或惩罚的环境刺激下如何做出能取得最大化预期利益的行动,也就是说,让智能主体在环境中自我学习。4.“分类”与“聚类”的区别是什么?答:分类是在已知答案的指导下进行预测,聚类是在没有答案的情况下自行寻找数据的内在结构。(1)学习方式不同:分类是有监督学习,依赖有标签的训练数据集进行模型训练;聚类是无监督学习,不需要事先定义类别或标签。(2)类别定义不同:分类的类别是已知的、预定义的;聚类的类别是未知的,是在过程中根据数据相似度自动生成的。(3)核心目标不同:分类的目标是学习一个模型,将新数据划分到预定义的类别中;聚类的目标是将数据根据相似性组织成若干个自然簇。(4)应用场景不同:分类适用于类别确定的场合(如垃圾邮件检测);聚类适用于探索性数据分析(如市场细分)。(5)结果解释不同:分类结果容易解释,可给出概率或置信度;聚类结果可能需要进一步分析和解释,可能存在意外分组。5.有一个疾病检测模型,实际类别和预测类别如表5-6所示,计算相关机器学习评价指标。表5-6疾病检测实际类别和预测类别实际类别预测类别阳性(感染)阴性(健康)总计阳性(感染)30(TP)5(FN)35阴性(健康)10(FP)55(TN)65总计4060100答:符号解释:TP(TruePositive):实际为阳性,预测为阳性(正确预测感染)。FP(FalsePositive):实际为阴性,预测为阳性(误诊为感染)。FN(FalseNegative):实际为阳性,预测为阴性(漏诊感染)。TN(TrueNegative):实际为阴性,预测为阴性(正确排除感染)。评价指标计算:(1)准确率(Accuracy)Accuracy=(NTP+NTN)/(NTP+NTN+NFP+NFN)=(30+55)/100=0.85(85%)意义:模型整体预测正确的比例。(2)精确率(Precision)Precision=NTP/(NTP+NFP)=30/(30+10)=0.75(75%)意义:预测为阳性的样本中,实际为阳性的比例(控制误诊率)。(3)召回率(Recall)Recall=NTP/(NTP+N)=30/(30+5)≈0.857(85.7%)意义:实际为阳性的样本中,被正确预测的比例(控制漏诊率)。(4)F1分数(F1-Score)公式:F1=2·Precision·Recall/(Precision+Recall)=2(0.75·0.857)/(0.75+0.857)≈0.792(79.2%)意义:精确率和召回率的调和平均,平衡两者的重要性。三、实验题1.使用Scikit-learn库,通过make_moons函数生成一个具有2000个样本的数据集,按照75%和25%的比例划分训练集和测试集,使用决策树模型进行二分类,最后计算准确率。importnumpyasnpimportpandasaspdfromsklearn.datasetsimportmake_moonsfromsklearn.model_selectionimporttrain_test_splitfromsklearn.treeimportDecisionTreeClassifiernp.random.seed(42)raw_data=make_moons(n_samples=2000,noise=0.25,random_state=42)data=raw_data[0]target=raw_data[1]print(data.shape,target.shape)x_train,x_test,y_train,y_test=train_test_split(data,target)classifer=DecisionTreeClassifier()classifer.fit(x_train,y_train)#DecisionTreeClassifier()print(classifer.score(x_test,y_test))2.个人收入与其受教育年限的关系分析。2021年10月公布了当年的诺贝尔经济学奖,获奖的三位学者研究发现,个人收入与其受教育年限紧密相关。现有一组关于受教育时间和个人年收入的数据如表5-7所示,请先进行线性回归拟合,然后绘图展示,其中样本数据用蓝色散点表示,拟合直线用红色实线表示。表5-7个人收入与其受教育年限的关系受教育时间/年收入/万元受教育时间/年收入/万元94.52215.6126.72519.5158.02721.41910.6importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_modelimportLinearRegressionX=np.array([9,12,15,19,22,25,27]).reshape(-1,1)#-1表示该维大小是自动计算的y=np.array([4.5,6.7,8.0,10.6,15.6,19.5,21.4])model=LinearRegression()#创建线性回归模型model.fit(X,y)#拟合模型slope=model.coef_[0]#获取拟合直线的斜率intercept=ercept_#获取截距print(slope,intercept)X_plot=np.linspace(min(X),max(X),100).reshape(-1,1)#创建用于绘图的X值范围y_plot=model.predict(X_plot)#使用模型预测Y值plt.scatter(X,y,color='b',label='DataPoints')#绘制蓝色散点图plt.plot(X_plot,y_plot,color='r',label='RegressionLine')#绘制红色拟合直线plt.legend()#添加图例plt.xlabel('YearsofEducation')#添加轴标签plt.ylabel('AnnualIncome')plt.show()#显示图形3.利用k均值算法对鸢尾花数据集进行聚类分析,定义k=3,忽略数据集的分类标签,取前2列特征值,要求输出聚类结果图形。importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_irisfromsklearn.clusterimportKMeans#加载鸢尾花数据集,仅取前两列特征iris=load_iris()X=iris.data[:,:2]#取萼片长度和萼片宽度#应用K-means聚类(k=3)kmeans=KMeans(n_clusters=3,random_state=42,n_init=10)kmeans.fit(X)labels=kmeans.labels_centers=kmeans.cluster_centers_#可视化聚类结果(二维特征直接可视化)plt.figure(figsize=(10,6))#绘制数据点(按聚类标签着色)foriinrange(3):cluster_data=X[labels==i]plt.scatter(cluster_data[:,0],cluster_data[:,1],label=f'Cluster{i}',s=50,alpha=0.8)#绘制聚类中心plt.scatter(centers[:,0],centers[:,1],c='red',s=200,marker='X',edgecolor='k',label='Centroids')#添加图形元素plt.title('K-meansClusteringonIrisDataset(First2Features)')plt.xlabel(iris.feature_names[0])#萼片长度plt.ylabel(iris.feature_names[1])#萼片宽度plt.legend()plt.grid(True,linestyle='--',alpha=0.3)plt.show()
第6章深度学习基础与应用习题与实验一、选择题1.下列关于深度学习的核心特征,错误的是()。A.能够自动从数据中学习多层次的特征表示B.需要大量标注数据进行训练C.模型参数通常较少,计算成本低D.具有强大的函数逼近能力2.关于反向传播算法,错误的是()。A.分为前向传播和反向传播两个阶段B.利用链式法则计算损失函数关于参数的梯度C.能够自动减少网络层数以降低计算成本D.是训练深度学习模型的核心技术3.对于一个图像识别问题(如在一张照片里找出一只猫),可以更好地解决这个问题的神经网络是()。A.BP神经网络B.感知机C.多层感知机D.卷积神经网络4.在卷积神经网络中,池化层的主要作用是()。A.增加特征图的通道数B.减少特征图的空间尺寸C.引入非线性变换D.调整卷积核的大小5.关于LSTM网络,以下说法错误的是()。A.通过遗忘门决定保留多少历史信息B.通过输入门决定更新多少新信息C.通过输出门决定输出多少信息D.比传统RNN更难以处理长序列依赖6.关于生成对抗网络,以下描述正确的是()。A.由生成器和分类器组成B.生成器试图生成尽可能真实的数据C.判别器试图生成假数据D.训练过程非常稳定,不会出现模式崩溃7.下列关于神经元的描述中,错误的是()。A.每个神经元可以有一个输入和一个输出 B.每个神经元可以有多个输入和一个输出C.每个神经元可以有0个输入和多个输出D.每个神经元可以有多个输入和多个输出8.输入图片大小为200×200,依次经过一层卷积(卷积核大小为5×5,输入矩阵周围填充圈数为1,步长为2),池化(卷积核大小为3×3,填充圈数为0,步长为1),又一层卷积(卷积核大小为3×3,填充圈数为1,步长为1)之后,输出特征图大小为()。A.95×95B.96×96C.97×97D.98×98二、问答题1.简述深度学习与传统机器学习的主要区别。答:深度学习通过大规模数据和复杂模型实现了自动特征提取和强大性能,但牺牲了可解释性和训练效率;传统机器学习则依赖人工特征,在小规模数据和需要透明决策的场景中仍有优势。(1)数据依赖程度:传统机器学习在数据量有限时,可依靠先验知识和人工特征取得较好效果;而深度学习高度依赖海量数据,数据规模越大,其性能越强。(2)特征工程方式:传统机器学习需由领域专家手动设计特征,过程耗时且依赖经验;深度学习则具备自动特征学习能力,能从原始数据中逐层提取高层语义特征,极大减少人工干预。(3)模型结构与复杂度:传统模型结构简单、参数较少,可解释性强,但处理复杂非线性问题能力有限;深度学习模型包含多层神经网络,参数众多,能够拟合高度复杂的函数关系,但解释性较差。(4)学习方式与训练过程:传统学习采用确定性方式,训练快速且对计算资源要求低;深度学习通过随机梯度下降等算法动态优化,训练耗时且通常需要GPU集群等强大计算资源。(5)模型可解释性:传统模型透明性高(如决策树可直接展示规则);深度学习则常被视为“黑箱”,内部特征交互机制难以理解,尽管部分可视化技术可提供一定线索。2.解释反向传播算法的工作原理。答:反向传播算法是一种监督学习算法,用于训练神经网络。其核心工作原理是通过两个阶段的交替迭代,不断优化网络参数(权重和偏置),使模型的预测输出逼近期望输出。前向传播:输入数据从输入层开始,逐层经过隐藏层的线性变换和激活函数处理,最终在输出层产生预测结果。反向传播:计算输出层的预测值与真实值之间的误差(损失),然后利用链式法则将误差从输出层反向传播至每一层,逐层求出损失函数对各层参数的梯度(即误差对各参数的偏导数)。参数更新:根据计算出的梯度,采用梯度下降等优化算法,沿梯度的反方向调整各层的权重和偏置,从而减小损失。重复这一过程,直到网络收敛。该算法依赖计算图来结构化表达前向计算与梯度传播,链式法则为梯度计算提供数学基础,梯度下降则负责利用梯度优化参数,三者共同实现了神经网络的高效训练。3.在人工神经元的设计过程中,为什么要加入激活函数?有哪些常用的激活函数?答:如果激活层只是采用线性激励函数,神经网络的每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机。激活层只有引入非线性函数作为激励函数,这样深层神经网络不再是输入的线性组合,可以逼近任意函数,这种深层神经网络才具有意义。常用的激活函数有阶跃函数、符号函数、Sigmoid函数、双曲正切函数和ReLU函数。4.典型的卷积神经网络由哪些部分组成?卷积层和池化层的作是什么?答:卷积神经网络就是一种包含卷积和池化计算且具有深度结构的前馈神经网络。典型的卷积神经网络是由多个卷积层(convolutionallayer)和池化层(poolinglayer)叠加起来之后再加上全连接层(fullyconnectedlayer)构成的。卷积层的作用是通过卷积核对输入信息进行卷积运算,从而实现特征提取。池化层通过对特征图的局部区域进行统计汇总(如取最大值或平均值),实现特征降维、减少计算量,并增强模型对输入微小变化的鲁棒性(平移不变性)。5.对例6-4,如果采用平均池化,池化大小为2×2,步长为2的池化方式,池化后的特征图输出矩阵是什么?答:(1)因为池化大小为2×2,所以选取矩阵A[1:2,1:2]中平均数3作为特征图输出矩阵B[1][1]的值。(2)因为采用步长为2的池化方式,所以下面选取矩阵A[1:2,3:4]中平均数5作为特征图输出矩阵B[1][2]的值。(3)同理,可以求出特征图输出矩阵B[2][1]、B[2][2]的值分别为2、2。最后得到池化后的特征图输出矩阵为[[3,5],[2,2]]。三、实验题1.调整MLPClassifier类的solver参数,比较不同参数的模型在鸢尾花数据集上的分类性能。参考教材6.2.4小节。2.利用卷积神经网络进行图像分类。要求如下:(1)构建一个包含卷积层、池化层和全连接层的卷积神经网络模型。(2)对数据进行归一化。(3)使用CIFAR-10数据集进行训练和测试。(4)绘制训练过程中的损失和准确率曲线。(5)在测试集上评估模型性能。importnumpyasnpdefconv2d(image,kernel,stride=1,padding=0):#添加paddingifpadding>0:image=np.pad(image,((padding,padding),(padding,padding)),'constant')#获取输入和卷积核尺寸h,w=image.shapekh,kw=kernel.shape#计算输出尺寸out_h=(h-kh)//stride+1out_w=(w-kw)//stride+1#初始化输出output=np.zeros((out_h,out_w))#执行卷积foriinrange(0,out_h):forjinrange(0,out_w):#计算当前窗口位置h_start=i*strideh_end=h_start+khw_start=j*stridew_end=w_start+kw#提取当前窗口并计算点积window=image[h_start:h_end,w_start:w_end]output[i,j]=np.sum(window*kernel)returnoutput#测试image=np.random.rand(5,5)#5x5随机图像kernel=np.array([[1,0,-1],[1,0,-1],[1,0,-1]])#3x3边缘检测核result=conv2d(image,kernel,stride=1,padding=1)print(result)3.利用长短时记忆网络(LSTM)进行文本生成。要求如下:(1)使用PyTorch实现基于LSTM的字符级文本生成模型。(2)构建字符级的LSTM语言模型。(3)使用莎士比亚文本数据集进行训练。(4)实现文本生成功能。(5)观察不同温度参数对生成文本多样性的影响。importtorchimporttorch.nnasnnimporttorch.optimasoptimfromtorchvisionimportdatasets,transformsimportmatplotlib.pyplotasplt#生成器classGenerator(nn.Module):def__init__(self,latent_dim=100):super(Generator,self).__init__()self.model=nn.Sequential(nn.Linear(latent_dim,256),nn.LeakyReLU(0.2),nn.Linear(256,512),nn.LeakyReLU(0.2),nn.Linear(512,28*28),nn.Tanh())defforward(self,z):returnself.model(z).view(-1,1,28,28)#判别器classDiscriminator(nn.Module):def__init__(self):super(Discriminator,self).__init__()self.model=nn.Sequential(nn.Linear(28*28,512),nn.LeakyReLU(0.2),nn.Linear(512,256),nn.LeakyReLU(0.2),nn.Linear(256,1),nn.Sigmoid())defforward(self,img):img_flat=img.view(img.size(0),-1)returnself.model(img_flat)#训练设置device=torch.device("cuda"iftorch.cuda.is_available()else"cpu")generator=Generator().to(device)discriminator=Discriminator().to(device)#损失函数和优化器criterion=nn.BCELoss()lr=0.0002g_optimizer=optim.Adam(generator.parameters(),lr=lr)d_optimizer=optim.Adam(discriminator.parameters(),lr=lr)#训练循环deftrain_gan(num_epochs,dataloader):forepochinrange(num_epochs):fori,(real_imgs,_)inenumerate(dataloader):batch_size=real_imgs.size(0)real_imgs=real_imgs.to(device)#训练判别器d_optimizer.zero_grad()#真实图片的损失real_labels=torch.ones(batch_size,1).to(device)real_output=discriminator(real_imgs)d_loss_real=criterion(real_output,real_labels)#生成图片的损失z=torch.randn(batch_size,100).to(device)fake_imgs=generator(z)fake_labels=torch.zeros(batch_size,1).to(device)fake_output=discriminator(fake_imgs.detach())d_loss_fake=criterion(fake_output,fake_labels)#总判别器损失d_loss=d_loss_real+d_loss_faked_loss.backward()d_optimizer.step()#训练生成器g_optimizer.zero_grad()output=discriminator(fake_imgs)g_loss=criterion(output,real_labels)g_loss.backward()g_optimizer.step()ifi%100==0:print(f"Epoch[{epoch}/{num_epochs}],Batch[{i}/{len(dataloader)}],"f"D_loss:{d_loss.item():.4f},G_loss:{g_loss.item():.4f}")#保存模型和生成示例torch.save(generator.state_dict(),'generator.pth')torch.save(discriminator.state_dict(),'discriminator.pth')#生成示例图像withtorch.no_grad():z=torch.randn(16,100).to(device)generated=generator(z).cpu()plt.figure(figsize=(8,8))foriinrange(16):plt.subplot(4,4,i+1)plt.imshow(generated[i][0],cmap='gray')plt.axis('off')plt.show()#数据加载transform=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5,),(0.5,))])dataset=datasets.MNIST(root='./data',train=True,download=True,transform=transform)dataloader=torch.utils.data.DataLoader(dataset,batch_size=64,shuffle=True)#开始训练train_gan(10,dataloader)
第7章大模型技术与应用习题与实验一、选择题1.大模型的特点不包括()。A.巨大的规模B.预训练加微调的学习方法C.更好的性能和泛化能力D.小规模数据训练2.Transformer架构的核心思想是()。A.使用循环神经网络处理序列数据B.通过自注意力机制获取输入序列的全局信息C.使用卷积神经网络提取特征D.使用长短期记忆网络处理长距离依赖关系3.知识蒸馏技术的主要目的是()。A.增加模型的参数数量B.减小模型的大小和计算复杂度C.提高模型的训练速度D.增加模型的层数4.模型剪枝技术通过移除()来减小模型大小。A.权重或神经元B.数据集C.激活函数D.输入层5.自注意力机制在处理输入数据时,()来调整不同位置的元素的关注程度。A.通过计算序列中各个元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 痛风的诊断和治疗原则
- 2026年网络安全防护培训宣传
- 2026年生产设备安全操作培训
- 牵引患者的护理标准
- 2025-2026学年四川省德阳市旌阳区七年级(上)期末道德与法治试卷(含答案)
- DB36-T 907-2023 金福菇生产技术规程
- 危重症患者心理护理
- 电子制造厂物料管理细则
- 国开2026年《刑法学(2)》形考作业一到四答案
- 2026年燃气阀门关闭培训
- 华南理工大学自主招生综合素质陈述范文
- 企业综合部管理制度
- 怎样预防精神疾病复发
- 物业公司证书管理制度
- 《光伏电站项目全过程管理手册》(第一分册前言、开发、测算、审批、配储)
- 护理实践中的慢性病管理和康复服务
- 个人信用的重要性
- DZ/T 0221-2006崩塌、滑坡、泥石流监测规范
- 科技论文写作 第2版 课件 第1-5章 科技论文写作概述-英文科技论文的写作
- T/CCMA 0133-2022高尔夫球车
- DB31/T 634-2020电动乘用车运行安全和维护保障技术规范
评论
0/150
提交评论