【机器学习】机器学习基础

发布于:2025-07-12 ⋅ 阅读:(20) ⋅ 点赞:(0)

1、机器学习概述

1.0、完整机器学习项目的流程

1.0.1、抽象成数学问题

  • 明确问题是进行机器学习的第一步。机器学习的训练过程通常都是一件非常耗时的事情,胡乱尝试时间成本是非常高的。
  • 这里的抽象成数学问题,指的明确我们可以获得什么样的数据,抽象出的问题,是一个分类还是回归或者是聚类的问题。

1.0.2、获取数据

  • 数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。
  • 数据要有代表性,否则必然会过拟合。
  • 而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数量级的差距。
  • 而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得考虑改进算法或者使用一些降维的技巧了。如果数据量实在太大,那就要考虑分布式了。

1.0.3、特征预处理与特征选择

  • 良好的数据要能够提取出良好的特征才能真正发挥作用。
  • 特征预处理、数据清洗是很关键的步骤,往往能够使得算法的效果和性能得到显著提高。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤。
  • 筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。

1.0.4、训练模型与调优

直到这一步才用到我们上面说的算法进行训练。现在很多算法都能够封装成黑盒供人使用。但是真正考验水平的是调整这些算法的(超)参数,使得结果变得更加优良。这需要我们对算法的原理有深入的理解。理解越深入,就越能发现问题的症结,提出良好的调优方案。

1.0.5、模型诊断

如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术。

  • 过拟合、欠拟合判断是模型诊断中至关重要的一步。常见的方法如交叉验证,绘制学习曲线等。过拟合的基本调优思路是增加数据量,降低模型复杂度。欠拟合的基本调优思路是提高特征数量和质量,增加模型复杂度。
  • 误差分析也是机器学习至关重要的步骤。通过观察误差样本全面分析产生误差的原因:是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题……
  • 诊断后的模型需要进行调优,调优后的新模型需要重新进行诊断,这是一个反复迭代不断逼近的过程,需要不断地尝试, 进而达到最优状态。

1.0.6、模型融合

一般来说,模型融合后都能使得效果有一定提升。而且效果很好。

  • 工程上,主要提升算法准确度的方法是分别在模型的前端(特征清洗和预处理,不同的采样模式)与后端(模型融合)上下功夫。因为他们比较标准可复制,效果比较稳定。而直接调参的工作不会很多,毕竟大量数据训练起来太慢了,而且效果难以保证。

1.0.7、上线运行

这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。

这些工作流程主要是工程实践上总结出的一些经验。并不是每个项目都包含完整的一个流程。这里的部分只是一个指导性的说明,只有大家自己多实践,多积累项目经验,才会有自己更深刻的认识。

1.1、人工智能发展必备三要素

人工智能发展必备三要素:数据、算法、计算力(CPU,GPU,TPU)

计算力之CPU、GPU对比:

  • CPU主要适合I\O密集型的任务
  • GPU主要适合计算密集型任务
  • TPU:专门针对大型网络训练而设计的一款处理器

1.2、人工智能、机器学习和深度学习

人工智能的三大概念:

  • 人工智能(AI:Artificial Intelligence)
  • 机器学习(ML:Machine Learning)
  • 深度学习(DL:Deep Learning),也叫深度神经网络

在这里插入图片描述

  • 人工智能和机器学习,深度学习的关系
    • 机器学习是人工智能的一个实现途径
    • 深度学习是机器学习的一个子集,也就是说深度学习是实现机器学习的一种方法。

机器学习的学习方式:

  1. 基于规则式的学习:例如程序员根据经验利用手工 if-else 方式进行区分预测
    • 有很多问题无法明确的写下规则,此时我们无法使用规则学习的方式来解决这一类问题,比如:图像和语音识别和自然语言处理
  2. 基于模型的学习:从数据中自动学出规律,例如房价预测

深度学习:

  • 传统机器学习算术依赖人工设计特征,并进行特征提取,而深度学习方法不需要人工,而是依赖算法自动提取特征。深度学习模仿人类大脑的运行方式,从经验中学习获取知识。这也是深度学习被看做黑盒子,可解释性差的原因。
  • 深度学习的发展历史如下:

在这里插入图片描述

