机器学习导论

1.1引言


由于机器学习,程序员无需编写考虑所有可能问题并包含所有解决方案的指令。 取而代之的是,计算机(或单独的程序)采用一种算法进行布局,该算法用于通过综合使用统计数据来独立地找到解决方案,从统计数据中得出模式并基于预测进行预测。

基于数据分析的机器学习技术可以追溯到1950年,当时他们开始开发第一个用于播放跳棋的程序。 在过去的几十年中,总的原则没有改变。 但是,由于计算机计算能力的爆炸性增长,由它们创建的定律和预测变得更加复杂,使用机器学习解决的问题和问题的范围也在扩大。

要开始机器学习过程,首先需要将数据集(一定数量的输入数据)下载到计算机上,算法将在该计算机上学习处理请求。 例如,可能有一些狗和猫的照片,这些照片已经带有指示它们属于谁的标签。 在训练过程之后,程序本身将能够识别没有标签内容的新图像中的猫和狗。 即使发布了预测,学习过程仍在继续,我们通过程序分析的数据越多,它将越准确地识别所需的图像。

由于机器学习,计算机不仅可以识别照片和图纸中的面孔,而且还可以识别风景,物体,文本和数字。 至于文本,这里离不开机器学习:语法检查功能现在已出现在任何文本编辑器甚至手机中。 此外,不仅要考虑单词的拼写,还要考虑上下文,含义的阴影和其他微妙的语言方面。 而且,已经存在无需人工干预就能够撰写新闻报道(有关经济学和例如体育)的软件。

1.2机器学习任务的类型


使用ML解决的所有任务都属于以下类别之一。

1) 回归任务是基于具有各种属性的对象样本的预测。 输出应为实数(2、35、76.454等),例如,公寓的价格,六个月后的抵押品价值,下个月商店的预期收入,盲目测试期间的葡萄酒质量。

2) 分类的任务是根据一组特征获得分类答案。 它具有有限的答案(通常为“是”或“否”格式):照片中是否有猫,人脸图像或患癌症的患者。

3) 聚类的任务是将数据分布成组:按偿付能力级别划分移动运营商的所有客户,将空间对象分配到一个或另一类(行星,恒星,黑洞等)。

4) 缩小尺寸的任务是将大量特征缩小为较小的特征(通常为2-3个),以方便其后的可视化(例如,数据压缩)。

5) 检测异常的任务是将异常与标准案例分开。 乍一看,它与分类任务相吻合,但是有一个显着的区别:异常是一种罕见的现象,可以训练机器学习模型来识别此类对象的训练示例要么很小,要么根本没有,因此分类方法在这里不起作用。 实际上,这样的任务是例如利用银行卡识别欺诈活动。

1.3机器学习的基本类型


使用机器学习方法解决的大部分任务涉及两种不同类型:与老师一起学习(监督学习)或不在老师陪伴下(无监督学习)。 但是,这位老师不一定是程序员本人,他站在计算机上方并控制程序中的每个动作。 就机器学习而言,“教师”是在处理信息过程中人为干预本身。 在两种类型的培训中,机器都会提供分析和查找模式所需的初始数据。 唯一的区别是与老师一起学习时,有许多假设需要反驳或确认。 通过示例可以轻松理解这种差异。

与老师进行机器学习

假设我们有关于一万套莫斯科公寓的信息:面积,楼层,区域,房屋是否存在停车,距地铁的距离,公寓价格等。我们需要创建一个模型,通过其参数来预测公寓的市场价值。 这是与老师一起进行机器学习的理想示例:我们拥有初始数据(公寓及其属性的数量,称为标牌),每套公寓的现成答案就是其成本。 该程序必须解决回归问题。

实践中的另一个例子:在知道患者的所有医学指标的情况下确认或否认患者存在癌症。 通过分析其文本来确定传入消息是否为垃圾邮件。 这些都是分类任务。

没有老师的机器学习

在没有老师的情况下进行培训时,如果没有为系统提供现成的“正确答案”,那么一切都会变得更加有趣。 例如,我们掌握了有关一定数量的人的体重和身高的信息,这些数据需要分为三组,每组都必须缝制合适尺寸的衬衫。 这是一个群集任务。 在这种情况下,有必要将所有数据划分为3个簇(但是,通常,没有这样严格的划分,只有可能的划分)。

如果我们采取不同的情况,则当样本中的每个对象都具有数百个不同的特征时,主要的困难将是此类样本的图形显示。 因此,标记的数量减少到两个或三个,并且可以在平面上或3D中可视化它们。 这是减小尺寸的任务。

1.4机器学习模型的基本算法


1. 决策树

