包含关键字 学习方法 的文章

人工智能项目开发验收与维护

模型性能评估与测试调优
分类任务的评价指标
评价指标:使用不同的性能度量,往往会产生不同的评判结果,评价指标的选择,影响性能、算法选择、特征重要性的评判的结果。
模型的泛化性:机器学习的目标是从训练领域的训练数据到任意其他数据上的性能良好,可以在未来对模型没有见过的数据进行预测,可能会产生过拟合和欠拟合的情况。
准确率:正确分类的样本数占总样本数的比例,但是对于不均衡数据而言,模型会调入“高准确率陷阱”,为避免该陷阱,引入混淆矩阵。
混淆矩阵:把样本的真实分类值作为一个维度,把预测分类值作为一个维度。
精准率和召回率,精确率取决于模型准不准,召回率看数据全不全,不可兼得,要取舍。

模型调优,过拟合与欠拟合。
调参过程类似,先找出若干模型,然后基于某种模型进行评估。算法参数一般人工设置。模型的参数一般由学习确定。参数对性能会有终身影响。拟合就是调整参数和模型,让结果无线接近真实值的过程。
偏差—方差窘境,一般而言,偏差与方差存在冲突,训练不足,徐吸气你和能力不强,偏差主导。训练加深,拟合能力增强,方差主导,训练充足后,学习器拟合能力很强,方差主导。
泛化性能是由学习算法的能力,数据的充分性,以及学习任务共同难度决定。
比较检验:机器学习恩物——>概率近似正确。测试性能不等于泛化性能,且随着测试数据集的变化而变化,很多机器学习算法本身有一定的随机性。
模型泛化性的评价,过拟合,即在训练数据上表现良好,在未知数据上表现差。欠拟合,即在训练数据和未知数据上表现都很差。解决方法是重新选数据,重新选模型。

模型的部署与维护
环境部署的选择,
生成VS开发,生产环境是软件持续运行的环境,是用户最终使用的环境。开发环境,是程序员用于编码、测试和优化代码的环境。
单机VS分布式,单机,是一台可以响应用户所有请求的机器。分布式,多台机器通过协调和通信实现共同的目标,计算机集群。

模型部署,机器模型的挑战
数据科学语言管理,python和R是最流行的语言,生产环境,转化为C++或者Java,使用容器化技术。涉及算力和GPU的分配,包括可移植性和可扩展性,批处理扩展到流处理的能力和弹性的管理。
线路图需要模型引擎、工具库、数据转换器、模型库等,需要支持常用编程脚本语言,及相关的工具库,比如docker,spark等。

模型的维护,在工业环境中开发和部署机器学习模型的流程。
流程,数据管理、模型学习、模型验证、模型部署。
模型学习包括模型选择和模型训练。
模型验证,要求:能够满足未知数据,泛化,合理处理,鲁棒性,满足需求。
步骤:
需求编码,定义:需求是测试活动的前提,性能的提升并不能转换为商业价值的增益。
形式验证:数学证明,误差范围的数值估计,现实中通过监督框架等实现。
以及测试的验证,搜集未验证的数据集。

模型部署包括:
模型集成,构建模型基础架构,实现模型,系统工程,机器学习,交叉。
模型监测,社区理解待监测数据,如何启动警报,预测偏差。
模型更新,始终反应数据的更新。

机器学习开发框架
什么事机器学习开发框架?
机器学习开发框架本质上是一种编程库或工具,目的是能够让开发人员更容易、更快速地构建机器学习模型。机器学习开发框架封装了大量的可重用代码,可以直接调用,目的是避免“重复造轮子’大幅降低开发人员的开发难度,提高开发效率。机器学习开发框架是涵盖用于分类,回归,聚类,异常检测和数据准备的各种学习方法,并且可以包含神经网络方法。

机器学习框架和深度学习框架的区别和联系。
广义上,机器学习框架包含了深度学习框架。本质上,机器学习框架涵盖分类、回归、聚类、异常检测和数据准备等各种学习方法。深度学习框架涵盖很多多隐藏层的深度神经网络拓扑。
机器学习框架:Caffe,CNTK,PyTorch,Keras,MXNet,TensorFlow。深度学习框架:深度学习框架专注于神经网络,常用的是PyTorch和TensorFlow。
TensorFlow:人数多,社区庞大,工作流程简单,api稳定,兼容性好,能在各类型机器上运行,google持续提供支持,快速迭代和完善。
PyTorch:支持GPU和动态神经网络,面向对象设计最优雅。简洁、高效、快速,追求最小的封装,符合人类思维,让用户聚焦自己的想法。