深度学习的优点:

  • 精度⾼,性能优于其他的机器学习⽅法,甚至在某些领域超过人类。
  • 随之计算机硬件的发展,可以近似任意的非线性函数
  • 近年来在学界和业界受到了热捧,有大量的框架和库可供调

深度学习的缺点:

  • 黑箱,很难解释清楚模型是怎么工作的
  • 训练时间长,需要大量的计算力
  • 网络结构复杂,需要调整的超参数多
  • 小数据集上表现不佳,容易发生过拟合

1.3、人工智能发展历程

1.3.1、图灵测试

测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。多次测试(一般为5min之内),如果有超过30%的测试者不能确定被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能

1.3.2、发展历程

人工智能充满未知的探索道路曲折起伏。如何描述人工智能自1956年以来60余年的发展历程,学术界可谓仁者见仁、智者见智。我们将人工智能的发展历程划分为以下6个阶段:

  • 第一是起步发展期:1956年—20世纪60年代初。

    人工智能概念提出后,相继取得了一批令人瞩目的研究成果,如机器定理证明、跳棋程序等,掀起人工智能发展的第一个高潮。

  • 第二是反思发展期:20世纪60年代—70年代初。

    人工智能发展初期的突破性进展大大提升了人们对人工智能的期望,人们开始尝试更具挑战性的任务,并提出了一些不切实际的研发目标。然而,接二连三的失败和预期目标的落空(例如,无法用机器证明两个连续函数之和还是连续函数、机器翻译闹出笑话等),使人工智能的发展走入低谷。

  • 第三是应用发展期:20世纪70年代初—80年代中。

    20世纪70年代出现的专家系统模拟人类专家的知识和经验解决特定领域的问题,实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统在医疗、化学、地质等领域取得成功,推动人工智能走入应用发展的新高潮。

  • 第四是低迷发展期:20世纪80年代中—90年代中。

    随着人工智能的应用规模不断扩大,专家系统存在的应用领域狭窄、缺乏常识性知识、知识获取困难、推理方法单一、缺乏分布式功能、难以与现有数据库兼容等问题逐渐暴露出来。

  • 第五是稳步发展期:20世纪90年代中—2010年。

    由于网络技术特别是互联网技术的发展,加速了人工智能的创新研究,促使人工智能技术进一步走向实用化。1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫,2008年IBM提出"智慧地球"的概念。以上都是这一时期的标志性事件。

  • 第六是蓬勃发展期:2011年至今。

    随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展,大幅跨越了科学与应用之间的"技术鸿沟",诸如图像分类、语音识别、知识问答、人机对弈、无人驾驶等人工智能技术实现了从"不能用、不好用"到"可以用"的技术突破,迎来爆发式增长的新高潮。

在这里插入图片描述

1.4、人工智能的主要分支

通讯、感知与行动是现代人工智能的三个关键能力,在这里我们将根据这些能力/应用对这三个技术领域进行介绍:

  • **计算机视觉(CV)、**图像识别、无人驾驶

    • 对人看到的东西进行理解
  • 自然语言处理(NLP)

    • 在 NLP 领域中,将覆盖文本挖掘/分类、机器翻译和语音识别
    • 对人交流的东西进行理解
  • 机器人

1.4.1、计算机视觉

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。物体检测和人脸识别是其比较成功的研究领域。

1.4.2、语音识别

语音识别是指识别语音(说出的语言)并将其转换成对应文本的技术。相反的任务(文本转语音/TTS)也是这一领域内一个类似的研究主题。

  • 语音识别领域仍然面临着声纹识别和**「鸡尾酒会效应」**等一些特殊情况的难题。
  • 现代语音识别系统严重依赖于云,在离线时可能就无法取得理想的工作效果。

比如小度、小爱同学

1.4.3、文本挖掘/分类

**这里的文本挖掘主要是指文本分类,该技术可用于理解、组织和分类结构化或非结构化文本文档。**其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

我们将这项技术归类到应用阶段,因为现在有很多应用都已经集成了基于文本挖掘的情绪分析或垃圾信息检测技术。文本挖掘技术也在智能投顾的开发中有所应用,并且提升了用户体验。

文本挖掘和分类领域的一个瓶颈出现在歧义和有偏差的数据上。

1.4.4、机器翻译

机器翻译(MT)是利用机器的力量自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)。

1.4.5、机器人

机器人学(Robotics)研究的是机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理。

**机器人可以分成两大类:固定机器人和移动机器人。**固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。

