机器学习基本介绍

1、人工智能概述

人工智能发展必备三要素:

  1. 数据
  2. 算法
  3. 计算力
    1. CPU,GPU,TPU

计算力之CPU、GPU对比:

  • CPU主要适合I\O密集型的任务

  • GPU主要适合计算密集型任务

 

1.1、人工智能、机器学习和深度学习的关系

人工智能和机器学习,深度学习的关系:

  • 机器学习是人工智能的一个实现途径

  • 深度学习是机器学习的一个方法发展而来

 

1.2、人工智能发展历程

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

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

 

1.3、人工智能主要分支

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

  1. 计算机视觉(CV)
  2. 自然语言处理(NLP)
    1. 在 NLP 领域中,将覆盖文本挖掘/分类、机器翻译和语音识别。
  3. 机器人 

 

  • 计算机视觉

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

当前阶段:计算机视觉现已有很多应用,这表明了这类技术的成就,也让我们将其归入到应用阶段。随着深度学习的发展,机器甚至能在特定的案例中实现超越人类的表现。但是,这项技术离社会影响阶段还有一定距离,那要等到机器能在所有场景中都达到人类的同等水平才行(感知其环境的所有相关方面)。

发展历史:

  •  语音识别

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

当前阶段:语音识别已经处于应用阶段很长时间了。最近几年,随着大数据和深度学习技术的发展,语音识别进展颇丰,现在已经非常接近社会影响阶段了。语音识别领域仍然面临着声纹识别和「鸡尾酒会效应」等一些特殊情况的难题。现代语音识别系统严重依赖于云,在离线时可能就无法取得理想的工作效果。

发展历史:

  • 文本挖掘/分类

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

当前阶段:我们将这项技术归类到应用阶段,因为现在有很多应用都已经集成了基于文本挖掘的情绪分析或垃圾信息检测技术。文本挖掘技术也在智能投顾的开发中有所应用,并且提升了用户体验。文本挖掘和分类领域的一个瓶颈出现在歧义和有偏差的数据上。

发展历史: 

 

  • 机器翻译

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

当前阶段:机器翻译是一个见证了大量发展历程的应用领域。该领域最近由于神经机器翻译而取得了非常显著的进展,但仍然没有全面达到专业译者的水平;但是,我们相信在大数据、云计算和深度学习技术的帮助下,机器翻译很快就将进入社会影响阶段。在某些情况下,俚语和行话等内容的翻译会比较困难(受限词表问题)。专业领域的机器翻译(比如医疗领域)表现通常不好。

发展历史: 

 

  • 机器人

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

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

当前阶段:

自上世纪「Robot」一词诞生以来,人们已经为工业制造业设计了很多机器人。工业机器人是增长最快的应用领域,它们在 20 世纪 80 年代将这一领域带入了应用阶段。在安川电机、Fanuc、ABB、库卡等公司的努力下,我们认为进入 21 世纪之后,机器人领域就已经进入了社会影响阶段,此时各种工业机器人已经主宰了装配生产线。此外,软体机器人在很多领域也有广泛的应用,比如在医疗行业协助手术或在金融行业自动执行承销过程。但是,法律法规和「机器人威胁论」可能会妨碍机器人领域的发展。还有设计和制造机器人需要相对较高的投资。

发展历史:

总的来说,人工智能领域的研究前沿正逐渐从搜索、知识和推理领域转向机器学习、深度学习、计算机视觉和机器人领域。大多数早期技术至少已经处于应用阶段了,而且其中一些已经显现出了社会影响力。一些新开发的技术可能仍处于工程甚至研究阶段,但是我们可以看到不同阶段之间转移的速度变得越来越快。 

 

2、机器学习基本介绍

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

 

2.1、机器学习工作流程

机器学习工作流程总结

  1. 获取数据
  2. 数据基本处理
  3. 特征工程
  4. 机器学习(模型训练)
  5. 模型评估 

结果达到要求,上线服务;没有达到要求,重新上面步骤。

 

2.1.1、数据集介绍

在数据集中一般:

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

数据类型构成:

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

数据分割:

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

 

2.1.2、数据基本处理

即对数据进行缺失值、去除异常值等处理 

 

2.1.3、特征工程

特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。意义:会直接影响机器学习的效果

机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge.“Applied machine learning” is basically feature engineering. ” 译:业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