如何使用开源代码仓库
什么是开源?即源代码公开,任何人都可以获取源码,查看,修改。依托同行评审的社区生成,旨在分散、协作的方式开发。
协议包括:GPL、LGPL、BSD、MIT、APACHE、MPL。
好处:更多控制权、学习更容易、真正的安全。
发展情况:
地域性,美国66%,中国13%,其他21%。
维护者特性,企业、高校研究机构、组织和个人,各占三分之一。
时间特性,2007年后开原机器学习框架推动机器学习进步,深度学习框架开始繁荣。
编程语言特性,Python、C++、Java
框架特性,TensorFlow用户居多。

常见的开源代码托管平
Github,世界上最大的代码托管平台,面向开源和私有项目托管,5000万开发者,只支持git。
Gitlab,用于仓库管理系统的开源项目,适合团队对仓库的访问。
Bitbucket,采用Mercurial作为分布式版本控制系统,采用Mercurial作为分布式版本控制系统,无限制磁盘空间的使用。
Coding,面向开发者的云端开发平台,2014年,发布腾讯云为基础的国内第一款全云端IDE,CloudStudio。
Gitee,码云,代码托管协作开发平台,企业级代码托管服务。

对GPU和CPU的云计算的依赖
AI算力芯片
CPU,中央处理器,擅长复杂的逻辑运算和数据格式。
GPU,图形处理器,运行绘画运算,擅长图像运算和矩阵运算,加速人工智能的运算速度。
无法单独工作,必须由CPU进行控制和调用。
将在数据中心长足发展,表现为高运算性能迅速占领AI数据中心市场,浮点运算能力不断直线上升。
NPU,为物联网人工智能而设计,用于加速神经网络的运算,多用于视频和多媒体数据。
TPU,为机器学习定制的芯片,张量处理单元,30~80倍的效率提升。

AI与云计算服务
AI项目开发为何需要云计算服务?AI模型训练过程中,出现算力突增,云计算成本低,云平台提供一站式解决方案,创业公司的选择。
AI在云端和终端的算力依赖,云端AI算力提升,智能数据分析任务、训练模型任务、带宽要求不高的推理服务。
边缘+终端的AI算力,本地实时响应的推理服务、数据收集、环境感知、人机交互、不分推理决策控制任务。

人工智能开发目标
发现与明确问题:
目标:AI的目标是将隐藏在一大批数据背后的信息集中处理并提炼,从而总结出研究对象的内在规律。
技术角度:性能能达到预期吗?需要多少数据?能够获取到吗?需要多久?
业务角度:要解决什么问题,商业目的是什么?
数据分析:通过统计、机器学习、深度学习方法,对大量的数据进行计算、汇总和整理,最大化开发数据价值,发挥数据的作用。

开发周期内容:
收集数据:数据源和数据格式
模型探索:测试、部署、监控
模型优化

数据准备:
重要性:数据采集和数据清洗占到人工智能项目一半以上的工作,训练的数据量越大,模型越准确。建立数据标准、数据工程、专家解决方案没来减少数据准备(79%)的时间。
数据限制:时间成本、算力和数据量。
业务流程:
数据采集:观测数据、人工收集、问卷调查、线上数据库
数据清洗:有缺失的数据、有重复的数据、内容错误的数据、不需要的数据等。
数据标注:即通过分类、画框、标注、注释等,对图片、语音、文本等数据进行处理,标记对象的特征,以作为机器学习标签的过程。
数据划分:训练集用于完成模型训练任务,包括训练误差、经验误差。
测试机用于模型的泛华效果进行检验。
一般是8:2或者7:3,训练集较大。
数据验收:
合法性:数据符合定义的业务规则或约束的程度,例如约束,包括类型约束、范围约束、唯一约束。
准确性:数据接近真实值的程度。
完整性:所有必须数据的已知程度。
一致性:在一个或跨多个数据集的一致程度。

数据管理:利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程其目的在于充分有效地发挥数据的作用,实现数据有效管理的关键是数据组织。
数据管理VS数据治理:
数据管理包含数据治理,数据治理是明确数据责任,流程,确保数据资产得到产期有效的管理。数据管理包含方方面面,例如建立一个数据仓库,定义谁能来访问和管理这个数据仓库。
相关问题:数据不足,数据过小没有足够的样本量;数据隐私泄露;分类质量低;数据质量低,样本不匹配样本混乱。

数据特征工程:从原始数据转换为特征向量的过程。
特点:特征工程是机器学习中很重要的起始步骤,直接影响效果,需要大量的时间,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。
基本方法:
特征选择:从给定的特征集合中选出相关特征子集的过程,去除无关特征,降低特征学习难度,让模型简单,降低计算复杂度;抛弃这部分特征(冗余特征),可能会降低模型的性能,计算复杂度 和 模型性能 之间的取舍。要注意不能丢弃重要特征。
特征提取:一般是在特征选择之前,提取的对象是原始数据,目的是自动构建新特征(深度学习),将原始数据构建为一组具有明显物理意义(Gabor、纹理特征、几何特征)或统计意义的特征。特征提取——转换;特征选择——挑选。
特征构建:从原始数据中人工构建新的特征,观察原始数据,思考问题的潜在形式和数据结构,数据特殊性和机器学习实战有助于构建,需要创造力和想象力。