这是一种基于树状图的决策支持方法:一种决策模型,考虑了其潜在后果(考虑到事件发生的可能性),效率和资源消耗。

对于业务流程,此树由最少数量的需要确定答案的问题组成-“是”或“否”。 始终如一地为所有这些问题提供答案,我们会做出正确的选择。 决策树的方法学优势在于它可以对问题进行结构化和系统化,并根据逻辑结论做出最终决策。

2.朴素贝叶斯分类

朴素贝叶斯分类器属于简单概率分类器家族,起源于贝叶斯定理,在这种情况下,贝叶斯定理认为函数是独立的(这被称为严格假设或幼稚假设)。 实际上,它用于以下机器学习领域:

  • 检测垃圾邮件
  • 自动将新闻文章链接到主题部分;
  • 识别文本的情感色彩;
  • 识别图像中的面部和其他图案。

3.最小二乘法

至少研究过统计学的人都熟悉线性回归的概念。 最小二乘法也与其实现选项有关。 通常,线性回归解决了拟合通过许多点的直线的问题。 使用最小二乘法的方法如下:绘制一条直线,测量从它到每个点的距离(将这些点和具有垂直线段的线连接起来),将所得结果向上转移。 结果,距离之和最小的曲线是所需的曲线(该线将穿过与真实值呈正态分布偏差的点)。

线性函数通常用于机器学习的数据选择中,最小二乘法用于通过创建误差度量来最小化误差。

4.逻辑回归

Logistic回归是确定变量之间关系的一种方法,其中一个变量是绝对相关的,而其他变量是独立的。 为此,使用逻辑函数(累积逻辑分布)。 Logistic回归的实际意义在于,它是一种用于预测事件的强大统计方法,其中包括一个或多个自变量。 在以下情况下需要这样做:

  • 信用评分;
  • 评估正在进行的广告活动的成功;
  • 某种产品的利润预测;
  • 评估特定日期发生地震的可能性。

5.支持向量法(SVM)

这是解决分类和回归分析问题所必需的一整套算法。 基于位于N维空间中的对象属于两个类别之一的事实,支持向量方法构造维数为(N-1)的超平面,以便所有对象都出现在两组之一中。 在纸上,这可以表示为:有两种不同类型的点,它们可以线性划分。 除了分隔点之外,此方法还生成一个超平面,以使其离每个组的最近点尽可能远。

SVM及其修改有助于解决诸如DNA拼接,从照片确定一个人的性别以及在网站上显示广告横幅等复杂的机器学习任务。

6.合奏的方法

它基于机器学习算法,该算法生成许多分类器,并根据它们的平均或投票结果将所有对象与新接收的数据分离。 最初,集成方法是贝叶斯平均的一种特殊情况,但后来变得更加复杂,并被其他算法所淹没:

  • 增强-通过形成分类器的集合将弱模型转换为强模型(从数学角度来看,这是一个改进的交集);
  • 套袋(bagging)-收集复杂的分类器,同时训练基本的(改善关联性);
  • 输出编码的纠错。

与独立的预测模型相比,集成方法是一种更强大的工具,因为:

  • 通过平均每个基本分类器的误差,将事故的影响最小化;
  • 减少分散,因为基于不同假设的几种不同模型比单独采取的模型更有可能得出正确的结果;
  • 排除超出集合范围的范围:如果汇总假设在基本假设集合之外,则在组合假设的形成阶段,它会使用一种或另一种方法扩展,并且该假设已经包含在其中。

7.聚类算法

聚类包括将许多对象按类别分布,以便在每个类别(聚类)中找到最相似的元素。

您可以使用不同的算法来聚类对象。 最常用的是:

  • 基于三角形的重心;
  • 基于连接;
  • 尺寸缩小;
  • 密度(基于空间聚类);
  • 概率
  • 机器学习,包括神经网络。

聚类算法用于生物学(研究多达数千个基因组中基因的相互作用),社会学(使用Ward方法处理社会学研究结果,产生具有最小分散度和大约相同大小的簇)和信息技术。

8.主成分法(PCA)

主成分法(PCA)是一种正交变换的统计运算,其目的是将对变量的观察结果以某种方式互连成一组主成分-线性相关的值。

应用PCA的实际任务是可视化,以及用于压缩,简化和最小化数据以促进学习过程的大多数过程。 但是,主成分法不适用于初始数据排序较差的情况(也就是说,该方法的所有成分都具有高分散性)。 因此,其适用性取决于对主题领域的研究和描述程度。

9.奇异分解

在线性代数中,奇异分解(SVD)定义为由复数或实数组成的矩形矩阵的分解。 因此,尺寸为[m * n]的矩阵M可以分解为M =UΣV,其中U和V是unit矩阵,Σ是对角线。