特征工程包含内容:

  1. 特征提取:将任意数据(如文本或图像)转换为可用于机器学习的数字特征。
  2. 特征预处理:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
  3. 特征降维:指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程

 

2.1.4、机器学习

选择合适的算法对模型进行训练。
 

2.1.5、模型评估

对训练好的模型进行评估(具体内容见1.6)

 

2.2、独立同分布

概念定义:在概率论和统计学中,独立同分布(Independent and Identically Distributed,缩写为 i.i.d)是一组随机变量的重要性质。

定义:

  • 独立:指数据集中的每个样本都是相互独立的,即一个样本的出现不会影响其他样本的出现概率。例如,在预测天气的模型中,今天的天气状况与明天的天气状况在统计上是相互独立的,今天是晴天并不影响明天是雨天的概率。
  • 同分布:意味着所有样本都服从相同的概率分布。例如,在手写数字识别任务中,训练集中的所有数字图像都来自于同一个总体分布,即它们具有相似的特征和统计特性,如数字的笔画结构、书写风格等。

作用:

  • 简化模型训练:独立同分布假设使得机器学习算法可以更方便地对数据进行处理和分析。在训练模型时,由于每个样本都是独立的,我们可以将数据集看作是一个由多个独立事件组成的集合,从而可以使用一些基于概率统计的方法来估计模型的参数。例如,在朴素贝叶斯算法中,就假设了特征之间是相互独立的,这大大简化了计算过程,使得模型能够快速训练和预测。
  • 提高模型泛化能力:当数据满足独立同分布时,模型在训练集上学习到的规律可以更好地推广到未知的测试集上。因为训练集和测试集来自于同一个分布,所以模型在训练集上拟合的特征和模式也适用于测试集。如果数据不满足独立同分布,例如训练集和测试集的分布存在差异,那么模型可能会在训练集上表现良好,但在测试集上出现过拟合或性能下降的情况。

 

3、机器学习算法分类

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

  1. 监督学习
  2. 无监督学习
  3. 半监督学习
  4. 强化学习

 

3.1、监督学习(Supervised Learning)

概念:监督学习是一种机器学习方法,它使用标记数据进行训练,即数据集中的每个样本都有一个对应的标签或目标值。模型通过学习输入特征与输出标签之间的映射关系,来对新的、未见过的数据进行预测。

工作原理:

  • 训练数据:监督学习算法首先需要一个包含输入特征和相应输出标签的训练数据集。例如,在一个预测房价的模型中,输入特征可能包括房屋面积、卧室数量、地理位置等,而输出标签就是房屋的实际价格。
  • 模型选择:选择一个合适的模型结构,如线性回归模型、决策树、神经网络等。不同的模型适用于不同类型的数据和问题。
  • 学习过程:模型通过调整自身的参数,使得在训练数据上的预测结果与真实标签之间的差异最小化。这个过程通常使用优化算法来实现,如梯度下降算法。
  • 模型评估:使用一个独立的验证数据集或测试数据集来评估模型的性能。常见的评估指标包括均方误差、准确率、召回率等。根据评估结果,可以对模型进行调整和改进,以提高其泛化能力。

常见算法:

  • 线性回归:用于预测连续的数值型变量。它假设输入特征与输出变量之间存在线性关系,通过最小化均方误差来确定模型的参数。例如,根据房屋的面积、房龄等特征预测房价。
  • 逻辑回归:虽然名字中包含 “回归”,但它实际上是用于分类问题,特别是二分类问题。它通过将线性函数的输出经过一个 sigmoid 函数映射到 0 到 1 之间的概率值,来判断样本属于某个类别的可能性。例如,判断一封邮件是否为垃圾邮件。
  • 决策树:通过构建一个树形结构来进行决策。每个内部节点是一个特征上的测试,分支是测试的结果,叶子节点是类别或值。它可以处理分类和回归问题,具有可解释性强的优点。例如,根据天气、温度等特征决定是否去户外运动。
  • 支持向量机:旨在找到一个最优的超平面,将不同类别的数据点分隔开,并且使间隔最大化。主要用于二分类问题,在处理高维数据时表现出色。例如,对图像中的物体进行分类。

