用多少眼泪才能让你相信 发表于 2025-3-20 19:41:48

机器学习概要

文章目录
一、什么是机器学习
二、机器学习的种类
1. 有监督学习
2. 无监督学习
3.强化学习
三、机器学习的应用
四、机器学习的步骤
1. 数据的重要性
2. 数据和学习的种类
3. 可视化

一、什么是机器学习

机器学习指的是盘算机根据给定的问题、课题或环境举行学习,并使用学习效果解决问题或课题等的一整套机制。
https://i-blog.csdnimg.cn/direct/1959d4f19455418487a25297d363c5c1.png
与机器学习共同成为热门话题的另有人工智能和深度学习。这里梳理一下它们之间的关系。 人工智能的寄义很广泛,是一个综合性系统。机器学习是实现人工智能的一种方法。也就是说,机器学习并非实现人工智能的唯一方法,但是近年来人工智能的研究一般使用机器学习。实现人工智能的方法另有许多,比如根据事先定好的规则举行数理统计预测等方法。

近年来,一种被称为深度学习的机器学习算法备受关注,以至于出现了这样的误解:提起人工智能,人们想到的就是深度学习。然而,深度学习只不外是机器学习算法的其中一种而已。深度学习在图像识别范畴取得了划时代的成果,是当前热门的算法。目前在图像识别范畴之外,深度学习也取得了许多成绩。

在举行机器学习时会用到各种各样的算法,须要根据机器学习对象的不同举行选择。本系列文章的目标就是资助读者学会选择合适的算法。在明白了各算法的特性后,读者就能现实处理机器学习问题了。
二、机器学习的种类

机器学习包含不同的种类。根据不同的输入数据,分类如下:
1. 有监督学习
2. 无监督学习
3. 强化学习
1. 有监督学习

有监督学习是将问题的答案告知盘算机,使盘算机举行学习并给出机器学习模型的方法。这种方法要求数据中包含表示特征的数据和作为答案的目标数据。如图所示,已有表示特征的身高和体重数据,作为答案的数据是性别(男/女)。我们向盘算机提供这些数据的组合,使盘算机举行学习并给出预测模型。然后,将新的身高和体重数据提供给模型,由模型预测出性别。
https://i-blog.csdnimg.cn/direct/ea471a8c914442a89d4a8794dfe63985.png
预测性别这样的类别的问题叫作分类问题。由于这次是将数据分类到两个类别中,以是叫二元分类;另有将数据分类到更多类别,比如10个类别的环境,这样的环境叫作多元分类。这种答案变量不是连续值,而是作为类别数据的离散值的问题就是分类问题。
此外,表示特征的数据叫作特征值或者特征变量,作为答案的数据叫作目标变量或者标签。我们身边的一个分类问题的例子就是垃圾邮件过滤。用户判定邮件是否为垃圾邮件的过程就是打标签的过程,标签数据就是目标变量,邮件的发件人和内容则为特征值。打了标签的数据越多,机器学习的效果就越好,得到的效果的精度越高。
除了分类问题之外,有监督学习还包罗回归问题。如图所示,已有表示特征的性别和身高数据,以及答案数据——鞋的尺码。在分类问题中,男和女的标签分别被数值化为0和1,这两个数值之间的大小关系是没有意义的。与之相对,鞋的尺码26.5 cm和24 cm之间的大小关系则是有意义的。对这样的数据举行预测的问题就是回归问题。在回归问题中,目标变量是作为连续值处理的,以是预测值有大概是23.7 cm这种不存在的尺码。
https://i-blog.csdnimg.cn/direct/77bd4f95c41543f0b44dc963a3c135e8.png
https://i-blog.csdnimg.cn/direct/b96895ac03164b0bb822191225855156.png
2. 无监督学习

有监督学习是将特征值和目标变量(答案)作为一套数据举行学习的方法,而无监督学习的数据中没有作为答案的目标变量。

没有答案,该怎样去学习呢?无监督学习将表示特征的数据作为输入,通过将数据变形为其他形式或者找出数据中的部分聚集,来明白输入数据的构造。此外,与有监督学习相比,无监督学习的效果难以解释,或者要求分析者基于经验加以主观的解释。有监督学习以“能否精确预测目标变量”为指标,相比之下,为了能够对效果举行解释,在举行无监督学习时,用户须要对输入数据的条件知识有肯定水平的相识。
这里举一个无监督学习的例子。我们思考一下对某个中学的学生成绩举行分析的场景。假设各科目之间存在着这样的关联性:擅长数学的学生也擅长理科,但不擅长语文和文科。对于这样的输入数据,在使用无监督学习的代表性算法主成分分析(Principal Component Analysis,PCA)时,我们引入了新的轴,以说明被称为第一主成分的数据。在第一主成分上的坐标可以解释为“小值表明该生擅长理科,大值表明该生擅长文科”,如表所示,可以将数学、理科、语文、文科这4个特征值归纳在1个轴上加以展示。
https://i-blog.csdnimg.cn/direct/aa13503abe7c43b7babae9f84e5725db.png
这个例子使用PCA普通易懂地解释了分析效果,但是须要根据输入数据选择合适的算法。近年来,无监督学习的研究在图像和自然语言处理方面取得了进展,是当前备受瞩目的范畴。这里介绍的PCA属于降维算法。降维是以更少的特征值来明白数据的算法。无监督学习中也包罗聚类算法。聚类是将数据分类为几个簇(相似数据的聚集)的算法。人类很难直接明白多变量数据(由3个以上的变量构成的数据),通过聚类,数据能够以簇这种简单的形式举行展现。
https://i-blog.csdnimg.cn/direct/e016b84f844b452e943b866e7fd1db99.png
3.强化学习

