机器学习原理与实战基本概念

所用书籍:机器学习原理与实战

0a521045b90c960edd1a86aa63c2cbcc.png

基本概念

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

人工智能与机器学习的联系与区别

人工智能定义:由人类创造的能够像人一样执行或完成某一项任务的智能体

人工智能是研究人类智能活动的规律,构造具有一定智能的人工系统,研究如何让计算机去完成以往需要人的智力才能胜任的工作,也就是研究如何应用计算机的软硬件来模拟人类某些智能行为的基本理论、方法和技术。

举例:阿拉法狗人机对战就是利用机器学习技术,不断观察棋局,甚至在自我对弈过程中强化自己的技术,从而超越人类,是具有学习能力;

机器学习的定义:人造智能体 要有学习能力才是人工智能,机器学习就是指的这个学习的过程

机器学习有下面几种定义:

(1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能;

(2)机器学习是对能通过经验自动改进的计算机算法的研究;

(3)机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

机器学习(Machine Learning)是一个研究计算机怎样模拟或实现人类的学习行为,它以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能的方向。

  • 对于机器学习的概念更为具体的解释为,计算机程序通过学习,将无序的数据转换为有用的信息,进而达成程序能够自行解决实际问题的目的。
  • 该学习过程通常不需要人类对计算机程序下达指示,由程序独立完成学习过程。

机器学习通用流程

一个完整的机器学习模型训练的过程可拆分为诸多个步骤,包括前期的目标分析、数据准备、特征工程,中期的模型训练与调优以及后期的性能度量与模型选择,机器学习的通用流程如下图所示。

ea44470645a7f31950eb35e33ae49748.png

第一步 目标分析

是机器学习前期准备的一个重要步骤,目标分析包含需求分析与类型分析两种;

需求分析

软件工程的需求分析

机器学习的需求分析

  • 指在创建系统或产品前,确定新系统的目的、范围、定义和功能的步骤。
  • 注重实现某一个功能。

 

  • 是指确定机器学习的使用场景,需要解决的业务和技术问题。
  • 注重于解决某一个具体问题。
  • 还需要分析想要解决问题需要达成的具体目标。

例如:例如,要识别邮件是否是垃圾邮件,需要解决如何区分垃圾邮件与正常邮件的具体问题,需要达成的具体目标就是从一堆未知的邮件中,准确地寻找出其中的垃圾邮件,剩下的便是正常的邮件。同时还需要分析邮件系统可提供的信息,如每封邮件可以提供的信息包含:发件人、发件邮箱地址、邮件标题等等,需要制定一个依据此类信息来解决垃圾邮件识别的初步构想,从而确定需要收集与分析的数据。

类型分析

是选定机器学习使用的算法种类的重要步骤,为之后的算法选取与模型训练起到铺垫作用。机器学习的类型按训练方式可分为有监督学习、无监督学习和半监督学习。

机器学习是非常宽泛的领域,其子领域的划分非常复杂。机器学习算法大致可分为四大类:

  1. 监督学习
  2. 无监督学习
  3. 无监督学习

(1)有监督学习的算法能够从带有标记的训练资料中学习或建立一种知识,依据此知识对新的实例进行推测。

垃圾邮件识别是一个典型的有监督学习问题,人们会对以往已经确认是垃圾邮件的邮件打上标记,而机器学习算法将会依赖这些标记进行学习。

有监督学习可细分为分类与回归

分类的目标是预测一批未知类型的对象的类别,典型的分类问题有垃圾邮件识别、恶意软件检测等,这类问题需要识别具体的对象的具体类别。

回归则是预测某一事物未来的发展变化状况,典型的回归问题有股票价格预测、未来几天的气温变化预测等,这类问题需要预测对象的未来某一具体数值属性的变化。

还有

1)序列生成。给定一张图像,预测描述图像的文字。序列生成又是可以被重新表示为一些列分类问题,比如反复预测序列中的单词或标记。

2)语法树预测。给定一个橘子,预测其分解生成的语法树。

3)目标检测。给定一个张图片,在图中特定目标的周围画一个边界框。这个问题也可以表示为分类问题(给定多个候选边界框,对每个框内的目标进行分类)或分类与回归联合问题(用向量回归来预测边界框的坐标)。

4)图像分割。给定一张图像,在特定物体上画一个像素级的掩模。

(2)无监督学习