应用场景:

  • 图像识别:如识别手写数字、识别照片中的物体类别等。通过大量标注好的图像数据训练模型,让模型学习到不同图像特征与物体类别的对应关系,从而对新的图像进行分类。
  • 语音识别:将语音信号转换为文字或执行语音指令。监督学习模型可以学习语音特征与文字或指令之间的映射,实现语音到文本的转换和语音交互功能。
  • 医疗诊断:根据患者的症状、检查结果等特征,预测疾病的类型或患者的病情严重程度。帮助医生进行辅助诊断,提高诊断的准确性和效率。
  • 金融风险预测:根据客户的财务状况、信用记录等特征,预测客户的违约风险或欺诈可能性。帮助金融机构做出更明智的贷款和风险管理决策。

 

3.2、无监督学习(Unsupervised Learning)

概念:无监督学习使用未标记的数据,算法需要自己发现数据中的结构和模式。

无监督学习是一种机器学习方法,它处理的是未标记的数据。在无监督学习中,没有给定明确的输出标签或目标值来指导模型的学习。相反,模型需要自己从数据的结构、分布和模式中发现有价值的信息。例如,想象有一堆形状、颜色各异的石头,无监督学习就像是在没有任何预先定义的类别(如 “圆形石头”“方形石头”)的情况下,尝试去找出这些石头可能存在的分组规律或者其他内在模式。

  • 聚类算法:
    • K - 均值聚类(K - Means Clustering):将数据划分为 K 个簇。首先随机选择 K 个中心点,然后将每个数据点分配到距离最近的中心点所在的簇,接着更新中心点,重复这个过程直到簇的划分不再变化。例如,将用户根据消费行为聚类为不同的群体。
    • 层次聚类(Hierarchical Clustering):构建一个聚类层次结构,有凝聚式(从每个数据点作为一个单独的簇开始,逐步合并)和分裂式(从所有数据点在一个簇开始,逐步分裂)两种方式。可以用于生物分类等领域
  • 降维算法:
    • 主成分分析(Principal Component Analysis,PCA):通过线性变换将原始数据转换到一个新的坐标系中,使得数据在新坐标系的第一个坐标轴(主成分)上的方差最大,第二个坐标轴上的方差次之,以此类推。用于数据可视化和去除数据中的冗余信息。例如,将高维的图像数据降维后进行处理。

 

3.3、半监督学习(Semi - supervised Learning)

概念:介于监督学习和无监督学习之间,同时使用少量的标记数据和大量的未标记数据来训练模型。例如,在图像分类任务中,只有少量图像有准确的类别标签,结合大量未标记图像来提高模型的性能。

算法示例:半监督支持向量机(Semi - supervised SVM),它利用未标记数据来帮助构建更好的决策边界,提高分类的准确性。

 

3.4、强化学习(Reinforcement Learning)

概念:智能体(agent)在环境(environment)中采取一系列行动(action),根据环境反馈的奖励(reward)信号来学习最优的行为策略。

算法示例:

  • Q - 学习(Q - Learning):智能体通过学习一个 Q - 函数来估计在某个状态下采取某个行动的长期奖励。例如,在机器人导航中,机器人通过不断尝试不同的移动路径,根据是否到达目标位置获得奖励,从而学习最佳的导航策略。
  • 深度 Q - 网络(Deep Q - Network,DQN):结合了深度学习和 Q - 学习,使用神经网络来近似 Q - 函数,用于处理高维的状态空间和复杂的决策问题,如游戏中的智能角色控制。

 

4、机器学习模型评估

定义:模型评估是指在机器学习和数据分析领域,使用各种定量和定性的方法来衡量模型性能的过程。其目的是了解模型在给定任务(如分类、回归、聚类等)上的有效性、准确性、稳定性和泛化能力等诸多方面的表现。

重要性:通过模型评估,可以确定模型是否达到了预期的性能标准,是否适合部署到实际应用场景中。同时,评估结果还可以为模型的选择、调整和优化提供依据,帮助开发人员和数据科学家提高模型的质量。

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

 

4.1、分类模型评估

分类模型的评估指标包括:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 - 分数(F1 - Score)

 

4.2、回归模型评估

回归模型的评估指标包括:均方误差(Mean Squared Error,MSE)、均方根误差(Root Mean Squared Error,RMSE)、平均绝对误差(Mean Absolute Error,MAE)

 

4.3、模型评价