强化学习是以在某个环境下行动的智能体获得的奖励最大化为目标而举行学习的方法。

比如说:在主机游戏(环境)中,玩家(智能体)为了获得赛点(奖励)并取得终极的胜利,会无数次地重复实行。我们也可以把强化学习看作有监督学习的目标变量被作为奖励提供的环境。拿主机游戏的例子来说,由于全部场景下全部操纵的组合着实太多,很难通过人力举行评估,以是可以将游戏的场景和操纵作为特征值,将游戏赛点作为目标变量,玩家无须依靠人力,通过无数次的游戏即可自行收集特征值和目标变量的数据组。强化学习在重复地玩游戏、查察效果中不断学习更得当的行动。
三、机器学习的应用

机器学习在各范畴的应用都取得了较大进展,比如自动驾驶范畴的研究就很有名。在文章的自动分类和自动翻译方面,机器学习成果颇丰。在医疗范畴,机器学习对X射线影像的分析有助于疾病的早期发现。此外,很早之前人们就将机器学习应用在气象信息范畴了。
近年来,随着盘算机越来越便宜,数目越来越多,机器学习的研究也在不断加速。互联网财产的发达和物联网(Internet of Things,IoT)等技能的应用也为机器学习带来了丰富的数据。 根据数据的特性选择合适的算法,就会有前所未有的发现,这是机器学习范畴有意思的地方。
四、机器学习的步骤

1. 数据的重要性

在使用机器学习时,必须要有汇总并整理到肯定水平的数据。以数据为基础,按规定的法则举行学习,终极才气举行预测。
没有数据,就不能举行机器学习。换言之,收集数据是首先要做的事情。
本系列文章使用的是主流机器学习库scikit-learn包内置的数据,这个数据便于入手,可自由使用。
   在现实用机器学习解决问题之前,要先收集数据,有时还须要做问卷调查,甚至购买数据。然后,须要为收集到的数据人工标注答案标签,或者将其加工为机器学习算法易于处理的形式,删除无用的数据,加入从别的数据源获得的数据等。另外,基于平均值和数据分布等统计观点查察数据,或者使用各种图表对数据举行可视化,把握数据的整体环境也很重要。此外,有时还须要对数据举行正则化处理。这些操纵被称为数据预处理。有这样一种说法:机器学习工作80%以上的时间花在了数据预处理上。
    scikit-learn 是一个机器学习库,包含了各种用于机器学习的工具。这个库以BSD许可证开源,谁都可以免费、自由地使用。scikit-learn 实现了许多有监督学习和无监督学习的算法,是一套包含了用于评估的工具、方便的函数、示例数据集等的工具套件。在机器学习范畴,scikit-learn已成为事实上的标准库,它具有两大优点:一是操纵方法统一;二是易于在Python中使用。
2. 数据和学习的种类

机器学习须要的是二维的表格形式的数据(根据解决问题的目的不同,存在例外的环境)。表格的列中含有表示数据本身特征的多种信息,行则是由多个信息构成的数据集。接下来,看一 个更具体的例子:学校的某个社团有4名学生,下面的表是每个学生的姓名、身高、体重、出生日期和性别信息的数据。
https://i-blog.csdnimg.cn/direct/604b7ae1ac754457a146fb5f1fd5ca61.png
思考一下用机器学习举行性别预测的问题。
由于要预测的是性别,以是性别列的男或女的数据就是预测对象。把预测对象的数据称为目标变量。不外,根据分类的场景的不同,有时也称为标签或类别标签数据,英文单词为target。除了性别之外的4个列(姓名、身高、体重、出生日期)是用于预测的原始数据。将用于预测的原始数据称为特征值,根据场景的不同,有时也称为特征变量或输入变量,英文单词为feature。
3. 可视化

使用常用的Python可视化工具Matplotlib。Matplotlib具有许多可视化功能。在可视化时,为了使图形美观,须要编写多行Python代码来设置坐标轴、标签、结构和配色等。代码行数的增加容易让人以为晦涩难明,但其实用于输出图形的重要部分的代码只有寥寥几行。
在使用Matplotlib实现可视化后,我们就能很容易地把握数据的偏差和特征等信息,以是要把握它的用法。
Python 的可视化工具不只有Matplotlib,另有以下几种。
pandas 是处理数组数据的库,也具有可视化功能。
seaborn 在 Matplotlib 的基础上强化了表现力,用起来更简单。
Bokeh 使用了JavaScript,可用于表现动态图形。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 机器学习概要