《人工智能导论》 教案 第6章 机器学习_第1页
《人工智能导论》 教案 第6章 机器学习_第2页
《人工智能导论》 教案 第6章 机器学习_第3页
《人工智能导论》 教案 第6章 机器学习_第4页
《人工智能导论》 教案 第6章 机器学习_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

章节名称第6章机器学习授课方式理论(√);实验();实习()教学时数4教学目的及要求复习上节课智能优化算法本节主讲:什么是机器学习,常用机器学习算法。教学内容导言机器学习(MachineLearning)是人工智能的一个分支。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的脉络。机器学习是实现人工智能的重要途径之一,即以机器学习为手段,解决人工智能中的部分问题。机器学习经过30多年的发展,已成为一门涉及多学科的综合学科,其主要理论基础涉及概率论、数理统计、数值分析、最优化、计算复杂性等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注的是可以实现的和行之有效的学习算法。很多推论问题属于非程序化决策,所以部分的机器学习研究是开发容易处理的近似算法。机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、信用卡欺诈检测、证券市场分析、DNA序列测序、语音和动作识别、游戏和机器人等领域。6.1什么是机器学习学习是获得新的理解、知识、行为、技能、价值观、态度和偏好的过程。人类与很多动物都具备学习能力,某些植物也具有某种学习能力。有些学习是直接的,由单一事件引起,但许多技能和知识是从重复经验中积累起来的。而机器学习就是让计算机像人类一样,通过对大量数据的学习,发现事物的规律,获得分析问题、解决问题的能力,并能够自我完善,不断提高性能。1977年汤姆·米切尔教授在其出版的教材《机器学习》一书中写道,机器学习这门学科所关注的是计算机程序如何随着经验积累,自动提高性能。他同时给出了形式化的描述:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序在从经验E学习。6.1.1机器学习的基本概念计算机系统中的“经验”通常是以“数据”的形式存在的,机器学习就是通过“学习算法”让计算机从数据中提取规律,形成模型。在面对新的数据时,模型能够根据学习得到的规律提供相应的判断。所以机器学习研究的主要内容就是“学习算法”,使计算机能够在没有明确编程的情况下从数据中学习到事物的本质规律。这里需要强调“事物的本质规律”,它是由事物的本质属性决定的,不局限于表面现象,具有广泛性。也就是说机器学习得到的模型要具有推广的能力即“泛化”能力,对于模型未见过的数据也能形成正确的判断,而不是仅仅记住学习过的数据。机器学习通常由训练和推理两个过程构成,如图6.1所示。其中,训练过程就是将训练数据输入模型,得到训练数据的预测值;再将预测值与训练数据的真实值进行比较,得到预测值与真实值之间的差别;最后根据差别,通过学习算法对模型进行调整。这一过程将反复进行,直到模型达到预期效果,即预测值与真实值之间的差别小到一定程度。而推理过程就是利用训练好的模型对输入的新数据进行预测,得到模型的判断结果。图6.1机器学习的过程机器学习是人工智能的一个子领域,是人工智能的核心部分,许多现代人工智能系统的成功都归功于机器学习技术的进步,它为人工智能提供了重要的工具,使其能够处理复杂的问题并从中学习。机器学习也扩展了人工智能的能力,通过使用大量的数据和复杂的模型,可以解决那些传统编程难以处理的问题,使得人工智能系统能够随着时间的推移而不断改进,从而提高准确性和效率。机器学习还推动了人工智能的发展,许多人工智能应用,如语音识别、图像识别、自然语言处理和推荐系统,都是基于先进的机器学习技术,随着深度学习等技术的发展,机器学习已经成为人工智能领域最活跃的研究方向之一。机器学习是人工智能领域内的一个强大工具,它使人工智能系统能够通过数据驱动的方法自动学习和改进。虽然人工智能是一个更广泛的领域,涵盖了多种不同的技术和方法,但机器学习在当今人工智能的应用和发展中扮演着核心角色。6.1.2机器学习的发展机器学习是一门不断发展的技术,虽然在最近几年才成为一个独立学科,但其起源可以追溯到20世纪40年代以来人工智能的相关技术,如符号演算、逻辑推理、自动机模型、启发式搜索、模糊数学、专家系统以及神经网络的反向传播算法等。虽然这些技术在当时并没有被称为机器学习,但它们却是是机器学习的理论基础。从发展过程思考机器学习,有助于理解目前层出不穷的各类机器学习算法。1943年,沃尔特·皮茨和沃伦·麦卡洛克在科学论文《神经活动中固有思想的逻辑演算》中提出了第一个神经网络的数学模型。1949年,唐纳德·赫布出版了《行为的组织》一书。该书提出了关于行为如何与神经网络和大脑活动相关联的理论,并且将成为机器学习发展的一个里程碑。1950年,后来被誉为“计算机科学之父”和“人工智能先驱”的艾伦·图灵发表了划时代论文《计算机器与智能》,文中探讨了“机器是否能思考”这一根本问题,设计了“模仿游戏”的思想实验,这就是后世广为人知的“图灵测试”。文章的第7章对“学习机器”进行了探讨,文中提到:“与其试图编程模拟成人大脑,不如模拟儿童大脑,如果让儿童大脑接受正确的教育课程,就可能获得成人大脑。”1952年,阿瑟·塞缪尔编写了一个具有自学能力的跳棋程序。该程序使用了一种被称为“启发式编程”的技术,它允许程序根据之前的游戏经验来改进自己的性能。程序不仅能够在没有人类直接干预的情况下提高自己的水平,而且还展示了计算机如何通过学习来解决复杂问题。这项工作对于后来的机器学习和人工智能研究产生了深远的影响。1957年,弗兰克·罗森布拉特为计算机设计了第一个神经网络——感知器,是第一个真正意义上的人工神经网络模型之一,它能够自动地从数据中学习模式并进行分类。尽管感知机只能处理线性可分的问题,但它为后来更复杂的多层神经网络和深度学习奠定了基础。1967年,托马斯·卡沃基于艾沃林·菲克斯和约瑟夫·霍德吉斯的研究,扩展提出了K最近邻算法。该算法简单但却有效,如果能够定义合适的距离度量,就可以取得很好的性能。该算法被成功地用于文本分类,图像分类等模式识别问题。1979年,斯坦福大学的学生发明了“斯坦福车”,它能够自行在房间中导航障碍物。1981年,杰拉尔德·德容引入了基于解释的学习方法,其中计算机分析训练数据并创建一个它可以通过丢弃不重要的数据而遵循的通用规则。1997年,IBM开发了深蓝超级电脑,以3.5:2.5战胜了国际象棋世界冠军卡斯帕罗夫,震惊了世界。2006年,杰弗里·辛顿发表了论文《深度信念网络》,提出了“深度学习”一词,以解释新的算法,让计算机能够区分图像、视频的对象和文本。2010年,微软公布了他们的Kinect技术,该技术可以每秒30次的速度跟踪20个人体特征,允许人们通过动作和手势与计算机进行互动。2011年,谷歌的X实验室开发了谷歌大脑,旨在模拟人脑的功能,开发具备自我学习能力的软件。在之后的几年中,谷歌大脑逐渐成为了世界领先的人工智能研究项目,在图像识别、自然语言处理、语音识别等领域取得了令人瞩目的研究成果。2014年,脸书开发了DeepFace,这是一种软件算法,能够在照片中识别或验证个人,达到与人类相同的水平。2016年,谷歌的人工智能算法在围棋这一世界上最复杂的棋类游戏中击败了专业选手,AlphaGo以4:1战胜了韩国棋手李世石。2017年,谷歌旗下的Waymo公司开始在美国测试自动驾驶汽车,只有后备驾驶员坐在车后,同年晚些时候,他们在凤凰城推出了完全自动驾驶的出租车。2020年,OpenAI宣布了一个开创性的自然语言处理模型GPT-3,它在输入提示时具有生成类似人类文本的非凡能力。今天,GPT-3被认为是世界上最大的、最先进的语言模型,使用1750亿个参数和微软Azure的AI超级计算机进行训练。未来的机器学习将更加注重实用性、可解释性、效率和安全性。随着技术的进步和社会需求的变化,机器学习将持续进化,为各行各业带来更大的价值。6.1.3机器学习的分类机器学习从不同的角度出发,按照不同的分类方式可以有以下几种分类。(1)按学习能力分类机器学习可分为有监督学习、无监督学习和弱监督学习。有监督学习是有正确指导的学习,要求训练数据要有正确的标签。无监督学习是没有正确的答案,用评价标准来衡量学习效果的学习方式。弱监督学习则结合了有监督学习和无监督学习的优点,用不完全有标签的数据进行有监督学习,同时使用大量无标签的数据进行无监督学习。(2)按学习方法分类机器学习按照学习时采用的方法可分为机械式学习、指导式学习、示例学习、类比学习、解释学习等。还可以按照学习方法是否采用符号表示,可分为符号学习与非符号学习。(3)按推理方式分类按照学习时采用的推理方式可分为基于演绎的学习和基于归纳的学习。基于演绎的学习就是以演绎推理为基础的学习,学习的是一般性的规则,然后应用于具体的问题,解释学习就是这类学习方式。基于归纳的学习是指以归纳推理为基础的学习,学习的是具体的案例,总结出一般的规律,示例学习和发现学习就属于这类学习方式。(4)按综合属性分类近年来有学者提出按学习的综合属性进行机器学习的分类,它综合考虑了学习的知识表示、推理方法和应用领域等多种因素,能够比较全面的反映机器学习的实际情况。按照综合属性可将机器学习分为归纳学习、分析学习、连接学习、遗传算法学习和分类系统等。6.1.4机器学习的目标和应用机器学习的目标就是设计和开发一系列的算法,这些算法可以从数据中提取知识和模式,从而实现预测、分类、聚类、关联规则学习、异常检测、推荐系统、降维、生成模型和序列建模等功能。机器学习能够显著提高企业的智能水平,增强企业的竞争力。人工智能对于各行业的影响越来越大,机器学习应用的典型领域有网络安全、搜索引擎、产品推荐、自动驾驶、图像识别、语音识别、量化投资、自然语言处理等。随着海量数据的累积和硬件运算能力的提升,机器学习的应用领域还在快速地延展。(1)图像处理图像处理方面的应用较多,特别是卷积神经网络(CNN)等对图像进行处理具有天然的优势,通过模拟人类视觉处理过程,辅以计算机视觉处理技术,机器学习在图像处理领域应用广泛,除了图像识别、照片分类、图像隐藏等,最近几年图像处理方面的创新应用已经涉及了图片生成、美化、修复和图片场景描述等。脸书公司在2015年开发了一款可以描述图片内容的应用,通过对图片中背景、人物、物品以及场景的描述来帮助视觉障碍人士了解图中的内容。其中主要应用的技术是图像识别,基于脸书现有图片库中已经标记过的图片作为模型的训练集,经过学习,逐渐实现对图片中对象的识别,但是其对内容的描述主要以列表方式返回,而非以故事的方式返回,所以这类应用的另一难点是自然语言生成,是目前人工智能领域中的难点之一。信手涂鸦一直是很多人的梦想,得益于深度神经网络,人们可以通过合成的方式绘制一幅充满艺术气息的画。其原理是使用卷积神经网络提取模板图片中的绘画特征,并应用马尔可夫随机场(MRF)对输入的涂鸦图片进行处理,最后合成一张新的图画。如图6.2所示,国内亦心科技开发的“AI闪绘”就是一款AI实时绘画软件,可以一边手绘一边生成合成的数字绘画,将数字绘画与人工智能大模型有机结合,从涂鸦草图到设计大作可以即刻生成。(a)手绘草图(b)合成绘画图6.2AI绘画除了生成全新的图片外,机器学习技术还可以用来恢复和重建受损的图像。这种技术可以用于多种场景,比如老照片的修复、艺术作品的修复、低质量图像的增强和图像风格迁移等。这种技术通常使用卷积神经网络(CNN)和生成对抗网络(GAN)来进行图像修复,CNN可以提取图像的特征,而GAN则可以用来生成逼真的图像细节。图像修复效果如图6.3所示。(a)受损图像(b)修复图像图6.3图像修复机器学习在图像检索领域也发挥了重要作用,尤其是在提高检索效率和准确性方面。例如百度识图使用深度卷积神经网络提取图片的关键特征,通过计算特征之间的距离或相似度来判断图片的相似性,并且建立大规模的图像索引库,以提高搜索速度和准确性,根据相似度和其他因素对搜索结果进行排序。(2)金融领域金融与人们衣食住行等生活息息相关。与人类相比,机器学习在处理金融行业的业务方面更加高效,可同时对数千只股票进行精确分析,在短时间内给出结论;没有人性的缺点,在处理财务问题时更加可靠和稳定;通过建立欺诈或异常检测模型提高金融安全,有效检测出细微模式差别,结果更加精确。在信用评分方面,应用评分模型评估信贷过程中的各类风险,并对其进行监督,基于客户的职业、薪酬、所处行业、历史信用记录等信息确定客户的信用评分,不仅可以降低风险还可以加快放贷过程,减少尽职调查的工作量,提高效率。在欺诈检测方面,基于收集到的历史数据训练得到机器学习模型,用来预测欺诈发生的概率。与传统检测相比,这种方法用时更少,且能检测出更复杂的欺诈行为。在训练过程中需要注意样本类别不均衡的问题,防止出现过拟合情况。在股票市场的趋势预测方面,通过机器学习算法分析上市公司的资产负债表、现金流量表等财务数据和企业经营数据,提取与股价或指数相关的特征进行预测。另外,利用与企业相关的第三方资讯,如政策法规、新闻或社交网络中的信息,通过自然语言处理技术分析舆情观点或情感指向,为股票价格预测提供支持,从而使预测结果更准确。应用监督学习方法建立两个数据集之间的关系,从而使用一个数据集来预测另一个数据集结果,如用回归来分析通货膨胀对股市的影响等;无监督学习方法可以用于股票市场的影响因素分析,发现其背后的主要规则;深度学习适合非结构化大数据集的处理,提取不易于显式表达的特征;强化学习的目标是通过算法探索来找到最大化收益的策略。应用LSTM等深度学习方法,可以基于股票价格波动特征以及可量化的市场数据对股票价格进行实时预测,可用于股票市场的高频交易等领域中。在客户关系管理方面,从银行等金融机构现有的海量数据中挖掘信息,通过机器学习模型对客户进行细分,从而支持业务部门的销售、宣传和市场推广活动。此外,应用聊天机器人等综合人工智能技术可以全天候服务客户,提供私人财务助理服务,例如个人财务指南、跟踪开支等。在处理各种客户请求,如客户通知、转账、存款、查询、常见问题解答和客户支持方面,经过长期积累用户的历史记录,可以向客户提供合适的理财方案。(3)医疗领域机器学习可以用于预测患者的诊断结果、制定最佳疗程甚至评估风险等级。此外,还可以减少人为失误。在2016年JAMA杂志报道的一项研究中,人工智能通过学习大量历史病理图片,经过验证,其准确度达到了96%,这一数字表明,人工智能在对糖尿病视网膜病变进行诊断方面已经与医生水平相当。此外,对超过13万张皮肤癌的临床图片进行深度学习后,机器学习系统在检测皮肤癌方面超过了皮肤科医生。对脑外科医生而言,术中病理分析往往是诊断脑肿瘤的最佳方式之一,而这一过程耗时较长,容易延误正在进行的脑部手术。科学家开发出机器学习系统,能够将未经处理的大脑样本进行“染色”,提供非常精准的信息,效果与病理分析的一样,通过它诊断脑瘤的准确率和使用常规组织切片的准确率几乎相同,对身处手术中的脑瘤患者来说至关重要,因为它极大地缩减了诊断的时间。在临床试验方面,每次临床试验都需要大量的数据,如患者的历史病历信息、卫生日志、APP数据和医疗检查数据等。机器学习通过汇总挖掘这些数据,从而获得有价值的信息。例如,生物制药公司根据个体患者的生物特征进行建模,并根据患者的药物反应,对试验人群分类,对患者生物体征和反应进行全程监控。科研人员利用机器学习技术分析大量图像资料,通过分析建立模型,辨别和预测早期癌症,还为患者提供个性化的治疗过程。科研人员还从大量心脏病患者的电子病历库调取了患者的医疗信息,如疾病史、手术史、个人生活习惯等,将这些信息在机器学习算法下进行分析建模,预测患者的心脏病风险因素,在预测心脏病患者人数以及预测是否会患心脏病方面上均优于现在的预测模型。(4)自然语言处理领域机器学习在自然语言处理领域有着广泛的应用,从简单的文本分类到复杂的对话系统,机器学习技术极大地提升了自然语言处理系统的性能和智能化水平。文本分类是将文本内容归为某一类别的过程,目前对其研究成果层出不穷,特别是随着深度学习的发展,深度学习模型在文本分类任务方面取得了巨大进展。文本分类的算法可以划分为基于规则的分类模型、基于机器学习的分类模型、基于神经网络的方法、卷积神经网络和循环神经网络等。文本分类技术有着广泛的应用。例如,社交网站每天都会产生大量信息,如果由人工对这些文本进行整理将会费时费力,且分类结果的稳定性较差;应用自动化分类技术可以避免上述问题,从而实现文本内容的自动化标记,为后续用户兴趣建模和特征提取提供基础支持。除此之外,文本分类还作为基础组件用于信息检索、情感分析、机器翻译、自动文摘和垃圾邮件检测等。命名实体识别是自然语言处理中的一个重要任务,它涉及识别并分类文本中的实体名称,如人名、地名、组织机构名等。使用支持向量机、决策树、隐马尔可分模型、卷积神经网络等方法从文本中提取出人物、组织机构、时间、地点、动作等实体,为知识图谱搭建、智能问答系统、文本摘要和机器翻译等任务提供必要的信息。情感分析是从文本数据中识别和提取情感信息,其目标通常是确定文本的情感极性(正面、负面或中性),以及情感的强度或程度。这项技术广泛应用于社交媒体分析、市场调研、客户服务、产品评价等多个领域。随着深度学习和人工智能技术的不断进步,情感分析的准确性和效率正在不断提高。情感分析的发展将是结合文本、语音和图像等多种模态的信息,跨语言,细粒度和保护用户隐私等方面。机器翻译是由机器实现不同自然语言之间的翻译,涉及语言学、机器学习、认知语言学等多个学科。目前基于规则的机器翻译方法需要人工设计和编纂翻译规则,而基于统计的机器翻译方法能够自动获取翻译规则,最近几年流行的端到端的神经网络机器翻译方法可以直接通过编码网络和解码网络自动学习语言之间的转换算法。自动问答系统在回答用户问题之前,第一步需要能正确理解用户用自然语言提出的问题,这涉及分词、命名实体识别、句法分析、语义分析等自然语言理解相关技术。然后针对提问类、事实类、交互类等不同形式的提问分别应答,例如用户提问类问题,可从知识库或问答库中检索、匹配获得答案,除此之外还涉及对话上下文处理、逻辑推理、知识工程和语言生成等多项关键技术。因此可以说,问答系统代表了自然语言处理的智能处理水平。文本生成技术是一个涉及自动创建自然语言文本的领域,它在自动写作、聊天机器人、新闻生成等多个场景中具有重要价值。它通常利用深度学习模型如循环神经网络、长短时记忆网络和Transformer等模型来学习语言模式和结构,从而生成新的文本内容。随着技术的进步和市场需求的推动,文本生成领域将取得更大的发展,生成更准确、更自然的语言文本,并在更多领域发挥重要作用。文本摘要主要是为了解决信息过载的问题,用户阅读文摘即可了解文章大意。目前常用抽取式和生成式两种摘要方法。抽取式方法是通过对句子或段落等进行权重评价,按照重要性进行选择并组成摘要。而生成式方法除了利用自然语言理解技术对文本内容分析外,还利用句子规划和模板等自然语言生成技术产生新句子。传统的自然语言生成技术在不同领域中的泛化能力较差,随着深度学习的发展,生成式摘要应用逐渐增多。目前主流还是采用基于抽取式的方法,因为这一方法易于实现,能保证摘要中的每个句子具有良好的可读性,并且不需要大量的训练语料,可跨领域应用。早期的文本纠错技术主要依赖于人工定义的规则和词典,通过匹配规则来识别和修正错误,随着技术的发展,统计语言模型被用于预测词序列的合理性,以发现并纠正语法错误。现代语法纠错系统利用深度学习模型,进行错误检测和修正,这些模型通过对大量文本进行预训练,能够理解上下文并生成自然流畅的纠正建议。智能文本纠错技术广泛应用于写作工具、手机输入法、翻译软件等领域,帮助提高文本的质量和可读性。(5)网络安全领域机器学习在网络安全方面的应用涵盖了从威胁检测到用户行为分析等多个领域,包含了恶意代码检测、入侵检测、异常检测、Web安全、身份识别与认证、反欺诈、对抗样本攻击、隐私保护等多个方面,随着机器学习算法逐渐应用于网络安全中,各种新型安全解决方案不断涌现,这些方案在分析网络、监控网络、发现异常情况等方面效果显著,从而保护企业免受威胁。机器学习在网络安全中的应用也面临着挑战,包括误报率的控制、对抗性攻击的防御,以及模型的可解释性和鲁棒性。此外,高质量的数据需求量大,且需要在减少真阳性和假阳性之间找到平衡。随着技术的发展,预计会看到更多先进的机器学习算法应用于网络安全领域,包括量子机器学习可能带来的革命性变化。(6)工业领域机器学习在工业领域的应用正变得日益广泛,涵盖了从生产流程优化、质量控制、预测性维护到供应链管理等多个方面。通过机器学习算法分析设备传感器数据,预测设备故障并提前进行维护,可有效减少停机时间和维护成本;可以实时监测生产过程中的每个步骤,识别可能导致质量问题的因素,并及时进行调整;可以分析生产数据,优化生产流程和计划,提高生产效率;可以预测市场需求,帮助企业优化库存管理,减少库存成本并提高订单满足率。机器学习通过提供智能化的解决方案,正在帮助工业企业提高生产效率、降低成本、提升产品质量,并实现更加灵活和可持续的生产方式。随着数据量的增长和计算能力的提升,机器学习在工业生产中的作用将越来越重要。(7)娱乐领域机器学习在娱乐领域的应用也非常广泛,覆盖了从内容创作到用户体验的各个方面。在电影票房预测中,通过分析历史数据,如电影类型、上映档期、导演、演员等信息,机器学习模型可以预测电影的票房表现。在游戏开发中,机器学习可以用于创建更智能的非玩家角色,使它们能够根据玩家的行为做出反应,提高游戏的互动性和趣味性,机器学习还可以用于游戏测试和性能优化,以及生成游戏中的内容,如关卡和地图。在音乐创作中,机器学习模型可以学习音乐作品的特征,生成新的音乐作品或伴奏,这些模型能够捕捉和模拟特定的音乐风格和情感,为音乐创作提供辅助。在娱乐产品销售领域,机器学习算法可以根据用户的喜好和行为模式提供个性化的视频、音乐和游戏等内容的推荐,增强用户体验。通过语音识别和自然语言处理技术,机器学习可以使智能音箱等娱乐设备更加智能,提供更自然的交互体验。机器学习在多个方面不断推动娱乐产业的创新和发展,随着技术的不断进步,未来机器学习在娱乐领域的应用将更加广泛和深入。6.2监督学习、无监督学习、弱监督学习上一节提到机器学习按照学习能力可以分为有监督学习、无监督学习和弱监督学习三类。(1)有监督学习有监督学习是从有标记的训练数据中学习一个模型,根据这个模型对未知的样本进行预测。模型的输入是某一数据样本的特征,输出是对这一数据样本的预测值,有监督学习按照任务不同分为分类和预测两大类别。分类的任务就是根据数据样本的特征将它们分到不同的类别中去,输出的是离散的类别值,例如手写数字识别、垃圾邮件过滤等。这类算法包括逻辑回归、决策树、KNN、随机森林、支持向量机和朴素贝叶斯等,预测的任务就是根据数据样本的特征得到他们输出的预测值,输出是连续的值,例如股票预测、房价预测和销售额预测等。这类算法包括线性回归、梯度提升和自适应提升等,(2)无监督学习无监督学习处理的是未标记的数据样本,目的是发现数据中的潜在结构,其主要任务包括聚类分析、关联规则学习和数据降维。聚类分析也是对数据集中的样本进行分类,但不同于有监督学习的分类,聚类分析的数据样本没有类别标签。聚类分析的目标是在没有预定义标签的情况下发现数据中的自然分组,使得同一类别内的对象彼此相似,而不同类别间的对象差异较大。可广泛应用于客户细分、图像分割、基因数据分析和异常检测等场景。关联规则学习就是发现数据集中不同样本之间隐藏的潜在关系,从而做出更明智的决策。可广泛地应用于分析顾客行为、智能推荐系统、医疗数据分析等场景。(3)弱监督学习弱监督学习是一种介于有监督学习和无监督学习之间的机器学习方法。在弱监督学习中,模型可以从不完全标注的数据中进行学习,数据可能只包含部分标签信息、噪声标签、远程监督信号或其他形式的弱指导。这种学习方式特别适用于数据标注成本高昂或难以获得完整标签的情况下。弱监督学习方法主要有半监督学习、迁移学习、强化学习和生成对抗网络等。下面本节将对几种常见的机器学习算法进行详细的介绍。6.2.1支持向量机支持向量机(SupportVectorMachine,SVM)属于有监督学习模型,在机器学习、计算机视觉、数据挖掘等领域都有广泛应用,主要用于解决分类问题。SVM将每个样本数据表示为空间中的点,使不同类别的样本点尽可能明显地区分开。通过将样本的向量映射到高维空间中,寻找最优区分两类数据的超平面,使各分类到超平面的距离最大化,距离越大表示SVM的分类误差越小。通常SVM用于二元分类问题,对于多元分类问题可将其分解为多个二元类问题,再进行分类。其主要的应用场景有图像分类、文本分类、面部识别、垃圾邮件检测等。下面以二元分类问题为例,说明SVM的基本原理。二维平面中有两类数据,我们可以在平面上画一条直线将两类数据分开,如图6.4所示,这条直线就称为“决策边界”。图6.4数据分布与决策边界实际上,我们可以划出无数条直线把两类数据分开,如图6.5所示,a、b、c三条直线都可以将数据正确分开,究竟哪个决策边界最好呢?好的决策平面应该具有更强的分类能力,即具有较稳定的分类结果和较强的抗噪声能力。如何找到最优的数据决策边界,使得数据的分类效果更好?需要我们制定一个衡量的标准。图6.5多个决策边界我们可以考察决策边界距离两类数据最近点的距离d,如图6.6所示,距离决策边界最近的两类数据样本称为“支持向量”。最优决策边界的两类数据分类间隔2d应取最大值。图6.6最优决策边界假设二维空间中最优边界的方程为:w1x1+可以用向量形式表示为:w1,w2在n维空间中式(2)将变为:w1,w2当n=3时,决策边界就是一个平面,当n>3时,决策边界就是一个超平面,根据式(3),超平面方程可统一表示为:wTx+β=0其中wT超平面由其法向量w和截距β决定,给定一组线性可分数据T={

xn,y则有:&wTx+β>0    y样本点xiγi=yiww∙所有样本点到超平面的最近距离就是γiγ=最优决策边界就是使得间隔距离最大的超平面,即最大化γ的值:yiww∙x两边同时除以γ,得到:yiwwγ∙对上式进行简化,令w'=wwyiw'xi+β' 两个类别的分类间隔为:2γ=2d=2wx+βw=就将最大化γ问题转换为:max2w

min||w||为了优化过程中对函数求导的方便,最小化||w||与最小化12||w||2等价,将求mins.t. yiwxi当样本线性不可分时,SVM可以使用核函数给数据升维,用更高维的超平面进行分割,这里不进行讨论。支持向量机比较适合图像和文本等样本特征较多的应用场合。基于结构风险最小化原理,对样本集进行压缩,解决了以往需要大量样本进行训练的问题。它将数据样本通过计算抽象成向量化的训练数据,提高了分类的精确率。6.2.2k-最近邻分类k-最近邻(K-NearestNeighbor,KNN)分类算法是最简单的机器学习算法之一,它属于有监督学习的分类算法。所谓k最近邻,就是k个最近的邻居的意思,就是每个样本都可以用它最接近的k个邻居来代表,k的取值至关重要,它将影响分类的结果。其算法的基本思想很简单,当预测一个新的值x的类别时,考察距离其最近的k个点的类别,哪个类别最多就将x归入哪个类别。如图6.7所示,绿色的方块就是我们要判断类别的新数据样本。当k=3时,寻找距离待分类样本最近的3个数据样本,3个样本中蓝色三角最多,就把绿色方块归入蓝色三角类。图6.7k=3新样本的分类结果如图6.8所示,当k=5时,距离绿色方块最近的5个样本中,红色圆形有3个,就把绿色方块归入红色圆形,判断结果不同于k=3的结果。图6.8k=5新样本的分类结果如何选择一个合适的k值呢?我们可以使用交叉验证的方法。将样本数据按一定比例(如6:4)拆分为训练集和验证集。先选取较小的k值,计算验证集的错误率,然后不断增大k值,并计算验证集的错误率,大致可以得到如图6.9所示的一个k值与错误率的关系图,选择错误率最小的k值。图6.9不同k值错误率曲线特征空间中两个样本之间的距离是二者相似程度的反应,所以k-最近邻算法中另一个重要的问题是如何计算样本之间的距离,以确定训练样本中哪些样本与测试样本更加接近。​在实际应用中,我们往往需要根据应用的场景和数据本身的特点来选择距离计算方法。常用的距离计算方法有欧几里得距离和曼哈顿距离等。n维空间中的两个点p1x11d=k=1nx曼哈顿距离为:d=k=1nx当已有的距离计算方法不能满足实际应用需求时,还需要针对性地提出适合具体问题的距离度量方法。实际的数据中,往往是离散型变量和连续型变量同时存在,如何计算这种混合变量下的样本相似度是一个开放性的问题。一种简单的方法是,在进行距离计算之前对样本中的离散型变量进行One-Hot编码,然后选取上述介绍的距离计算方法进行处理。6.2.3集成分类算法‌集成分类算法‌是一种机器学习技术,属于有监督学习的分类算法,它通过构建并结合多个分类器来提高分类性能。这种技术通常被称为集成学习,它不是一种单独的算法,而是一种策略,用于通过结合多个分类器的预测结果来形成一个更强大的分类模型,如图6.10所示。集成学习可以分为装袋法和提升法两大类。图6.10集成学习过程装袋(Bagging)又称为引导聚集(BootstrapAggregating)算法,其原理是通过组合多个训练集的分类结果来提升分类效果。假设有一个大小为n的训练样本集S,装袋法是从样本集S中多次放回采样取出大小为n'(n'<n)的m个训练集,对于每个训练集S,均选择同样的学习算法建立分类模型。对于新的测试样本,所建立的m个分类模型将返回m个预测分类结果,装袋法构建的模型最终返回的结果将是这m个预测结果中占多数的分类结果,即投票中的多数表决。装袋法由于多次采样,每个样本被选中的概率相同,噪声数据的影响减小,因此不太容易受到过拟合的影响。‌提升法(Boosting)与装袋法相比每次的训练样本均为同一组,并且引入了权重的概念,给每个单独的训练样本都会分配一个相同的初始权重。然后进行T轮训练,每一轮中使用一个分类方法训练出一个分类模型,使用此分类模型对所有样本进行分类并更新所有样本的权重,分类正确的样本权重降低,分类错误的样本权重增加,从而达到更改样本分布的目的。每一轮训练后,都会生成一个分类模型,而每次生成的这个分类模型都会更加注意在之前分类错误的样本,从而提高样本分类的准确率。对于新的样本,将T轮训练出的T个分类模型得出的预测结果加权平均,即可得出最终的预测结果。集成学习算法的优势在于它们能够提高分类性能、增强泛化能力、抗噪能力强,并且在处理大规模数据分类任务时表现出色。例如,在图像分类和文本分类任务中,集成学习算法可以通过组合多个模型的预测结果,提高分类的准确性和鲁棒性。未来的研究方向包括探索更有效的模型融合策略和引入多样性,以进一步提高集成学习算法的性能‌。6.2.4k-均值聚类算法k-均值(k-Means)聚类算法属于无监督学习的聚类算法。它是基于划分的聚类算法,也是最常用的一种聚类算法。其主要思想是:在给定k值和k个初始簇中心点的情况下,把每个样本分到与其最相似的簇中心所代表的簇中,所有样本分配完毕之后,根据一个簇内的所有样本重新计算该簇的中心,然后再迭代的进行样本分配和更新簇中心的步骤,直至簇中心的变化很小,或者达到指定的迭代次数。其中k值由用户提前设定,而相似度用距离来衡量,可用6.2.2中提到的欧几里得距离或曼哈顿距离等。算法的基本流程为:(1)随机选取k个样本作为初始簇中心;(2)计算所有样本与每个簇中心的距离,与哪个簇中心最近,就将样本分入该簇;(3)计算每个簇中所有样本的平均值作为新的簇中心;(4)如果所有簇的新中心与原中心之间的距离小于某一个设置的阈值或达到最大迭代次数,算法终止,否则转(2)。从算法流程可以看出,k-均值聚类算法原理简单,实现容易,结果可解释性较强。但是k值需要用户提前设定,如何选择好的k值呢?聚类结果的优劣一定程度上可以用误差平方和(SumofSqaredError,SSE)来进行衡量,SSE计算公式为:SSE=i=1nx其中,μc(i)表示第i个样本的簇中心。SSE越小,表示每个样本距离其簇中心的距离越近,簇内相似度越高。但是,如果仅仅用SSE来衡量聚类结果,极限情况下就是将n个样本分为n个簇,每个簇中心就是一个样本点自身,这时的SSE=0,这样虽然满足了SSE实际应用中,通常先选择一个较小的k值,进行k-均值聚类,计算其SSE;然后逐渐增大k值,并计算每个k值聚类结果的SSE。这样我们就可以得到与图6.11相似的一个k值SSE曲线图,SSE随着k值的增加不断减小。在图中找出SSE下降速度显著变缓的点,即肘点,就是最佳k值。图6.11手肘法选择最优k值6.3深度学习深度学习是机器学习的一个子集,它使用一种称为深度神经网络的算法来模拟人脑的工作方式。这种技术通过多层抽象表示数据,从而能够自动地从原始数据中学习特征,这使得它在许多领域都取得了显著的成功,包括计算机视觉、语音识别、自然语言处理等。6.3.1浅层学习与深度学习浅层学习和深度学习都是机器学习领域的一部分,但它们在架构、复杂性以及应用场景上有所区别。浅层学习通常指的是那些具有较少参数和较简单结构的学习模型。这些模型一般包含较少的可调整参数,因此更容易理解和解释。常见的浅层学习方法包括线性回归、逻辑回归、决策树和支持向量机等。这类方法的优点是计算成本较低,易于训练;模型透明度高,容易解释结果;在数据量较小或者特征工程做得好的情况下表现良好。而它们的缺点也很明显,对于复杂模式的捕捉能力有限;当数据集很大或特征非常复杂时,性能可能不如深度学习模型。深度学习指的是使用包含多个隐藏层的神经网络进行学习,多个隐藏层可以自动学习数据的高级抽象特征。这类方法的优点是能够学习到数据中的复杂特征,非常适合处理非结构化数据(如图像、声音、文本等);随着数据量的增加,模型性能通常会更好;自动化特征提取减少了人工特征工程的需求。它们的缺点是计算资源需求高,训练时间较长;模型黑箱特性较强,难以解释模型的决策过程;需要大量的标记数据来训练模型,否则可能会出现过拟合现象。对比两种学习方法,在架构上,浅层学习模型通常较为简单,如单层感知器或决策树;而深度学习模型则具有复杂的层次结构,如卷积神经网络、循环神经网络等。在适用场景上,浅层学习更适合于数据特征明确且数据量不是很大的情况;深度学习则在处理大规模、高维度、复杂数据时表现出色。在训练难度上,浅层学习模型通常更容易训练和调优;深度学习模型需要更多的技巧来避免过拟合等问题,并且训练过程更为复杂。选择浅层学习还是深度学习取决于具体的应用场景、可用的数据量以及预期的模型性能等因素。对于一些简单的问题,浅层学习模型就足够了;而对于复杂的问题,尤其是涉及到非结构化数据时,深度学习则更有可能提供更好的解决方案。6.3.2深度学习框架深度学习框架是为了简化神经网络的设计、训练和部署而设计的软件工具。这些框架提供了构建和训练模型所需的基础设施,使得开发者和研究人员能够专注于算法本身而不是底层实现细节。目前流行的深度学习框架有TensorFlow、PyTorch、PaddlePaddle、Caffe、MXNet、Theano、Deeplearning4j等,下面简单介绍一下这些框架的特点。TensorFlow是由GoogleBrain团队开发的开源机器学习框架。它最初是在2015年发布的,目的是为了提供一个通用的、可扩展的平台,使得研究人员和工程师能够更容易地构建和训练各种类型的机器学习模型,特别是深度学习模型。TensorFlow支持多种编程语言,但最常用的还是Python接口。TensorFlow具有很好的灵活性,支持静态图定义,允许开发者在运行之前定义好整个计算流程,使得TensorFlow在部署和优化方面具有优势。它可以轻松地在单个设备上运行,也可以扩展到多个CPU或GPU上,甚至可以在分布式系统中运行。还可以在多种操作系统(如Windows、Linux、macOS)上运行,并且支持多种硬件加速器,包括CPU、GPU和TPU。此外还拥有庞大的生态系统,包括许多工具和库,如TensorFlow.js、TensorFlowLite、TensorFlowExtended(TFX)等。PyTorch是一个由Facebook的人工智能研究实验室开发的开源深度学习框架。因为它的灵活性和动态性,在学术界和工业界都受到了广泛的欢迎,尤其是在研究领域。PyTorch提供了一个易于使用的API,允许开发者快速构建和实验新的深度学习模型。PyTorch最大的特点是它的动态计算图,这意味着开发者可以在运行时定义网络结构,而不需要提前定义整个计算流程,这对于研究者来说非常有用,因为他们可以很容易地测试不同的模型架构和算法。PyTorch的API设计直观且易于理解,使得新手也能快速上手,它紧密地整合了Python,因此可以使用标准的Python数据结构和控制流语句。尽管PyTorch强调易用性,但它仍然保持了很高的性能,它利用了高效的后端引擎来加速计算,并且支持GPU加速。PyTorch拥有一个活跃的社区,提供了大量的预训练模型、教程和工具,如TorchText、TorchVision、TorchAudio等,这些工具可以帮助开发者快速搭建特定领域的应用。PaddlePaddle(飞桨)是由百度公司开发的一款开源的深度学习框架。它旨在为开发者提供一个高效、灵活且易于使用的工具,以便快速构建、训练和部署深度学习模型。PaddlePaddle支持多种深度学习模型,包括卷积神经网络、循环神经网络、长短时记忆网络等,并且提供了丰富的API接口,支持Python等编程语言。PaddlePaddle的设计非常注重用户体验,提供了简洁的API,使得用户能够快速上手并构建自己的模型,它还提供了大量的预训练模型和示例代码,方便用户参考和使用。PaddlePaddle利用了高效的内核优化和自动并行化技术,能够在CPU和GPU上实现高性能的训练和推理速度。PaddlePaddle支持动态图模式,这使得开发者可以在运行时定义网络结构,更加灵活地进行实验和调试。PaddlePaddle不仅适用于研究,也被广泛应用于工业界的实际问题中,如自然语言处理、计算机视觉、推荐系统等领域。作为一个开源项目,PaddlePaddle拥有一个活跃的社区,提供技术支持、教程和最佳实践分享。Caffe是由加州大学伯克利分校的贾扬清等人开发的一款开源深度学习框架。Caffe以其高性能和速度著称,尤其适合用于计算机视觉任务,如图像分类、物体检测等。它支持卷积神经网络和其他类型的神经网络,并且能够有效地利用GPU加速训练过程。Caffe被设计为高速执行深度学习任务,特别是在图像分类任务上表现突出,它利用了NVIDIA的cuDNN库来加速GPU上的卷积运算。Caffe的配置文件采用文本格式(如ProtocolBuffers),使得模型定义非常清晰明了,这使得开发者可以轻松地定义和修改网络结构。Caffe支持多种操作系统,包括Windows、Linux和macOS,并且可以在不同的硬件平台上运行,如CPU和GPU。尽管Caffe最初是为计算机视觉设计的,但它也支持其他类型的神经网络,并且可以应用于自然语言处理等领域。虽然Caffe目前的更新速度不如TensorFlow和PyTorch快,但它依然拥有一个活跃的社区,提供了大量的预训练模型和插件。MXNet是由亚马逊等多家公司和机构合作开发的一款开源深度学习框架。MXNet的设计目标是提供一个既高效又灵活的平台,支持快速的模型训练和部署。MXNet可以在多种操作系统上运行,并且支持多种编程语言,包括Python、R、Julia、Scala、Go等。MXNet被设计为高性能的深度学习框架,支持CPU和GPU的异步计算,并且可以在分布式环境中运行,还利用内存管理和延迟计算等技术来提高训练效率。MXNet提供了多种编程范式,包括声明式编程和命令式编程,这使得开发者可以根据需要选择最适合的方式来定义和训练模型。MXNet支持多种操作系统,包括Windows、Linux和macOS,并且可以在多种编程语言中使用。MXNet提供了Gluon这样的高级接口,使得开发者可以使用类似PyTorch的动态计算图来构建模型,同时也支持静态图定义。MXNet拥有大量的预训练模型和工具,如GluonCV(用于计算机视觉)、GluonNLP(用于自然语言处理)等,这些工具大大简化了模型的开发和应用。Deeplearning4j(DL4J)是一个基于Java和Scala的开源深度学习框架。它旨在为企业级应用提供高性能和可扩展的深度学习解决方案。DL4J支持多种深度学习模型,包括卷积神经网络、循环神经网络等,并且提供了与Java生态系统紧密结合的API,使得开发者可以轻松地将其集成到现有的Java项目中。DL4J被设计为在企业环境中运行,支持大规模数据集和分布式计算,可以在Hadoop和Spark等大数据处理框架上运行,适合于处理大规模数据集。DL4J利用了ND4J库进行高效的数值计算,并且支持CPU和GPU加速,确保了在不同硬件上的高性能表现。DL4J提供了Java和Scala的API,使得开发者可以使用熟悉的语言进行开发,同时还可以与现有的Java应用程序无缝集成。DL4J支持多种模型架构,并且提供了丰富的API来定义和训练模型,它还支持动态图模式,允许开发者在运行时定义网络结构。DL4J提供了直观的API和详细的文档,使得开发者可以快速上手并构建复杂的深度学习模型。选择深度学习框架时,需要综合考虑不同框架在特定任务上表现,开发者的经验,团队的技术栈,社区支持和生态系统等多种因素。近年来,TensorFlow和PyTorch因为其丰富的功能和活跃的社区而受到广泛欢迎,而PaddlePaddle在国内也得到了广泛应用。6.3.3深度学习的应用深度学习作为人工智能的一个重要分支,在多个行业中有着广泛的应用。深度学习在医疗保健领域的应用包括医学影像分析、辅助诊断、疾病预测、药物发现等。例如,通过深度学习技术,可以从医学影像中识别和分类肿瘤,辅助医生进行更准确的诊断。此外,深度学习还可以用于分析基因组数据,以预测疾病风险和个性化治疗方案。在电子健康记录分析中,深度学习有助于从大量非结构化数据中提取有用信息,提高医疗服务效率和质量。深度学习技术是实现自动驾驶汽车的关键。通过训练系统识别和响应各种驾驶场景,包括交通信号、行人、其他车辆等,深度学习使汽车能够自主导航和做出决策。例如,Uber的人工智能实验室正在研究如何利用深度学习技术改进自动驾驶汽车的性能和安全性。虚拟助手,如Alexa、Siri和GoogleAssistant等,它们通过深度学习理解自然语言,从而能够执行各种任务,如回答问题、播放音乐、设置提醒等。这些助手通过与用户的交互不断学习和适应,以提供更加个性化的服务。深度学习在娱乐行业中的应用包括视频内容推荐、自动生成体育赛事精彩片段、电影制作等。例如,IBMWatson在温布尔登网球比赛中分析球员情绪和表情,自动生成比赛精彩片段,节省了大量的人力和成本。深度学习在图像识别和分类方面有着广泛的应用,如谷歌图片搜索、面部识别等。通过训练深度神经网络,可以识别和分类大量图像数据,为数字媒体管理提供支持。在金融行业,深度学习被用于检测信用卡欺诈和金融交易中的异常行为。通过分析交易模式和信用评分,深度学习模型能够识别出潜在的欺诈行为,从而减少金融机构的损失。电商平台如淘宝、唯品会、京东等利用深度学习为用户提供个性化的购物体验,包括产品推荐、定制化优惠等。深度学习帮助分析用户行为和偏好,从而提供更加精准的个性化服务。深度学习模型能够学习文本数据,并生成新的文本内容。这在自动写作、聊天机器人等领域有着广泛的

温馨提示

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

评论

0/150

提交评论