模型评估用于评价训练好的的模型的表现效果,其表现效果大致可以分为两类:过拟合、欠拟合。 

 

4.3.1、欠拟合

  • 概念:
    • 欠拟合是指模型没有很好地捕捉到数据中的模式和关系。这通常是因为模型过于简单,无法拟合数据的复杂性。例如,在一个多项式关系的数据集中,使用线性模型进行拟合,就很可能出现欠拟合的情况。
  • 表现形式:
    • 在训练数据上,欠拟合的模型误差较大。例如,对于一个回归任务,预测值和真实值之间的差距明显,可能表现为均方误差(MSE)或平均绝对误差(MAE)等评估指标的值较高。
    • 在特征和目标变量的关系方面,模型无法准确地学习到数据中的趋势。比如,在一个预测股票价格走势的任务中,欠拟合的模型可能无法捕捉到价格波动与各种经济指标之间的复杂关系,预测出的价格曲线较为平滑,与实际价格走势相差甚远。

 

4.3.2、过拟合

  • 概念:
    • 过拟合是指模型过度学习了训练数据中的细节和噪声,以至于在新的数据(测试数据)上表现不佳。这就好像模型 “记住” 了训练数据,而没有真正学习到数据背后的一般性规律。
  • 表现形式:
    • 在训练数据上,过拟合的模型误差非常小,几乎可以完美地拟合训练数据。但在测试数据上,误差会明显增大。例如,在分类任务中,训练集上的准确率可能接近 100%,但在测试集上准确率却大幅下降。
    • 从模型参数角度看,过拟合的模型参数数量可能过多,导致模型对训练数据中的微小变化和噪声都非常敏感。例如,在决策树模型中,过拟合的树可能会有非常深的层次和很多叶子节点,每个叶子节点只包含很少的样本。

 

5、深度学习基本介绍

深度学习是机器学习的一个分支领域,它是一种基于对数据进行表征学习的方法。通过构建具有很多层(包括输入层、隐藏层和输出层)的神经网络模型,自动从大量的数据中学习复杂的模式和特征表示。例如,在图像识别中,深度学习模型可以从大量的图像数据中学习到不同物体的特征,如猫的形状、颜色、纹理等,从而能够准确地判断一张新图像中是否有猫。

  • 核心概念
    • 神经网络架构:
      • 深度学习模型主要基于神经网络构建,包括多层感知机(MLP)、卷积神经网络(CNN)、循环神经网络(RNN)及其变体(如长短期记忆网络 LSTM 和门控循环单元 GRU)等。这些架构有不同的应用场景,例如 CNN 适用于处理具有网格结构的数据如图像和音频,RNN 适用于处理序列数据如文本和语音。
    • 神经元与层:
      • 神经网络由神经元组成,神经元是基本的计算单元。每个神经元接收多个输入,进行加权求和并通过激活函数产生输出。多个神经元组成一层,神经网络一般包括输入层、隐藏层和输出层。输入层接收数据,隐藏层进行特征提取和转换,输出层生成最终的输出结果。
      • 例如,在一个简单的人工神经元模型中,它接收来自其他神经元或者外部输入的数据(如特征值),就像生物神经元接收来自其他神经元的神经冲动一样。这些输入数据乘以相应的权重(代表连接的强度),然后进行求和操作,再通过一个激活函数产生最终的输出,这个输出又可以作为下一个神经元的输入。
    • 激活函数:
      • 激活函数是神经元中的重要组成部分,用于引入非线性因素。常见的激活函数有 Sigmoid、ReLU(Rectified Linear Unit)、Tanh 等。例如,ReLU 函数在大于 0 时输出自身,小于等于 0 时输出 0,它能够有效避免梯度消失问题,并且计算效率高,在许多深度学习模型中被广泛使用。
    • 前向传播与反向传播:
      • 前向传播是指数据从输入层经过隐藏层到输出层的正向计算过程,用于得到模型的预测输出。反向传播是深度学习训练的核心算法,它根据模型预测输出与真实输出之间的误差(通过损失函数衡量),从输出层向输入层反向传播梯度信息,以更新模型的参数(如神经元之间连接的权重),使得模型不断优化。

 

posted @ 2024-10-21 19:54  wenxuehai  阅读(309)  评论(0)    收藏  举报
//右下角添加目录