法律法规和「机器人威胁论」可能会妨碍机器人领域的发展。还有设计和制造机器人需要相对较高的投资

1.5、机器学习工作流程

1.5.1、什么是机器学习

机器学习是从数据自动分析获得模型,并利用模型对未知数据进行预测。

在这里插入图片描述

1.5.2、机器学习工作流程

在这里插入图片描述

  • 机器学习工作流程总结
    • 1.获取数据
    • 2.数据基本处理:数据缺失值处理、异常值处理
    • 3.特征工程:特征提取、特征预处理、特征降维
    • 4.机器学习(模型训练):线性回归、逻辑回归、决策树、GBDT
    • 5.模型评估:回归评测指标、分类评测指标、聚类评测指标
      • 结果达到要求,上线服务
      • 没有达到要求,重新上面步骤

注:在整个建模流程中,数据基本处理、特征工程一般是耗时、耗精力最多的。

1.5.3、样本、特征、特征值、标签、数据集

在这里插入图片描述

在数据集中一般:

  • 一行数据我们称为一个样本sample,多个样本组成数据集dataset
  • 一列数据我们称为一个特征feature
  • 有些数据有目标值(标签值label/target),有些数据没有目标值(如上表中,电影类型就是这个数据集的目标值/标签)

数据类型构成:

  • 数据类型一:特征值+目标值(目标值是连续的和离散的)
  • 数据类型二:只有特征值,没有目标值

数据分割:

  • 机器学习一般的数据集会划分为两个部分:
    • 训练数据集:用于训练,构建模型
    • 测试数据集:在模型检验时使用,用于评估模型是否有效
  • 划分比例:
    • 训练数据集:70% 80% 75%
    • 测试数据集:30% 20% 25%

1.5.4、特征工程

特征工程是使用专业背景知识和技巧处理数据使得特征能在机器学习算法上发挥更好的作用的过程

  • 意义:会直接影响机器学习的效果

特征工程就是对数据进行更好的处理。

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

特征工程包含内容:

  • 特征提取
  • 特征预处理
  • 特征降维
1、特征提取

特征提取:

  • 将任意数据(如文本或图像)转换为可用于机器学习的数字特征

在这里插入图片描述

比如把文字转化为机器更易于理解的数字

2、特征预处理
  • 通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程

在这里插入图片描述

将各个特征值变为某个区间范围内

3、特征降维
  • 指在某些限定条件下,降低随机变量(特征)个数,得到一组"不相关"主变量的过程

在这里插入图片描述

高维变为低维

1.6、机器学习算法分类

根据数据集组成不同,可以把机器学习算法分为:

  • 有监督学习
  • 无监督学习
  • 半监督学习
  • 强化学习

1.6.1、有监督学习Supervised Learning

如果给一个从来没有见过苹果的小朋友看苹果的图片,并且告诉他这是苹果。一般三次以后:小朋友就认识苹果了!下次再见到苹果的时候,哪怕是大小和颜色有差别的苹果,小朋友也大概率能认出它是苹果。这就是有监督学习。

  • 定义:
    • 输入数据是由输入**特征值和目标值(标签值)**所组成。
      • 函数的输出可以是一个连续的值(称为回归)
      • 或是输出是有限个离散值(称作分类)

回归问题:例如预测房价,根据样本集拟合出一条连续曲线。

在这里插入图片描述

回归问题,目标值(标签值)是连续的


分类问题:例如根据肿瘤特征判断良性还是恶性,得到的是结果是"良性"或者"恶性",是离散的。

在这里插入图片描述

1.6.2、无监督学习Unsupvervised Learning

定义:

  • 输入数据是由输入特征值组成,没有目标值
    • 输入数据没有被标记,也没有确定的标签值。样本数据类别未知;
    • 需要根据样本间的相似性对样本集进行类别划分。

在这里插入图片描述

比如上图中请机器归类为戴帽子和不戴帽子的,或者手里拿东西类和手里无东西类。

在这里插入图片描述

1.6.3、半监督学习Semi-Supvervised Learning