人工智能、机器学习和深度学习之间的关系:
机器学习是人工智能的一个分支,该领域的主要研究对象是人工智能,特别是如何在经验学习中改进具体算法的性能;深度学习是一种典型的机器学习方法,是一种基于对数据进行表征学习的算法。
人工智能 > 机器学习 > 深度学习。

机器学习
人工智能实现路径:机器学习是对能通过经验自动改进计算机算法的研究;机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。人类是基于经验,机器学习基于训练模型。
举例:草莓
机器学习就是找到草莓的不同特征维度(尺寸、颜色、成熟度)与草莓标签(酸、甜)之间的映射关系。
机器学习就是找到特征与标签之间的关系,利用算法从一类训练数据或信息中自动分析并获得该类数据或信息的规律,并利用获得的规律进行预测。
上述寻找关系和规律的过程,称为训练。结果是得到一个机器学习模型。

三种类型:监督学习、无监督学习、强化学习。
监督学习:是在有指导的前提下让机器进行学习,这种指导的关键是给训练数据标注好“标签”。监督学习的目标在观察完一些事先标注过的训练数据(输入和预期输出)后,这个模型对任何可能出现的输入去预测其输出。要达到此目的,学习者必须以“合理”(归纳规律)的方式从现有的数据中一般化到未观察到的情况。在人类和动物感知中,则通常被称为概念学习。
无监督学习:无指导的学习的过程,待训练的数据没有标签。聚类:机器学习算法寻找共同特征,并聚合到一起;把相似的对象通过静态分类的方法,分成更多的组别或者不同的子集,使成员具备相似的属性。
系统自由的探索,所学的内容要包括理解数据本身,而不是将这种理解用于特定的任务。通往通用智能的道路,必须有无监督学习。比如监督学习是考试,知道答案,学习后下次的目的就是考试。无监督学习是自己学习试卷,把语文、数学题分开,并不是要考100分为特定的目的。就是归纳数据,创建子集。和人类的“归纳”学习方法类似。
强化学习:强化学习(Reinforcement Learning, RL)是机器学习的一个重要分支,它主要解决的是决策问题,即让智能体(agent)在与环境的交互过程中自动进行决策以达到回报最大化或实现特定目标。
强化学习的基本框架包括四个元素:agent、环境状态、行动和奖励。智能体(agent)根据当前的环境状态(state)按照某种策略(policy)选择下一步动作(action),并从环境中得到奖励(reward)。强化学习可以分为基于值(value-based)的强化学习、基于策略(policy-based)的强化学习和演员-评论家(Actor-Critic)方法。
强化学习是一种试错方法,没有直接的标签,而是通过奖励来学习。

深度学习
神经网络模型:深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅草莓照片)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。
深度学习的最主要特征是使用神经网络作为计算模型。神经网络模型 得名于其对于动物神经元传递信息方式的模拟。
深度,一般指神经网络的层数。一般有2-3个隐藏层;深层神经网络,隐藏层可能有150层。
深度学习 VS 机器学习:相辅相成。
特征处理:
所有机器学习:需要可准确识别且有人工提取的特征。
深度学习:从数据中习得高级特征,并自行创建新的特征

学习方法:
所有机器学习:将学习过程划分为较小的步骤。然后,将每个步骤的结果合并成一个输出。
深度学习:通过端到端地解决问题来完成学习过程,只要有输入和输出即可,不需要分为更多步骤。

数据依赖:
所有机器学习:可以使用少规模的数据做出预测,可解释性好,性能好。
深度学习:需要使用大量的训练数据做出预测,可解释性不好。

硬件依赖:
所有机器学习:可在低端机器上工作,不需要大量的计算能力。
深度学习:依赖于本身就能执行大量的矩阵乘法运算的高端机器。 GPU可以有效地优化这些运算。

最后,深层神经网络,数据量大性能越好,传统机器学习,数据量大,性能和结果扁平。