主成分法是奇异分解的一种特殊情况。 最早的计算机视觉技术是在SVD和PCA的基础上开发的,其工作方式如下:首先将面部(或其他待发现的图案)表示为基本成分的总和,然后缩小其尺寸,然后将其与样品中的图像进行比较。 当然,现代机器学习中的奇异分解算法比其前身算法复杂得多,但其本质已经发生了变化。

10.独立成分分析(ICA)

这是一种统计方法,它揭示了影响随机变量,信号等的隐藏因素。ICA为多因素数据库生成了一个生成模型。 模型中的变量包含一些隐藏变量,并且没有有关混合规则的信息。 这些隐藏变量是独立的样本分量,被视为非高斯信号。

与与此方法相关的主要成分分析相比,独立成分的分析更为有效,尤其是在传统方法无能为力的情况下。 它发现了现象的隐藏原因,并因此在天文学和医学到语音识别,自动测试和财务指标动态分析等各个领域得到了广泛的应用。

1.5现实例子


例子1.疾病诊断

在这种情况下,患者是对象,体征是他们所具有的所有症状,病史,测试结果,已采取的治疗措施(实际上,完整的病史已被正式化并划分为单独的标准)。 一些迹象-性别,是否有头痛,咳嗽,皮疹和其他迹象-被认为是二进制的。 评估病情的严重程度(极度严重,中度等)是一个序号,许多其他指标是定量的:药物的体积,血液中的血红蛋白水平,血压和心率,年龄,体重。 收集了包含许多症状的有关患者状况的信息后,您可以将其下载到计算机上,并使用具有机器学习功能的程序来解决以下问题:

  • 进行鉴别诊断(确定疾病类型);
  • 选择最佳的治疗策略;
  • 预测疾病的发展,持续时间和结果;
  • 计算可能发生并发症的风险;
  • 识别综合征-与给定疾病或病症相关的一系列症状。

没有医生能够立即为每个患者处理所有信息,汇总大量其他类似的病历并立即给出明确的结果。 因此,机器学习已成为医生必不可少的工具。

例子2.寻找矿床

标志的作用是通过地质勘探获得的信息:领土上是否存在任何岩石(这将是二元类型的标志),其物理和化学性质(被分解为许多定量和定性标志)。

对于训练样本,采用了两种先例:精确存在矿床的区域和特征相似但未发现这些矿物质的区域。 但是稀有矿物质的提取有其自身的特点:在许多情况下,征兆的数量大大超过了物体的数量,并且传统的统计方法不适用于这种情况。 因此,在机器学习中,重点在于检测已经收集的数据阵列中的模式。 为此,确定了最小且最有用的特征集,这些特征最能说明研究问题的答案-在所指示的区域中是否存在特定的化石。 人们可以用医学来类比:存款也可以揭示自己的综合症。 在这一领域中使用机器学习的价值在于这样一个事实,即所获得的结果不仅实用,而且对地质学家和地球物理学家具有重大的科学兴趣。

例3.评估贷款候选人的可靠性和偿付能力

所有参与发放贷款的银行每天都面临这项任务。早在1960-1970年代,当美国和其他国家开始出现信用卡热潮时,就早就应该实现此过程的自动化。

向银行申请贷款的人是对象,但是标志会有所不同,具体取决于该个人还是法人实体。私人贷款申请的特征描述是根据填写的问卷数据形成的。然后,向调查表补充有关银行通过其渠道接收的潜在客户的其他一些信息。其中一些与二进制符号(性别,电话号码的可用性)相关,其他与序号符号(教育,职位)相关,大多数与数量相关(贷款金额,欠其他银行的总金额,年龄,家庭成员数量,收入,资历) )或名义(姓名,雇用公司名称,职业,地址)。

对于机器学习,将草拟一个样本,其中包括已知信用记录的借款人。所有借款人都分为几类,在最简单的情况下,有两个借款人-“好”借款人和“坏”借款人,并且仅在“好”借款人的支持下做出了积极的决定。

一种更复杂的机器学习算法,称为信用评分,为每个借款人提供针对每个属性的条件积分,授予贷款的决定将取决于积分的数量。在机器学习期间,信用评分系统首先为每个特征分配一定数量的分数,然后确定发放贷款的条件(期限,利率和其他反映在贷款协议中的参数)。但是还有另一种系统学习算法-基于用例。

PS在以下文章中,我们将更详细地研究用于创建机器学习模型的算法,包括数学部分和Python中的实现。

Source: https://habr.com/ru/post/zh-CN448892/


All Articles