最后来看看半监督,它的存在是因为没有足够的有标签数据,或者获取有标签数据太昂贵了!比如你有100万份交易记录,这些其中有些是欺诈交易。你要训练一个模型来判断一笔新的交易是否是欺诈交易。

  • 最理想的模型是用有监督学习,但是要给这100万份数据都打上标签是非常耗时的。所以这时候你可以先给其中一部分,比如1w份数据打上标签。你用这1w份有标签数据,用有监督学习方法,先训练一个模型出来。然后你用这个模型,给剩下的数据做判断,给他们自动打上标签。在剩下的99w份中,其中50w份的信心指数比较高。你把这50w份也当做是有标签数据。这样你就有了51万份标签了。然后再训练模型。这个过程可能会持续好几轮。

当然,取决于数据和应用场景,半监督学习效果未必好。所以需要摸索和验证。但可以节约大量的打标签成本。

  • 定义:
    • 训练集同时包含有标记样本数据和未标记样本数据。

举例:

  • 监督学习训练方式:

在这里插入图片描述

首先从数据库得到很多未标记的数据Large Unlabeled Data,让专家进行预测,得到一些标记过的数据,通过标记的数据预测训练模型,结束后就得到一个监督学习的训练模型。

监督学习利用大量的标注数据来训练模型,使模型最终学习到输入和输出标签之间的相关性

  • 半监督学习训练方式

在这里插入图片描述

首先从数据库得到很多未标记的数据Large Unlabeled Data,从中取少部分未标记的数据让专家进行标记,标记完成之后根据这些少量的数据得到初步的模型,再根据少量标记数据和大量无标记数据来综合下来模型

半监督学习利用少量有标签的数据和大量无标签的数据来训练网络

1.6.4、强化学习Reinforcement Learning

张三去玩碰碰车,一旦碰到边缘,就倒车!张三使用了强化学习方法,不管是监督还是非监督,都是直接从数据本身找规律。但强化学习是和环境交互,从环境中学习

  • 简单来说强化学习要建立一种奖励机制,然后不断地试错,每一次试错后,让自己更靠近到那些返回更多奖励的尝试点。

  • 定义:

    • 实质是make decisions 问题,即自动进行决策,并且可以做连续决策。

举例:

小孩想要走路,但在这之前,他需要先站起来,站起来之后还要保持平衡,接下来还要先迈出一条腿,是左腿还是右腿,迈出一步后还要迈出下一步。

小孩就是 agent,他试图通过采取行动(即行走)来操纵环境(行走的表面),并且从一个状态转变到另一个状态(即他走的每一步),当他完成任务的子任务(即走了几步)时,孩子得到奖励(给巧克力吃),并且当他不能走路时,就不会给巧克力。

主要包含五个元素:agent, action, reward(奖励), environment, observation;

在这里插入图片描述

强化学习的目标就是获得最多的累计奖励

监督学习和强化学习的对比:

监督学习 强化学习
反馈映射 输出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出。 输出的是给机器的反馈 reward function,即用来判断这个行为是好是坏。
反馈时间 做了比较坏的选择会立刻反馈给算法 结果反馈有延时,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏。
输入特征 输入是独立同分布的。 面对的输入总是在变化,每当算法做出一个行为,它影响下一次决策的输入。

独立同分布:

  • 在概率统计理论中,如果变量序列或者其他随机变量有相同的概率分布,并且互相独立,那么这些随机变量是独立同分布。
    • 独立:每次抽样之间没有关系,不会相互影响。举例:给一个骰子,每次抛骰子抛到几就是几,这是独立;如果我要抛骰子两次之和大于8,那么第一次和第二次抛就不独立,因为第二次抛的结果和第一次相关。
    • 同分布:每次抽样,样本服从同一个分布。举例:给一个骰子,每次抛骰子得到任意点数的概率都是六分之一,这个就是同分布。
    • 独立同分布:每次抽样之间独立而且同分布
  • 在西瓜书中解释是:输入空间中的所有样本服从一个隐含未知的分布,训练数据所有样本都是独立地从这个分布上采样而得。

独立同分布即假设训练数据和测试数据是满足相同分布的,它是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。

1.6.5、小结

在这里插入图片描述

In Out 目的 案例
监督学习 (supervised learning) 有标签 有反馈 预测结果 猫狗分类 房价预测
无监督学习 (unsupervised learning) 无标签 无反馈 发现潜在结构 “物以类聚,人以群分”
半监督学习 (Semi-Supervised Learning) 部分有标签,部分无标签 有反馈 降低数据标记的难度
强化学习 (reinforcement learning) 决策流程及激励系统 一系列行动 长期利益最大化 学下棋