艾伦图灵,1936年发布《论可计算数及其在判定问题上的应用》,提出算法和计算机两个概念。1950年发布论文《计算机与智能》,提出了“图灵测试”。
1956年美国达特茅斯会议“人工智能”概念诞生。人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新技术科学。人工智能是对人的意识、思维的信息过程的模拟,人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。根据对环境的感知做出合理的行为并做出做大收益。
人工智能三个层面:计算智能(能算能存)、感知智能(能听能说,能看能认)、认知智能(能理解,会思考)。
计算智能,快速计算和记忆存储,速度较快占领高地。1996年国际象棋大师卡斯帕罗夫4:2击败IBM深蓝,但1997年输给了深蓝。
感知智能,能听能说,能看会认,具备听说读写的能力。人工智能比人类智能更具优势,可以主动感知,比如BigDog、自动驾驶汽车等,充分利用深度神经网络和大数据的成果。
认知智能,能理解、思考、决策,具备概念、意识、观念都是认知智能的表现。人工智能开始主动开展探索,在一定程度上模拟人类的创作过程。

现阶段实现AI的基本方法及技术领域。
从技术应用场景展开,包括计算机视觉、语音识别、自然语言处理等概念。
从实现AI的技术工具和方法论展开,机器学习是是实现AI的最大技术工具集,包括监督学习、无监督学习、强化学习。其中深度学习是机器学习最重要的分支,实现AI效果最佳,深度学习的核心是神经网络的算法技术。

名词解释:
人工智能(Artificial intelligence):人工智能亦称智械、机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序来呈现人类智能的技术。
算法(Algorithms):在数学(算堂)和计算机科学中,一个被定义好的、计算机可执行的有限步骤或次序。常用于辻算、数据处理和自动推理,例 f(x)=y。

机器学习(Machine learning):设计和分析一些让计算机可以自动“学习”的算法。机器学习是一类从数据中自动分析获得规律并利用规律对未知数据进行预测的算法。
深度学习(Deep learning):是机器学习中一种基于对数据进行表征学习的算法。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
神经网络(NN):现代神经网络是一种非线性统计性数据建模工具,神经网络通常是通过一个基于数学统计学类型的学习方法得以优化,所以也是数学统计学方法的一种实际应用,
监督学习(Supervised learning):机器学习的一种方法,可以由训练资料中学到或建立一个模式(函数/learning model),并依此模式推测新的实例。
无监督学习(Unsupervised learning):机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的资料进行分类或分群。

人工智能特点:厚基础、重交叉、宽口径。
学科领域:数学与统计、科学与工程、计算机科学与技术、人工智能核心、认知与神经科学、先进机器人技术、人工智能与社会、人工智能与平台。

费曼学习法
以教促学:用教会别人的方式,来巩固自己学习的知识。
执行起来分为四个步骤,以学习一个知识点为例:
概念(Concept):学习知识点相关知识,直到感觉自己掌握。
讲述(Teach):用自己的语言,将这个知识点教给别人,让别人能够听懂,学会。
回顾(Review):讲述结束后,分析自己在讲述过程中,有哪些理解不透彻,甚至理解错误的地方,或者虽然自己感觉是理解了,但是讲出来还是让人感觉晦涩难懂。
简化(Simplify):针对第三步中发现的问题,继续学习,直到能够以更加自然流畅、简洁精准的语言将知识点阐述清楚,更容易让人理解。
完成以上四步之后,再重复这个过程,直到讲述过程简单、生动、形象,相关案例能信手拈来。

SQ3R阅读法
五个阶段(Survey,Question,Read,Recite,Review),预览、提问、阅读、复述、复习。
浏览—:拿到书之后,先把书的目录、标题等看一遍,了解这本书的大概内容。
发问—:粗读一下书籍,并把自己的疑问记录下来,以催进学习兴趣,激发主观能动性。
阅读—:精读书籍,边读边做标记和笔记,做到眼到、口到、心到、手到,边读边思考,可以做一些标记,让自己沉浸到书中。
复述—:合上书本,让书中的内容在脑中“过电影”方面巩固记忆,一方面检查知识是否有卡壳和遗漏,便及时打开书,以把知识漏洞补上。
复习—:复述一、两天内,要进行复习,隔一段时间,再重新复习,一方面对知识进行巩固,另一方面,在复习过程中,会有新的体会。

题目学习法
1、无论直播还是录播,先完整地听一遍课。
2、课后对照讲义和知识点清单复习,不求做到熟记,但理解程度要达到70%+,有不理解的可询问、讨论或回听对应的课程段。
3、结合复习的结果来做题,如每日一练、周末章节题、模拟题等。
4、接下来是核心重点——做完的题无论是对还是错,每一题分别去讲义或书上找到对应的知识点并加以复习,同时往前推5行,往后推5行把其中包含的知识点内容也予以熟悉。
注:该方法的特点是,通过题目复习巩固知识点,并因各题对应的知识点位置前后推5行覆盖的范围很大概率交叉重叠,这样在题目做得越多情况下,各知识点重复复习概率越高,重复得越多,自然掌握越牢固。