版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能基础及应用(Python微课版)人工智能数据分析数据可视化机器学习深度学习大模型01人工智能《牛津英语词典》对智能的定义为“获取和应用知识与技能的能力”。也许人工智能已经影响了我们对智力的一般性认识,人们会根据对实际情况的指导作用来判断知识的重要程度。人工智能的一个重要领域就是储存知识以供计算机使用。棋局是程序员研究的早期问题。1997年,IBM机器深蓝击败了人类象棋大师,但深蓝并没有显示出任何人类特质,仅仅只是对这一任务快速有效的编程而已。人工智能概述人工智能研究领域的一个较早流行的定义,是由约翰·麦卡锡在1956年的达特茅斯会议上提出的,即:人工智能就是要让机器的行为看起来像是人类所表现出的智能行为一样。另一个定义指出:人工智能是人造机器所表现出来的智能性。总体来讲,对人工智能的定义大多可划分为四类,即机器“像人一样思考”“像人一样行动”“理性地思考”和“理性地行动”。这里“行动”应广义地理解为采取行动,或制定行动的决策,而不是肢体动作。人工智能定义尼尔逊教授对人工智能下了这样一个定义:“人工智能是关于知识的学科――怎样表示知识以及怎样获得知识并使用知识的科学。”而温斯顿教授认为:“人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。”这些说法反映了人工智能学科的基本思想和基本内容。即人工智能是研究人类智能活动的规律,构造具有一定智能的人工系统,研究如何让计算机去完成以往需要人的智力才能胜任的工作,也就是研究如何应用计算机的软/硬件来模拟人类某些智能行为的基本理论、方法和技术。人工智能不是人的智能,但能像人那样思考,甚至也可能超过人的智能。人工智能定义人工智能目前还没有统一的定义。麦卡锡(McCarthy)认为,人工智能就是要让机器的行为看起来像是人所表现出的智能行为一样。尼尔逊(Nilsson)认为,人工智能是关于人造物的智能行为,包括知觉、推理、学习、交流和在复杂环境中的行为。人工智能发展历程110年黄金时代第二阶段从1973年到1980年。1960年代,AI开始在简单的逻辑推理和问题解决方面取得进展,但受限于计算能力不足。1970年代,AI进入“寒冬期”,由于技术瓶颈和资金削减,发展陷入低谷。著名数学拉特希尔家对当时的机器人技术、语言处理技术和图像识别技术进行批评,认为人工智能宏伟的目标根本无法实现,此时的研究已经完全失败。虽然很多难题理论上可以解决,但由于计算量惊人增长,实际上根本无法解决相关问题人工智能发展历程2第一次寒冬第三阶段从1980年到1987年。在1980年,卡耐基梅隆大学研发的XCON专家系统投入使用,成为这一个时期的里程碑。由于专家系统限定解决特定问题,避免了通用人工智能的各种难题,从而解决许多领域问题。人工智能发展历程3繁荣期第四阶段从1987年到1993年。由于专家系统无法自我学习、更新知识库,而且维护麻烦,被迫放弃,从而人工智能进入到理论研究的迷茫之中。人工智能发展历程4第二次寒冬
第五阶段从1994年到2010年。机器学习(MachineLearning,简称ML)成为AI的核心技术,AI开始从数据中学习模式和规律。由于计算机硬件提供了强大的计算能力,使得人工智能取得突破性的成果。1997年,IBM的“深蓝”(DeepBlue)击败国际象棋世界冠军卡斯帕罗夫,标志着AI在特定领域超越人类。2010年代,深度学习(DeepLearning)兴起,基于人工神经网络的算法在图像识别、语音识别等领域取得重大突破。人工智能发展历程5稳健时代
2010年代,AI在自然语言处理、计算机视觉、医疗、金融等领域广泛应用,成为推动社会变革的重要力量。2014年,AI技术继续快速发展,生成式AI(如ChatGPT)和推理式AI成为研究热点。至此,人工智能在专家系统、机器学习、进化计算、模糊逻辑、计算机视觉、自然语言处理、推荐系统等各个领域蓬勃发展。人工智能发展历程6当代发展与应用对于人的思维模拟的研究可以从两个方向进行,一是结构模拟,仿照人脑的结构机制,制造出“类人脑”的机器;二是功能模拟,从人脑的功能过程进行模拟。现代电子计算机的产生便是对人脑思维功能的模拟,是对人脑思维的信息过程的模拟。实现人工智能有三种途径,即强人工智能、弱人工智能和实用型人工智能。人工智能分类强人工智能,又称多元智能。研究人员希望人工智能最终能成为多元智能并且超越大部分人类的能力。有些人认为要达成以上目标,可能需要拟人化的特性,如人工意识或人工大脑,这被认为是人工智能的完整性:为了解决其中一个问题,你必须解决全部的问题。即使一个简单和特定的任务,如机器翻译,要求机器按照作者的论点(推理),知道什么是被人谈论(知识),忠实地再现作者的意图(情感计算)。因此,机器翻译被认为是具有人工智能完整性。人工智能的实现途径强人工智能的观点认为有可能制造出真正能推理和解决问题的智能机器,并且这样的机器将被认为是有知觉的,有自我意识的。强人工智能可以有两类:(1)类人的人工智能,即机器的思考和推理就像人的思维一样;(2)非类人的人工智能,即机器产生了和人完全不一样的知觉和意识,使用和人完全不一样的推理方式。强人工智能即便可以实现也很难被证实。为了创建具备强人工智能的计算机程序,我们首先必须清楚了解人类思维的工作原理,而想要实现这样的目标,还有很长的路要走。人工智能的实现途径弱人工智能,认为不可能制造出能真正地推理和解决问题的智能机器,这些机器只不过看起来像是智能的,但是并不真正拥有智能,也不会有自主意识。弱人工智能只要求机器能够拥有智能行为,具体的实施细节并不重要。深蓝就是在这样的理念下产生的,它没有试图模仿国际象棋大师的思维,仅仅遵循既定的操作步骤。倘若人类和计算机遵照同样的步骤,那么比赛时间将会大大延长,因为计算机每秒验算的可能走位就高达2亿个,就算思维惊人的象棋大师也不太可能达到这样的速度。人工智能的实现途径第三种途径称为实用型人工智能,又称通用人工智能。研究者们将目标放低,不再试图创造出像人类一般智慧的机器。眼下我们已经知道如何创造出能模拟昆虫行为的机器人。机械家蝇看起来似乎并没有什么用,但即使是这样的机器人,在完成某些特定任务时也是大有裨益的。比如,一群如狗大小,具备蚂蚁智商的机器人在清理碎石和在灾区找寻幸存者时就能够发挥很大的作用。
人工智能的实现途径数据算力算法人工智能三要素数据是人工智能的“燃料”,用来训练、测试和验证人工智能模型。在AI领域,数据是训练模型的基础,就像食材对于烹饪一样重要。数据可以是文本、图像、音频、视频等多种形式。数据算力是指硬件设备(如CPU(CentralProcessingUnit,中央处理单元)、GPU(GraphicsProcessingUnit,图形处理单元)、TPU(TensorProcessingUnit,张量处理器)处理数据和运行算法的能力。简单来说,算力就像是烹饪的火力,火力越大,烹饪的速度就越快。在AI训练过程中,强大的算力可以加速模型的训练,使模型更快地学习数据中的规律。算力AI算法简单可以分为机器学习和深度学习等。机器学习包括监督学习、无监督学习和强化学习。算法当前,全世界差不多有600多种计算机编程语言,但流行的编程语言也就10来种。其中,C语言适合开发涉及硬件性能的程序;Java语言适合编写网络应用程序;Basic语言适合初学者;JavaScript脚本语言适合网页编程等。Python是一种高级、解释型的编程语言,由荷兰程序员吉多·范罗苏姆(GuidovanRossum)在1989年底发明,并于1991年首次发布。Python具有语法简单、跨平台、拥有海量第三方库,适合Web、数据分析、AI、自动化脚本等各种领域。Python语言(1)简洁易学语法Python作为代表简单主义思想的语言,语法简捷而清晰,结构简单,易于快速上手学习。由于Python在学习过程中不过多计较程序语言在形式上的诸多细节和规则,从而便于专注程序本身的逻辑和算法。其代码可读性强,便于理解和修改,提高了开发效率。Python语言特性(2)活跃的社区支持Python拥有庞大且活跃的开发者社区,提供了丰富的文档、教程和示例代码,方便开发者解决问题和快速学习,促进了人工智能技术的迭代和共享。Python语言特性(3)良好的跨平台性计算机并不能直接接收和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式:一种是编译执行;另一种是解释执行。编译执行是指源程序代码先由编译器编译成可执行的机器码,然后再执行;解释执行是指源代码程序被解释器直接读取执行。编译执行和解释执行各有优缺点,编译执行可一次性将高级语言源程序编译成二进制的可执行指令,通常执行效率高。解释执行是指将该语言的源程序转变成二进制指令交给计算机执行,通常可以灵活的跨平台。Python作为解释型语言,支持Windows、macOS和Linux等操作系统,便于在不同环境中部署AI应用,具有良好的跨平台性。Python语言特性(4)优秀的集成和扩展性Python称为胶水语言,与其他语言(特别是c或c++)联结在一起,其具有丰富的API和标准库,通过调用底层算法提高性能,同时允许开发者编写C/C++代码来扩展Python功能,实现更高效的计算。另外,Python与大数据(Hadoop、Spark)、云计算(AWS、GoogleCloud)和物联网(IoT)等集成,为构建复杂AI系统提供了便利。Python语言特性1.数据获取与清洗•requests/aiohttp/scrapy:抓取网络数据•pandas/polars:表格数据清洗、聚合、缺失值处理•numpy:向量化数值计算,与张量库无缝对接•pillow/opencv-python/scikit-image:图像解码、增强•librosa/soundfile/scipy.io.wavfile:音频读取•h5py/zarr/parquet:大规模数据格式Python支撑AI2.核心数值&深度学习框架•TensorFlow/PyTorch/JAX:自动微分、GPU/TPU加速、分布式训练•MindSpore/PaddlePaddle:国产框架,兼容ONNX与昇腾/昆仑芯•MXNet/Chainer:早期框架,仍有存量项目•ONNXRuntime:跨框架推理加速Python支撑AI3.经典机器学习•scikit-learn:传统ML全流程(预处理→特征工程→模型→评估→调参)•xgboost/lightgbm/catboost:梯度提升树,表格赛事实战利器•statsmodels:统计检验、ARIMA、假设检验•imbalanced-learn:样本不平衡处理•optuna/hyperopt:超参优化Python支撑AI4.自然语言处理•HuggingFacetransformers:10万+预训练模型(BERT/GPT/T5)•spaCy/nltk:工业级/教学级NLP工具•tokenizers:多线程字节级分词器•sentence-transformers:句向量、语义搜索•langchain/llama-index:大模型应用编排Python支撑AI5.计算机视觉•torchvision/opencv-python:图像I/O、增强、常用模型•mmcv/mmdetection:检测、分割、姿态估计统一框架•timm:1000+SOTA视觉Transformer模型库•albumentations:高效数据增强Python支撑AI6.强化学习•gym/gymnasium:环境接口规范•stable-baselines3:经典RL算法(PPO、SAC、DQN)•ray[rllib]:分布式RL训练•pettingzoo:多智能体环境Python支撑AI人工智能三大技术
人工智能技术的三大结合领域分别是大数据、物联网和边缘计算(云计算)。大数据为AI提供了丰富的数据资源;物联网为AI提供了广泛的应用场景和实时数据;云计算和边缘计算为AI提供了强大的计算支持。传统思维方式大数据时代需要新的思维方式大数据思维方式运用大数据思维具体实例大数据思维大数据时代需要新的思维方式不确定性在我们生活的世界里无处不在,由于不确定性是这个世界的重要特征,以至于我们按照传统的方法——机械论的方法,很难做出准确的预测01世界的不确定性,折射出在信息时代的方法论:获得更多的信息,有助于消除不确定性,因此,谁掌握了信息,谁就能够获取财富,这就如同在工业时代,谁掌握了资本谁就能获取财富一样02数据学家认为,世界的本质是数据。通过采集、量化、计算、分析各种事物,来重新解释和定义这个世界,并通过数据来消除不确定性,对未来加以预测03转变思维方式,努力把身边的事物量化,以数据的形式加以对待,这是实现大数据时代思维方式转变的“核心”04大数据思维方式全样而非抽样过去,由于数据采集、数据存储和处理能力的限制,在科学分析中,通常采用抽样的方法,即从全集数据中抽取一部分样本数据,通过对样本数据的分析,来推断全集数据的总体特征大数据技术提供了理论上近乎无限的数据存储空间和强大的海量数据并行处理能力,可以直接针对全集数据而不是抽样数据,并且可以在短时间内得到分析结果大数据思维方式效率而非精确过去,我们在科学分析中采用抽样分析方法,就必须追求分析方法的精确性,因为,抽样分析只是针对部分样本的分析,其分析结果被应用到全集数据以后,误差会被放大现在,大数据时代采用全样分析而不是抽样分析,全样分析结果就不存在误差被放大的问题,因此,追求高精确性已经不是其首要目标,数据分析需要秒级响应,因此,效率成为关注的核心追求效率不是追求精确大数据思维方式相关而非因果在大数据时代,因果关系不再那么重要,人们转而追求“相关性”而非“因果性”相关性用户在网店购买一本书网店自动推荐相关的另一本书大数据思维方式以数据为中心数据驱动方法从20世纪70年代开始起步,在八九十年代得到缓慢但稳步的发展。进入21世纪后,由于互联网的出现,使得可用的数据量剧增,数据驱动方法的优势越来越明显,最终完成了从量变到质变的飞跃。如今很多需要类似人类智能才能做的事情,计算机已经可以胜任了,这得益于数据量的增加01全世界各个领域数据不断向外扩展,渐渐形成了另外一个特点,那就是很多数据开始出现交叉,各个维度的数据从点和线渐渐连成了网,或者说,数据之间的关联性极大地增强,在这样的背景下,就出现了大数据,使得“以数据为中心”的思考解决问题的方式优势逐渐得到显现02大数据在互联网领域的应用互联网的飞速发展使我们进入了信息过载的时代,搜索引擎可以帮助我们查找内容,但只能解决明确的需求为了让用户从海量信息中高效地获得自己所需的信息,推荐系统应运而生推荐系统是大数据在互联网领域的典型应用,它可以通过分析用户的历史记录来了解用户的喜好,从而主动为用户推荐其感兴趣的信息,满足用户的个性化推荐需求推荐系统是自动联系用户和物品的一种工具,和搜索引擎相比,推荐系统通过研究用户的兴趣偏好,进行个性化计算。推荐系统可发现用户的兴趣点,帮助用户从海量信息中去发掘自己潜在的需求大数据在生物医学领域的应用从谷歌流感趋势看大数据的应用价值:“谷歌流感趋势”,通过跟踪搜索词相关数据来判断全美地区的流感情况1.流行病预测大数据在生物医学领域的应用促进优质医疗资源共享促进医疗智能化避免患者重复检查2.智慧医疗大数据在生物医学领域的应用生物信息学是研究生物信息的采集、处理、存储、传播、分析和解释等方面的学科,也是随着生命科学和计算机科学的迅猛发展、生命科学和计算机科学相结合形成的一门新学科,它通过综合利用生物学、计算机科学和信息技术,揭示大量而复杂的生物数据所蕴含的生物学奥秘和互联网数据相比,生物信息学领域的数据更是典型的大数据生物大数据使得我们可以利用先进的数据科学知识,更加深入地了解生物学过程、作物表型、疾病致病基因等用大数据分析技术,可以从个人健康档案中有效预测个人健康趋势,并为其提供疾病预防建议,达到“治未病”的目的3.生物信息学大数据在物流领域的应用智能物流,又称智慧物流,是利用集成智能化技术,使物流系统能模仿人的智能,具有思维、感知、学习、推理判断和自行解决物流中某些问题的能力,从而实现物流资源优化调度和有效配置、物流系统效率提升的现代化物流管理模式1.智能物流的概念大数据在物流领域的应用在物流领域有两个著名的理论——“黑大陆说”和“物流冰山说”。这两个理论都旨在说明物流活动的模糊性和巨大潜力,发现隐藏在海量数据背后的有价值的信息,是大数据的重要商业价值。大数据是打开物流领域这块神秘的“黑大陆”的一把金钥匙大数据将推动物流行业从粗放式服务到个性化服务的转变,颠覆整个物流行业的商业模式“黑大陆”理论提出者美国管理学权威彼得F.德鲁克2
大数据是智能物流的关键大数据在城市管理领域的应用智能交通将先进的信息技术、数据通信传输技术、电子传感技术、控制技术以及计算机技术等,有效集成并运用于整个地面交通管理,同时可以利用城市实时交通信息、社交网络和天气数据来优化最新的交通情况1.
智能交通大数据在城市管理领域的应用森林监视近年来,人们开始把大数据应用于森林监视,其中,谷歌森林监视就是一项具有代表性的研究成果谷歌森林监视系统采用谷歌搜索引擎提供时间分辨率,采用NASA和美国地质勘探局的地球资源卫星提供空间分辨率。系统利用卫星的可见光和红外数据画出某个地点的森林卫星图像。在卫星图像中,每个像素都包含了颜色和红外信号特征等信息,如果某个区域的森林被破坏,该区域对应的卫星图像像素信息就会发生变化;因此,通过跟踪监测森林卫星图像上像素信息的变化,就可以有效监测到森林变化情况,当大片森林被砍伐破坏时,系统就会自动发出警报2.环保监测大数据在城市管理领域的应用环境保护大数据已经被广泛应用于污染监测领域,借助大数据技术,采集各项环境质量指标信息,集成整合到数据中心进行数据分析,并把分析结果用于指导下一步环境治理方案的制定,可以有效提升环境整治的效果中国水污染地图中国空气污染地图中国固废污染地图汽车尾气污染治理2.环保监测大数据在城市管理领域的应用地理数据利用地理数据可以研究全国城市扩张模拟、城市建成区识别公交IC卡数据手机通话数据社交网络数据住房数据利用搜房网的住房销售和出租数据,同时结合网络爬虫获取的居民住房地理位置和周边设施条件数据,就可以评价一个城区的住房分布和质量情况利用公交IC卡数据,可以开展城市居民通勤分析、职住分析、人的行为分析、人的识别、重大事件影响分析、规划项目实施评估分析等利用移动手机通话数据,可以研究城市联系、居民属性、活动关系及其对城市交通的影响利用社交网络数据,可以研究城市功能分区、城市网络活动与等级、城市社会网络体系等。利用出租车定位数据,可以开展城市交通研究3.城市规划大数据在城市管理领域的应用中国的很多城市都在开展平安城市建设,在城市的各个角落密布成千上万个摄像头,7×24小时不间断采集各个位置的视频监控数据,数据量之大,超乎想象除了视频监控数据,安防领域还包含大量其他类型的数据,包括结构化、半结构化和非结构化数据4.安防领域大数据在金融领域的应用高频交易(High-FrequencyTrading,HFT)是指从那些人们无法利用的极为短暂的市场变化中寻求获利的计算机化交易,比如,某种证券买入价和卖出价差价的微小变化,或者某只股票在不同交易所之间的微小价差为了从高频交易中获得更高的利润,一些金融机构开始引入大数据技术来决定交易1.高频交易大数据在金融领域的应用市场情绪分析是交易者在日常交易工作中不可或缺的一环,根据市场情绪分析、技术分析和基本面分析,可以帮助交易者做出更好的决策。大数据技术在市场情绪分析中大有用武之地2.市场情绪分析大数据在金融领域的应用大数据分析技术已经能够为企业信贷风险分析助一臂之力。通过收集和分析大量中小微企业用户日常交易行为的数据,判断其业务范畴、经营状况、信用状况、用户定位、资金需求和行业发展趋势,解决由于其财务制度的不健全而无法真正了解其真实经营状况的难题,让金融机构放贷有信心、管理有保障收集和分析大量中小微企业用户日常交易行为的数据解决由于其财务制度的不健全而无法真正了解其真实经营状况的难题,让金融机构放贷有信心、管理有保障判断业务范畴经营状况信用状况用户定位资金需求行业发展趋势3.信贷风险分析大数据在金融领域的应用大数据征信就是利用信息技术优势,将不同信贷机构、消费场景、支离破碎的海量数据整合起来,经过数据清洗、模型分析、校验等一系列流程后,加工融合成真正有用的信息4.大数据征信大数据在汽车领域的应用为了实现无人驾驶的功能,谷歌无人驾驶汽车上配备了大量传感器,包括雷达、车道保持系统、激光测距系统、红外摄像头、立体视觉、GPS导航系统、车轮角度编码器等,这些传感器每秒产生1GB数据,每年产生的数据量将达到约2PB大数据分析技术将帮助无人驾驶系统做出更加智能的驾驶动作决策,比人类驾车更加安全、舒适、节能、环保大数据在电信领域的应用预测客户行为,发现行为趋势,并找出公司服务过程中存在缺陷的环节,从而帮助公司及时采取措施保留客户电信客户离网分析大数据在能源领域的应用智能电网的发展,离不开大数据技术的发展和应用,大数据技术是组成整个智能电网的技术基石物联网物联网(InternetofThings,IoT)是一个基于互联网、传统电信网等信息承载体的网络,通过各种信息传感设备(如传感器、射频识别技术RFID、全球定位系统等),让所有能够被独立寻址的普通物理对象实现互联互通。其核心在于实现物与物、人与物之间的信息交互,具有整体感知、可靠传输和智能处理的基本特征。物联网技术(1)感知技术传感器:传感器是物联网感知外界信息的关键部件。例如,温度传感器可以感知环境温度,将其转换为电信号传输给系统。在智能家居中,温湿度传感器可以实时监测室内温湿度,当温度过高或湿度过大时,自动启动空调或除湿器。射频识别(RFID):RFID技术利用无线电波进行非接触式通信,实现对物体的识别和数据读取。在物流领域,通过在货物上贴上RFID标签,仓库管理系统可以快速识别货物信息,包括货物名称、数量、生产日期等,大大提高了货物管理的效率。物联网技术(2)网络通信技术有线通信:如以太网,它能够提供稳定的高速数据传输。在工业物联网中,工厂的自动化设备通过以太网连接到控制中心,实现设备的远程监控和指令下达。无线通信:包括Wi-Fi、蓝牙、ZigBee、NB-IoT等。Wi-Fi适用于近距离高速数据传输,如智能家居设备通过Wi-Fi连接到家庭路由器,实现与手机等终端设备的通信。ZigBee是一种低功耗、低速率的无线通信技术,适合用于传感器网络,例如在智能农业中,多个分布在农田中的传感器节点通过ZigBee组网,将土壤湿度、光照强度等数据传输给中心节点。物联网技术(3)数据处理技术云计算:云计算为物联网提供了强大的数据存储和计算能力。物联网设备产生的大量数据可以上传到云端进行分析和处理。例如,智能交通系统中,车辆路况信息等海量数据存储在云端,通过云计算技术进行交通流量分析,为交通管理部门提供决策支持。大数据分析:通过对物联网设备产生的海量数据进行挖掘和分析,可以发现有价值的信息。例如,在智能医疗领域,通过对患者可穿戴设备采集的健康数据进行大数据分析,可以提前预测疾病风险,为医生提供诊断依据。云计算云计算(CloudComputing)是指通过网络(通常是互联网)提供可扩展的、弹性的计算资源(如服务器、存储、数据库、网络、软件等)和服务的技术,用户无需购买和维护硬件设备,只需按需租用云服务提供商的资源,极大地提高了资源的利用效率,降低了成本,并为用户提供了灵活的计算能力。云计算三种服务模型基础设施即服务(InfrastructureasaService,IaaS)平台即服务(PaaS,PlatformasaService)软件即服务(SaaS,SoftwareasaService)
基础设施即服务
基础设施即服务(InfrastructureasaService,IaaS)是一种云计算服务模型,通过互联网提供虚拟化的计算资源,如虚拟机、存储空间、网络资源等。用户可以按需租用这些资源,而无需购买和维护物理硬件。其核心优势在于其灵活性、可扩展性和成本效益。平台即服务平台即服务(PaaS,PlatformasaService)是一种云计算服务模型,为开发者提供了一个完整的开发、测试、部署和管理应用程序的平台。用户无需管理底层的基础设施,可以专注于应用程序的开发与创新。软件即服务软件即服务(SaaS,SoftwareasaService)是一种云计算服务模型,通过互联网向用户提供软件应用。用户无需安装和维护软件,而是通过网络访问软件功能,通常按需付费。SaaS模型的核心在于将软件的部署、管理和维护工作交给云服务提供商,用户只需通过浏览器或客户端软件即可使用软件功能。云计算部署模型公有云(PublicCloud)是由第三方云服务提供商管理,通过互联网向公众提供服务,资源由多个用户共享。公有云具有成本低、易于扩展、维护简单等优点,但是其安全性相对较低,适合对数据安全要求不高的应用。公有云的代表提供商有亚马逊AWS、微软Azure、阿里云、腾讯云等。私有云(PrivateCloud)是由企业或组织内部管理,资源仅供内部使用,不对外提供服务。具有安全性高、可控性强等优点,但其成本高、扩展性有限的缺点。一般适合对数据安全和隐私要求较高的企业,例如金融机构、政府部门等。
混合云(HybridCloud)结合了公有云和私有云的特点,企业可以根据需求灵活选择使用公有云或私有云资源。其兼顾了成本和安全性,适合多种应用场景。例如,企业可以将非敏感数据存储在公有云上,而将敏感数据存储在私有云上。Python语言简介算法什么是算法算法,简单来说,就是解决问题的操作步骤或方法。它是对解题方案的准确而完整的描述,包含了一系列清晰定义的指令,用于指导计算机或其他计算设备完成特定的任务。算法不同于程序,程序是算法的具体实现,即用某种编程语言编写的代码,而算法本身不依赖于特定的编程语言,它是跨语言的,可以用不同的编程语言来实现某个算法。算法的基本特性算法具有以下基本特性:有穷性确切性输入项输出项可行性算法算法的表示算法可以用自然语言、程序框图、N-S图、伪代码、计算机语言等表示,具体如下:使用日常语言来描述算法的步骤,虽然通俗易懂,但文字冗长,易出现歧义自然语言又称流程图,它通过一些规定的图形、流程线和文字说明来直观描述算法程序框图也称为盒图,是一种没有流程线的流程图。它将整个程序写在一个大框内,由若干个小的基本框图构成N-S图一种非正式的、简化的编程语言,用于描述算法的逻辑结构,不依赖于任何特定的编程语言语法伪代码直接使用某种编程语言来实现算法,包括高级语言、汇编语言和机器语言等计算机语言算法程序框图使用一些规定的图形、流程线和文字说明来直观地描述算法。程序框名称功能
起止框表示一个算法的起始和结束
输入、输出框表示一个算法的输入和输出信息
执行框赋值、计算
判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”程序与程序设计程序设计程序程序作为计算机科学的基石,是连接人类思维与机器行为的桥梁。程序是由一系列精心编排的指令构成的集合,这些指令使用计算机语言(比如高级编程语言Python)编写,旨在指导计算机完成特定的任务或解决复杂的问题。程序设计是将算法转化为计算机可执行的指令序列的过程,即把算法转化为程序。这一过程要求开发者熟悉编程语言、算法设计、数据结构以及计算机系统的基本原理。通过程序设计,开发者能够创造出各种应用软件、操作系统、游戏等,以满足用户的不同需求。计算机编程语言编程语言的选择Python的主要优势如下:学习入门容易功能强大应用领域非常广泛高校采用Python作为编程语言的必要性:从计算思维培养角度来说,传统的C、Java和VB等语言过分强调语法,并不适合非计算机专业的学生01而Python语言作为“轻语法”程序设计语言,相比其他语言而言具有更高的使用价值02什么是Python发展到今天,Python已经成为最受欢迎的程序设计语言之一Python的设计哲学是“优雅”“明确”“简单”Python(发音[ˈpaɪθən])是1989年由荷兰人吉多·范罗苏姆(GuidovanRossum)发明的一种面向对象的解释型高级编程语言0103Python的第一个公开发行版于
1991
年发行,在
2004
年以后,Python
的使用率呈线性增长,并获得“2021年TIOBE最佳年度语言”称号0502Python常被称为“胶水语言”,能够把用其他语言(尤其是C/C++)制作的各种模块很轻松地连接在一起04Python语言的特点Python语言的优点(1)语言简单(2)开源、免费(3)面向对象(4)跨平台(5)强大的生态系统Python语言的缺点(1)运行速度慢(2)存在多线程性能瓶颈(3)代码不能加密Python语言的应用数据科学使用第三方库Scrapy编写网络爬虫程序采集网页数据数据采集使用第三方库pandas清洗数据、排序数据数据清洗第三方库NumPy和SciPy提供了丰富的科学计算和数据分析功能数据处理分析第三方库Matplotlib提供了丰富的数据可视化图表数据可视化人工智能有许多基于Python的第三方库,如scikit-learn、Keras和NLTK等深度学习框架Tensorflow、Caffe等,都是用Python实现的Python语言的应用Python具有Django、Flask、Pyramid、Bottle、Tornado、web2py等框架网站开发著名的开源云计算平台OpenStack就是使用Python语言开发的Ansible、Salt等自动化部署工具,也是使用Python语言开发的系统管理搭建Python开发环境安装Python请到Python官方网站下载与自己计算机操作系统匹配的安装包python-3.12.2-amd64.exe运行安装包开始安装,在安装过程中,要注意选中“Addpython.exetoPATH”复选框安装Python安装完成以后,需要检测是否安装成功。可以打开Windows操作系统的cmd命令界面,然后执行如下命令打开Python解释器:>cdC:\python312>python设置当前工作目录Python的当前工作目录是指Python解释器当前正在使用的目录。当我们在cmd命令界面中使用“python”命令打开Python解释器时,在哪个目录下执行“python”命令,该目录就会成为Python的当前工作目录,比如,在cmd命令界面中执行如下命令:>cdC:\>python这时,进入Python解释器以后,当前工作目录就是“C:\”。再比如,在cmd命令界面中执行如下命令:>cdC:\python312>python这时,进入Python解释器以后,当前工作目录就是“C:\python312”。使用交互式执行环境>>>print("HelloWorld")HelloWorld>>>1+23>>>2*(3+4)14上图呈现的界面就是一个交互式执行环境(或称为“解释器”),可以在Python命令提示符“>>>”后面输入各种Python代码,回车后就会立即看到执行结果,比如:运行代码文件假设在Windows操作系统的Python安装目录下已经存在一个代码文件hello.py,该文件里面只有如下一行代码:print("HelloWorld")现在我们要运行这个代码文件。可以打开Windows操作系统的cmd命令界面,并在命令提示符后面输入如下语句:>pythonC:\python312\hello.py执行结果如图所示。使用IDLE编写代码Python安装成功以后,会自带一个集成式开发环境IDLE,它是一个PythonShell,程序开发人员可以利用PythonShell与Python交互在Windows操作系统的“开始”菜单中找到“IDLE(Python3.12
64-bit)”,单击进入IDLE主窗口,如图所示,窗口左侧会显示Python命令提示符“>>>”,在提示符后面输入Python代码,回车后就会立即执行并返回结果使用IDLE编写代码如果要创建一个代码文件,可以在IDLE主窗口的顶部菜单栏中选择“File→NewFile”然后就会弹出图所示的文件窗口,可以在里面输入Python代码,最后,在顶部菜单栏中选择“File→SaveAs…”,把文件保存为hello.py使用IDLE编写代码如果要运行代码文件hello.py,可以在IDLE的文件窗口的顶部菜单栏中选择“Run→RunModule”(或者直接使用快捷键“F5”),这时就会开始运行程序。程序运行结束后,会在IDLEShell窗口显示执行结果,如图所示需要注意的是,除了Python自带的IDLE以外,我们还可以选择第三方开发工具进行Python编程,比如PyCharm、Eclipse、JupyterNotebook、IntelliJIDEA等。Python规范注释规则单行注释Python中使用“#”表示单行注释。单行注释可以作为单独的一行放在被注释代码行之上,或者也可以放在语句或表达式之后。【例2-1】单行注释作为单独的一行放在被注释代码行之上。pi=3.14r=2#使用面积公式求出圆的面积area=pi*r*rprint(area)当单行注释作为单独的一行放在被注释代码行之上时,为了保证代码的可读性,建议在“#”后面添加一个空格,再添加注释内容。注释规则单行注释单行注释放在语句或表达式之后。length=3#矩形的长width=5#矩形的宽area=length*width#求出矩形的面积print(area)当单行注释放在语句或表达式之后时,同样为了保证代码的可读性,建议注释和语句(或注释和表达式)之间至少要有两个空格。注释规则多行注释当注释内容过多,导致一行无法显示时,就可以使用多行注释。Python中使用三个单引号或三个双引号表示多行注释。使用三个单引号的多行注释。'''文件名:area.py用途:用于求解矩形的面积创建日期:2024年8月1日创建人:XMU'''代码缩进Python和其他编程语言(比如C和Java)很不一样的地方在于,Python采用代码缩进和冒号来区分代码之间的层次,而Java和C语言则采用大括号来分隔代码块01如果我们有其他语言(如C或者Java)的编程经验,那么Python的强制缩进一开始会让我们很不习惯。但是,如果习惯了Python的缩进语法,就会觉得它非常优雅02缩进可以使用空格或者Tab键来实现(建议使用空格作为缩进)。当使用空格作为缩进时,建议使用4个空格作为一个缩进量03代码缩进【例】Python的缩进语法。length=3#矩形的长width=5#矩形的宽area=length*width#矩形的面积ifarea>10:print("大矩形")常用的集成式开发环境(比如IDLE、PyCharm、Eclipse等)都具有自动缩进的机制,比如输入“:”号之后,按“回车”会自动进行缩进。03Python基础知识基本数据类型数字在Python中,数字类型包括整数(int)、浮点数(float)、布尔类型(bool)和复数(complex),而且,数字类型变量可以表示任意大的数值。整数整数类型用来存储整数数值。在Python中,整数包括正整数、负整数和0。按照进制的不同,整数类型还可以划分为十进制整数、八进制整数、十六进制整数和二进制整数布尔类型Python中的布尔类型主要用来表示“真”或“假”的值,每个对象天生具有布尔类型的True或False值。空对象、值为零的任何数字或者对象None的布尔值都是False。在Python3.x中,布尔值是作为整数的子类实现的,布尔值可以转换为数值,True的值为1,False的值为0,可以进行数值运算浮点数浮点数也称为“小数”,由整数部分和小数部分构成,比如3.14、0.2、-1.648、5.8726849267842等。浮点数也可以用科学计数法表示,比如1.3e4、-0.35e3、2.36e-3等复数复数由实数部分和虚数部分构成,可以用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。例如,一个复数的实部为2.38,虚部为18.2j,则这个复数为2.38+18.2j基本数据类型字符串字符串是Python中最常用的数据类型,它是连续的字符序列,一般使用单引号('')、双引号("
")或三引号('''
'''或"""""")进行界定。其中,单引号和双引号中的字符序列必须在一行上,而三引号内的字符序列可以分布在连续的多行上,从而可以支持格式较为复杂的字符串。例如,'xyz'、'123'、'厦门'、"hadoop"、'''spark'''、"""flink"""都是合法字符串,空字符串可以表示为''、"
"或'''
'''。定义要点举例组合数据类型列表列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。在形式上,只要把逗号分隔的不同的数据项使用方括号括起来,就可以构成一个列表,例如:['hadoop','spark',2021,2010][1,2,3,4,5]["a","b","c","d"]['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']组合数据类型列表同其他类型的Python变量一样,在创建列表时,也可以直接使用赋值运算符“=”将一个列表赋值给变量。例如,以下都是合法的列表定义:student=['小明','男',2010,10]num=[1,2,3,4,5]motto=["自强不息","止于至善"]list=['hadoop',
'年度畅销书',[2020,12000]]可以看出,列表里面的元素仍然可以是列表。需要注意的是,尽管一个列表中可以放入不同类型的数据,但是,为了提高程序的可读性,一般建议在一个列表中只出现一种数据类型。组合数据类型元组Python中的列表适合存储在程序运行时变化的数据集。列表是可以修改的,这对要存储一些要变化的数据而言至关重要。但是,也不是任何数据都要在程序运行期间进行修改,有时候需要创建一组不可修改的元素,此时可以使用元组。元组的创建和列表的创建很相似,不同之处在于,创建列表时使用的是方括号,而创建元组时则需要使用圆括号。元组的创建方法很简单,只需要在圆括号中添加元素,并使用逗号隔开即可,具体实例如下:>>>tuple1=('hadoop','spark',2008,2009)>>>tuple2=(1,2,3,4,5)>>>tuple3=('hadoop',2008,("大数据","分布式计算"),["spark","flink","storm"])组合数据类型字典字典也是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据。字典相当于保存了两组数据,其中一组数据是关键数据,被称为“键”(key);另一组数据可通过键来访问,被称为“值”(value)。字典具有如下特性:字典是无序的对象集合,列表是有序的对象集合,两者之间的区别在于,字典当中的元素是通过键来存取的,而不是通过偏移量存取字典的元素是“键值对”,由于字典中的键是非常关键的数据,而且程序需要通过键来访问值,因此字典中的键不允许重复,必须是唯一值,而且键必须不可变字典不支持索引和切片,但可以通过“键”查询“值”030102字典是可变的,并且可以任意嵌套04组合数据类型字典字典用大括号{}标识。在使用大括号语法创建字典时,大括号中应包含多个“键值对”,键与值之间用英文冒号隔开,多个键值对之间用英文逗号隔开。具体实例如下:>>>grade={"语文":67,"数学":91,"英语":78}
#键是字符串>>>grade{'语文':67,'数学':9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026顺邦公司面试题目及答案
- 2026铁路舆情面试题目及答案
- 2026团委留任面试题目及答案
- 2026文化大厦面试题及答案
- 多囊卵巢综合征管理进展代谢管理、代谢表型特征与子宫发育缺陷2026
- 守护生命安全远离溺水危险四年级主题班会课件
- 加强安全防范意识小学主题班会课件
- 心理咨询师团体心理辅导流程手册
- 外贸跟单员单证处理与物流操作指导书
- 2026年贵州省铜仁市网格员招聘笔试参考题库及答案详解
- 地表水自动监测运维理论考核试题及答案
- 《民事诉讼法》期末重点整理马工程版
- 5G工程师理论练习测试卷
- 麦草打包加工合同范本
- 2022-2023学年广州市天河区五下数学期末调研试题含答案
- 年产80万吨高级瓦楞原纸项目环境影响报告书
- 宠物美容培训课件
- JJG 59-2022液体活塞式压力计
- YS/T 372.4-2006贵金属合金元素分析方法 铜量的测定 硫脲析出EDTA络合滴定法
- 2023年上海市高中学业水平合格性考试化学试卷及参考答案
- 国家开放大学电大一网一平台《人文英语1》一体化考试机考形考任务6题库及答案
评论
0/150
提交评论