与有监督学习相反,训练资料中没有预设的标记,需要算法自行从训练资料中建立一种知识。

降维(dimensionality reduction)聚类(clusting)都是众所周知的无监督学习方法。

无监督是指在没有目标的情况下寻找输入数据的有趣变换,其目的在于数据可视化、数据压缩、数据去噪或更好的理解数据中的相关性。

客户分群是一个典型的无监督学习问题,需要分群的客户不具备具体的类别等参考信息,仅可通过相似的特征进行分群,如年龄、性别、消费行为等,按具体的属性的相似度进行分群,并且结果具有不确定性和非唯一性。

(3)半监督学习

半监督学习介于非监督学习和监督学习之间,半监督学习使用部分标记的训练资料进行训练,这些训练资料由少量带有标记的数据和大量不带标记的数据构成。

标记数据的成本使得标记全部数据不太现实,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显著提高学习准确性。

除此之外

强化学习(增强学习):以环境反馈(奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。

例如,神经网络会“观察”视频游戏的屏幕并输出游戏操作,目的是尽可能的高分,这种神经网络可以通过强化学习来训练。

自监督学习自监督学习是监督学习的一个特例,但它与众不同,值得单独归为一类。

自监督学习是没有人工标注的标签的监督学习,可以看做没有人类参与的监督学习。标签仍然存在,但是它们是从数据中生成的,通常是使用启发式算法生成的

第二步 数据准备

数据准备是机器学习中最重要的一个步骤,没有数据,机器学习便无从谈起。数据准备可细分为数据收集、数据探索和数据清洗。

数据收集是数据准备最初始的步骤,收集的数据的种类将直接影响模型训练的结果,其中需要特别注意样本数据的偏差状况,实际生产生活中的数据往往并不是均匀分布的,如果无视样本数据分布的偏差而直接使用随机抽样采集数据,那么模型的训练结果将会明显地偏向数量较多的种类。而数据量将影响模型的精确度与训练时间,若数据量越丰富、覆盖越广,则模型的精确度将越高,但同时训练时间也可能会增加。

根据数据来源的不同,数据收集也需要采取不同的方式,与业务系统对接的数据可直接从数据库采集,而网络数据则往往需要爬虫进行爬取。不同类型的数据所需要用到的存储模式也不一样,结构化数据需要存储在结构化的关系型数据库中,如邮件系统中的邮件数据。非结构化数据则需要另行存储,如图片、音频片段等。

十大爬虫软件排行 网络爬虫工具推荐 python爬虫工具有哪些→MAIGOO生活榜

我们当时老师推荐的是后羿采集器

数据探索

在数据收集完毕后,为了掌握数据中的基本状况,需要进行数据探索。数据探索分为数据质量校验、数据分布与趋势探查。

数据质量校验在实际生产环境中的业务数据或网络爬虫爬取的数据,往往掺杂了大量的噪声数据。噪声数据指的是数据中无意义的空值或明显偏离正常水平的异常值,这些噪声数据如果不经处理直接进入模型,那么将会严重影响模型的结果。

数据质量检验包括一致性检验、缺失值检验、异常值检验。

一致性检验用于检验数据之间的一致性,包括时间校验、字段校验、粒度校验等;

缺失值检验用于检测数据中是否存在空值;

异常值检验用于检测数据中是否存在明显偏离正常分布区间或不符合业务逻辑的数据。

数据分布与趋势探查数据探索的另一个重要目的是探索数据的分布与数据的变化趋势,以图形或统计指标的方式发现数据中的模式和关系。如通过最大最小值、分位数等指标或通过箱型图,探索数据的分布区间和密度。数据分布与趋势探查常用于将数据分组,识别潜在的模式,发现数据的趋势,或探索不同属性之间的关系。分布与趋势分析通常包括分布分析、对比分析、描述性统计、周期性分析、贡献度分析和相关性分析等,使用可视化图表如条形图、箱线图、时间轴等可以更直观地展示数据的状况。

特征工程

特征工程是机器学习中的一个重要的前置步骤,会直接影响机器学习的效果,通常需要大量的时间。

特征工程是一个将原始数据中的特征进行缩放、筛选和构造的过程,特征需要能够更好描述原始数据的状况,从而提升模型的训练速度与拟合效果。特征工程包含特征缩放、特征选择和特征构造等过程。

1.特征缩放

  • 特征缩放包含数据标准化、独热编码和数据离散化。
  • 数据标准化将数据中量纲差异尽可能缩小,最终使得特征的取值范围落入一个更小的区间内。数据中不同特征的取值范围不一样,直接进行分析会对结果的准确性造成影响,因此需要对数据进行标准化处理。
  • 几种常见的数据标准化的方法总结!
  • 独热编码(One-Hot)将离散型的特征使用N位状态寄存器对特征的N个状态进行编码,每个状态都对应拥有独立的寄存器位,并且在任意时候只有一个编码位有效。
  • 将离散型特征进行独热编码后,特征的每个状态变得更为独立,更方便进行距离计算。离散化将连续型特征按照分割点进行划分,最终转化为离散型的特征。部分分类算法要求输入的数据是离散型的,因此需要将连续型特征离散化之后才能进行模型训练。

2.特征选择

特征选择按照特征重要性对特征进行排序或依据具体的业务需求,从特征集合中挑选一组最具统计意义的特征子集,从而达到降维的效果。原始数据集中的特征对于目标类别的作用并不相等,特征选择能够剔除一些与目标无关的或相关性不强的特征,减少进入模型的数据量,提高训练速度。不过需要注意的是,在有时候有些看上去无关或相关性不强的数据中,往往也隐含着有用的信息,因此特征选择需要慎重进行。

3.特征构造

特征构造在原始数据中原有特征的基础上,构建新的更适合于机器学习算法的特征。特征构造常用于文本分析、图像分析和用户行为分析等领域,文本和图像的原始数据的特征往往难以直接用于机器学习,而且用户的行为特征也常常隐藏在原始数据的特征中,这时需要从原始数据的特征中进行提取,构造出新的满足算法要求的更为显著的特征。

模型训练

在完成目标分析、数据收集、数据探索、数据清洗和特征工程等一系列前期准备后,将进入模型训练的步骤。模型训练包含数据集划分、算法选择与模型训练。

1.数据集的划分

数据集用于有监督学习时,通常需要划分为训练集、验证集与测试集。训练集用于模型训练;验证集可以在训练过程中检验模型的性能和收敛情况,通常用于调整模型参数,根据几组模型验证集上的表现决定哪组参数能使模型拥有最好的性能;测试集用于测试模型对于未知数据的拟合效果,防止模型过度拟合于训练集的数据特征,而没有抽象得出更为通用的规则。划分数据集时需要注意数据集中样本的分布,往往数据集中的样本类别并不是均匀分布的,划分时需要避免这种不均匀分布造成的偏差。

2.模型的选择与训练

模型训练前需要针对问题的类型选择合适的算法,同类算法也需要多准备几个备选用于效果对比。过于复杂的算法往往反而不是最优的选择,算法的复杂度与模型训练时间呈现正相关,算法复杂度越高,模型训练时间往往也越长,而结果的精度可能与简单的算法相差无几。训练时可先使用小批量数据进行试验,避免直接使用大批量数据训练导致的训练时间过长等问题。

性能度量与模型调优

在模型训练完毕后,需要对模型的性能进行评价,选出评价最优的模型。针对不同类型的机器学习任务,如分类、回归、聚类等,所用的评价指标往往也不同。如分类模型常用的评价方法有准确率(Accuracy)、对数损失函数(Logloss)、AUC等。同一种评价方法也往往适用于多种类的任务。对于实际的生产环境,模型性能评价的侧重点也不一样,不同的业务场景对模型的性能有不同的要求,如可能造成经济损失的预测结果会要求更高的模型精度。

仅训练一次模型往往无法达到理想的精度与效果,需要进行模型调优迭代,提升模型的效果。

模型调优往往是一个复杂冗长且枯燥的过程,需要多次对模型的参数做出修正,调优的同时需要权衡模型的精度与泛用性,在提高模型精度的同时还需要避免造成过拟合。

在现实生产与生活中,数据的分布会随着时间的推移而改变,有时甚至变化得很急剧,这种现象称为分布漂移(Distribution Drift)。当一个模型随着时间的推移,在新的数据集中的评价不断下降时,意味着这个模型无法适应新的数据的变化,此时模型需要进行重新训练。

机器学习原理与实战第一章作业解析

1.选择题

(1)下列关于机器学习的说法错误的是(D)。

A.机器学习的主要研究对象是人工智能

B.机器学习研究的算法能够通过经验来自动改进自身

C.机器学习以数据和经验为标准优化算法性能

D. 机器学习的整个学习过程不需要人类干涉

解析:机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能;机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能;整个学习过程需要人类进行干涉的部分仅有学习时提供的鸟类样本数据,其余部分都由程序自行完成。

 

(2)下列关于机器学习的目标分析步骤的说法中,错误的是( C  )。

A.机器学习的目标需求更注重于解决具体的问题

B.机器学习的类型可分为有监督、无监督和半监督学习

C.半监督学习使用的训练资料不需要带有标签

D.有监督学习能够依据学习到的知识对新的实例进行推测

解析:半监督学习介于非监督学习和监督学习之间,半监督学习使用部分标记的训练资料进行训练,这些训练资料由少量带有标记的数据和大量不带标记的数据构成。

(3)下列关于机器学习的数据准备步骤的说法中,错误的是(A)。

A.数据样本的偏差不会影响模型的结果

B.数据探索能够帮助掌握数据的基本状况

C.噪声数据会影响模型的结果
D.数据清洗是清洗数据中的噪声数据的过程

 

数据收集是数据准备最初始的步骤,收集的数据的种类将直接影响模型训练的结果,其中需要特别注意样本数据的偏差状况,实际生产生活中的数据往往并不是均匀分布的,如果无视样本数据分布的偏差而直接使用随机抽样采集数据,那么模型的训练结果将会明显地偏向数量较多的种类。


(4)下列关于机器学习的特征工程步骤的说法中,错误的是(C )。
A.数据标准化将具有量纲差异的数据缩小至一个更小的区间内
B.数据离散化最终将连续型数据转化为离散型数据
C 特征选择仅需要考虑特征的重要性
D. 特征构造基于原始数据既有的特征构造新的特征

解析:特征选择按照特征重要性对特征进行排序或依据具体的业务需求,从特征集合中挑选一组最具统计意义的特征子集,从而达到降维的效果。

原始数据集中的特征对于目标类别的作用并不相等,特征选择能够剔除一些与目标无关的或相关性不强的特征,减少进入模型的数据量,提高训练速度。

不过需要注意的是,在有时候有些看上去无关或相关性不强的数据中,往往也隐含着有用的信息,因此特征选择需要慎重进行。


(5)下列关于机器学习的模型训练步骤的说法中,错误的是(B)。
A.测试集能够测试模型对于未知数据的拟合效果
B.验证集能够用于防止模型过拟合
C 划分数据集时需要注意数据是否为均匀分布
D 模型训练需要准备多个备选算法用于效果对比

解析:验证集可以在训练过程中检验模型的性能和收敛情况,通常用于调整模型参数,根据几组模型验证集上的表现决定哪组参数能使模型拥有最好的性能;

测试集用于测试模型对于未知数据的拟合效果,防止模型过度拟合于训练集的数据特征,而没有抽象得出更为通用的规则。


(6)下列关于机器学习的性能度量与模型调优步骤的说法中,正确的是(A )。

  1. 不同类型的机器学习任务所使用的评价方法不一定相同
    B.一种评价方法只对应一种机器学习任务
    C. 调优时模型的精度和泛用性可以兼顾
    D 模型会自动适应数据的分布变化

解析:不同的机器学习任务有着不同的评价指标,同时同一种机器学习任务也有着不同的评价指标,每个指标的着重点不一样。如分类、回归、排序、聚类、热门主题模型、推荐等。并且很多指标可以对多种不同的机器学习模型进行评价

模型调优往往是一个复杂冗长且枯燥的过程,需要多次对模型的参数做出修正,调优的同时需要权衡模型的精度与泛用性,在提高模型精度的同时还需要避免造成过拟合。

当一个模型随着时间的推移,在新的数据集中的评价不断下降时,意味着这个模型无法适应新的数据的变化,此时模型需要进行重新训练。

2.填空题
(1)目标分析、数据准备、特征工程在机器学习中属于  前期   步骤。

(2)无监督学习的训练资料中   没有   _预设的标记,需要算法   自行    从训练资料中建立一种知识。
(3)特征选择能够剔除掉与目标 无关的 的或相关性不强的特征。

(4) 验证集 用于调整模型参数,能在训练过程中检验模型的性能和收敛情况。

(5)数据的分布会随着时间的推移而改变的现象被称为 分布漂移 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tech行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值