当前位置: 首页 > 科技观察

Python迁移学习:机器学习算法

时间:2023-03-16 17:02:16 科技观察

机器学习是人工智能中一个热门的子领域,涵盖的领域非常广泛。它受欢迎的原因之一是在其战略下有一个复杂的算法、技术和方法的综合工具箱。多年来,该工具箱得到了发展和改进,并且不断研究新的工具箱。为了更好的使用机器学习工具箱,我们需要了解以下机器学习的分类方法。根据是否有人监督的分类如下。监督学习。此类别高度依赖于人为监督。监督学习类别下的算法从训练数据和相应的输出中学习两个变量之间的映射,并将该映射应用于前所未见的数据。分类任务和回归任务是监督学习算法的两种主要任务类型。无监督学习。此类算法试图从输入数据中学习内在的潜在结构、模式和关系,而无需任何(在人工监督下)相关的输出或标记。聚类、降维和关联规则挖掘等任务是无监督学习算法的几种主要任务类型。半监督学习。这些算法是有监督和无监督学习算法的混合体。此类算法使用少量标记训练数据和更多未标记训练数据,因此需要创造性地使用监督和非监督学习方法来解决特定问题。强化学习。这类算法与有监督和无监督学习算法略有不同。强化学习算法的核心实体是在训练期间与环境交互以最大化奖励的代理。智能体迭代学习并根据它从与环境的交互中获得的奖励或惩罚调整其策略。基于数据可用性的分类如下。批量学习。也称为离线学习,这种类型的算法可以在所需的训练数据可用时使用,也可以用于在部署到生产或现实世界之前训练和微调模型。在线学习。顾名思义,只要数据可用,这种算法的学习就不会停止。此外,在此类算法中,数据以小批量输入系统,下一次训练使用新批量中的数据。上面讨论的分类法让我们对如何组织、理解和利用机器学习算法有一个抽象的理解。机器学习算法最常见的分类方法是监督学习算法和非监督学习算法。让我们在下面更详细地讨论这两个类别,因为这将帮助我们开始我们稍后将介绍的更高级的主题。1.2.1 监督学习监督学习算法是一类使用数据样本(也称为训练样本)和相应的输出(或标签)来推断两者之间映射函数的算法。推断的映射函数或学习函数是该训练过程的输出。学习函数正确映射新的和从未见过的数据点(即输入元素)以测试其自身的性能。下面介绍监督学习算法中的几个关键概念。训练数据集。训练过程中使用的训练样本和相应的输出称为训练数据。形式上,训练数据集是一个二元组,由一个输入元素(通常是一个向量)和一个相应的输出元素或信号组成。测试数据集。用于测试学习函数性能的前所未见的数据集。该数据集也是一个二元组,包含输入数据点和相应的输出信号。训练阶段不使用该集合中的数据点(该数据集还进一步划分为验证集,我们将在后续部分详细讨论)。学习功能。这是训练阶段的输出,也称为推理函数或模型。该函数是根据训练数据集中的训练实例(输入数据点及其对应的输出)推断出来的。一个理想的模型或学习函数学习一个映射,该映射也泛化到以前从未见过的数据。有许多监督学习算法可用。根据使用需求,主要分为分类模型和回归模型。1.分类模型简单来说,分类算法可以帮助我们回答客观的问题或非预测的问题。例如,这些算法在“今天要下雨吗?”等场景中很有用。或者“这个肿瘤可能是癌性的吗?”等。形式上,分类算法的关键目标是根据输入数据点预测基本分类的输出标签。输出标签本质上都是分类的,也就是说,它们都属于一个离散的类或类别类别。逻辑回归、支持向量机(SupportVectorMachine,SVM)、神经网络、随机森林、K近邻算法(K-NearestNeighbor,KNN)、决策树等算法都是比较流行的分类算法。假设我们有一个真实世界的用例来评估不同的汽车模型。为简单起见,我们假设模型需要根据多个输入训练样本来预测每个汽车模型的输出是可接受的还是不可接受的。输入训练样本的属性包括购买价格、门数、容量(以人数计)和安全级别。除了类标签之外,每一层的其他属性用于指示每个数据点是否可以接受。图1.3描述了当前的二元分类问题。分类算法将训练样本作为输入生成监督模型,然后使用该模型为新数据点预测评估标签。图1.3在分类问题中,由于输出标签是离散类,如果只有两个可能的输出类,则该任务称为二分类问题,否则称为多分类问题。例如,预测明天是否会下雨是一个二元分类问题(它的输出是是或否);从扫描的手写图像预测数字是一个多类问题,有10个标签(可能的输出标签是0-9)分类问题。2.回归模型等监督学习算法可以帮助我们回答“数量是多少”等量化问题。形式上,回归模型的主要目标是估值。在这类问题中,输出标签本质上是连续值(而不是分类问题中的离散输出)。在回归问题中,输入数据点称为自变量或解释变量,输出称为因变量。回归模型也使用由输入(或自变量)数据点和输出(或因变量)信号组成的训练数据样本进行训练。线性回归、多元回归、回归树等算法都是有监督的回归算法。回归模型可以根据它们如何模拟因变量和自变量之间的关系进一步分类。简单线性回归模型适用于具有单个自变量和单个因变量的问题。普通最小二乘(OLS)回归是一种流行的线性回归模型。多元回归或多变量回归是一种问题,其中只有一个因变量,每个观察值都是几个解释变量的向量。多项式回归模型是多元回归的一种特殊形式。该模型使用自变量的n次方对因变量建模。由于多项式回归模型可以拟合或映射因变量和自变量之间的非线性关系,因此此类模型也称为非线性回归模型。图1.4显示了线性回归的示例。图1.4为了理解不同的回归类型,我们可以考虑一个真实世界的用例,即根据汽车的速度估算汽车行驶的距离(省略单位)。在这个问题中,根据可用的训练数据,我们可以将距离建模为汽车速度的线性函数(单位省略),或汽车速度的多项式函数。请记住,主要目标是最小化误差,而不仅仅是拟合训练数据本身。上面的图1.4描述了一个线性拟合模型,而图1.5显示了使用相同数据集的多项式拟合模型。图1.51.2.2 无监督学习顾名思义,无监督学习算法在没有监督的情况下学习或推断概念。监督学习算法根据由输入数据点和输出信号组成的训练数据集推断映射函数,而无监督学习算法的任务是在没有任何输出信号的情况下寻找训练数据中的模式和关系。此类算法利用输入数据集来检测模式、挖掘规则或组/集群数据点,以从原始输入数据集中提取有意义的见解。当我们没有包含相应输出信号或标签的训练集时,无监督学习算法会派上用场。在许多现实场景中,数据集是可用的,但没有输出信号,很难手动标记它们。因此,无监督学习算法有助于填补这些空白。与监督学习算法类似,非监督学习算法也可以归类为便于理解和学习。以下是无监督学习算法的不同类别。1.聚类分类问题的无监督学习算法称为聚类。这些算法帮助我们将数据点聚类或分组到不同的组或类别中,而无需在输入或训练数据集中包含任何输出标签。这些算法尝试从输入数据集中寻找模式和关系,使用固有特征根据某种相似性度量对它们进行分组。新闻文章是一个有助于理解聚类的真实示例。每天都会创建数百个新闻故事,每个故事都涉及不同的主题,例如政治、体育和娱乐。聚类是一种无监督的方法,可以对这些文章进行分组,如图1.6所示。有几种方法可以执行聚类过程,其中最流行的包括以下几种。基于重心的方法。比如现在流行的K-means算法和K-medoid算法。聚集和分裂的层次聚类。示例包括流行的Ward算法和仿射传播算法。基于数据分布的方法。例如高斯混合模型。基于密度的方法。例如,Density-BasedSpatialClusteringofApplicationswithNoise(DBSCAN)等。图1.62。降维数据和机器学习是最好的朋友,但是更多更大的数据带来了很多问题。大量的属性或膨胀的特征空间是常见的问题。大的特征空间会引发与训练、记忆和空间限制相关的问题,以及数据分析和可视化方面的问题。这种现象被称为维度灾难。由于无监督方法可以帮助我们从未标记的训练数据集中提取见解和模式,因此这些方法有助于我们降低维度。换句话说,无监督方法帮助我们从可用的完整列表中选择一组具有代表性的特征,从而帮助我们减少特征空间,如图1.7所示。图1.7主成分分析(PCA)、最近邻分析和判别分析是常用的降维技术。图1.7是一张众所周知的图片,描述了基于PCA的降维技术是如何工作的。左图展示了一组在3D空间中可以表示为瑞士卷形状的数据,右图展示了应用PCA将数据转化为2D空间的结果。3.关联规则挖掘这种无监督机器学习算法可以帮助我们从交易数据集中理解和提取模式。这些算法被称为购物篮分析(MBA),可以帮助我们识别交易项目之间有趣的关系。使用关联规则挖掘,我们可以回答诸如“哪些商品是在特定商店一起购买的?”之类的问题。或者“买酒的人也买奶酪吗?”FP-growth、ECLAT和Apriori是用于关联规则挖掘任务的一些广泛使用的算法。4.异常检测异常检测是根据历史数据识别罕见事件或观察的任务,也称为异常值检测。离群值,或离群值,通常表现为不频繁出现或在短时间内突然爆发。对于此类任务,我们为算法提供历史数据集,使其能够以无监督的学习方式识别和学习数据的正常行为。学习完成后,该算法将帮助我们识别与先前学习的行为不同的模式。