强化学习应用场景:程碑AlphaGo围棋、各类游戏、对抗比赛、无人驾驶场景

1.7、模型评估

模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。

按照数据集的目标值不同,可以把模型评估分为分类模型评估和回归模型评估。

  • 机器学习模型评估的研究问题主要包括:如何选择合适的评估指标、如何确定评估的实验设计、如何利用评估结果对模型进行优化等。机器学习模型评估是对模型性能进行量化和优化的过程。评估不仅涉及对模型在训练集上的性能考察,还包括在测试集上的表现评估。

  • 训练集用于训练模型,测试集则用于验证模型在新数据上的泛化能力

1.7.1、分类模型评估

在这里插入图片描述

如上图使用年龄和肿瘤大小来预测肿瘤是良性的还是恶性的。我们用绿线来表示界限,绿线以下是良性肿瘤,绿线以上是恶性肿瘤。

性能度量指标是评估机器学习模型性能的关键工具。常用的性能度量指标包括准确率、精确率、召回率、F1分数、ROC AUC面积等

  • 准确率表示预测正确的样本数占总样本数的比例
  • 精确率和召回率则分别表示预测为正且确实为正的样本数以及预测为负且确实为负的样本数所占的比例。
  • F1分数是精确率和召回率的调和平均数,用于综合考虑二者的性能。
  • ROC、AUC面积则是一种常用的分类性能指标,它表示在所有可能的分类阈值下模型的ROC曲线与y=x线之间的面积。

1.7.2、回归模型评估

在这里插入图片描述

我们通常采用MSE、RMSE、MAE、R2来评价回归预测算法。

  1. MSE均方误差:

M S E = 1 n ∑ i = 1 n ( 真实值 − 预测值 ) 2 MSE =\frac{1}{n}\sum_{i=1}^{n}(真实值-预测值)^2 MSE=n1i=1n(真实值预测值)2

  1. RMSE均方值误差:RMSE是一个衡量回归模型误差率的常用公式。 不过,它仅能比较误差是相同单位的模型。

R M S E = 1 n ∑ i = 1 n ( 真实值 − 预测值 ) 2 RMSE =\sqrt{\frac{1}{n}\sum_{i=1}^{n}(真实值-预测值)^2} RMSE=n1i=1n(真实值预测值)2

可以看出:
R M S E = M S E RMSE=\sqrt{MSE} RMSE=MSE

  1. MAE平均绝对误差:

M A E = 1 n ∑ i = 1 n ∣ 真实值 − 预测值 ∣ MAE=\frac{1}{n}\sum_{i=1}^{n}|真实值-预测值| MAE=n1i=1n真实值预测值

1.7.3、拟合

模型评估用于评价训练好的的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合。在训练过程中,你可能会遇到如下问题:训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢?当算法在某个数据集当中出现这种情况,可能就出现了拟合问题。

1、欠拟合

因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。

在这里插入图片描述

欠拟合(under-fitting)模型学习的太过粗糙,连训练集中的样本数据特征关系都没有学出来

  • 模型在训练集上表现很差、在测试集表现也很差
  • 欠拟合产生的原因:模型过于简单
2、过拟合

机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图片全是白天鹅的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅。

在这里插入图片描述

过拟合(over-fitting):所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在测试数据集中表现不佳

  • 模型在训练集上表现很好、在测试集表现很差
  • 过拟合产生的原因:模型太过于复杂、数据不纯、训练数据太少

1.7.4、泛化

泛化:模型在新数据集(非训练数据)上的表现好坏的能力

1.8、深度学习简介

深度学习(Deep Learning)是机器学习的一个分支,演示链接:http://playground.tensorflow.org

深度学习各层负责的内容:

  1. 1层:负责识别颜色及简单纹理
  2. 2层:一些神经元可以识别更加细化的纹理,布纹,刻纹,叶纹等
  3. 3层:一些神经元负责感受黑夜里的黄色烛光,高光,萤火,鸡蛋黄色等。
  4. 4层:一些神经元识别萌狗的脸,宠物形貌,圆柱体事物,七星瓢虫等的存在。
  5. 5层:一些神经元负责识别花,黑眼圈动物,鸟,键盘,原型屋顶等。

网站公告

今日签到

点亮在社区的每一天
去签到