机器学习技术的关键算法
机器学习算法(这个算法对应什么数据结构)
机器学习算法是 AI 系统用来执行任务的一套规则或流程,最常见的用途是发现新的数据洞察或模式,或者从一组给定输入变量中预测输出值。机器学习 (ML) 利用算法来学习。
行业分析师一致认同机器学习及其底层算法至关重要。Forrester 指出:“机器学习算法的进步让营销数据的分析更加精确深入,可帮助营销人员了解营销细节(如平台、创意、行动号召或消息传递)对于营销绩效的影响。1”Gartner 指出:“机器学习是 AI 众多成功应用的核心,可让 AI 在市场上拥有更巨大的吸引力。”
大多数情况下,利用较多数据训练 ML 算法会比利用较少数据进行训练得出的答案更加准确。借助统计方法,算法可训练用于确定分类或进行预测,并揭示数据挖掘项目中的关键洞察。随后,这些洞察可以改进您的决策,进而提高关键增长指标。
机器学习算法的用例包括能够分析数据以识别趋势,并在问题发生之前预测出问题。更先进的 AI 可以提供更加个性化的支持,缩短响应时间,进行语音识别并提高客户满意度。某些行业特别受益于机器学习算法利用海量数据创建新内容的功能,其中包括供应链管理、运输和物流、零售和制造业4,且所有这些行业都采用生成式 AI,能够自动执行任务、提高效率并带来有价值的见解,即使初学者也能运用自如。
深度学习
深度学习是机器学习算法所提供的高级功能的具体应用。 区别在于每种算法如何学习。“深度”机器学习模型可以使用标记数据集(也称为监督学习)来通知其算法,但它不一定需要标记数据。深度学习可以摄取原始形式的非结构化数据(例如文本或图像),并且可以自动确定一组特征来区分不同类别的数据。这消除了一些所需的人为干预,并允许使用更大的数据集。
理解人工智能、机器学习、深度学习和神经网络的最简单方法是将它们视为从大到小排序的一系列 AI 系统,且系统间为包含关系。人工智能 (AI) 是统领性系统。机器学习是 AI 的一个子集。深度学习是机器学习的一个子领域,而神经网络是深度学习算法的基础。区分是单个神经网络还是深度学习算法的是神经网络的节点层数或深度,深度学习算法必须超过三层。
机器学习算法的工作原理
加州大学伯克利分校的一篇论文将机器学习算法的学习系统分为三个主要部分。
- 决策过程:一般来说,机器学习算法用于进行预测或分类。根据一些已标记或未标记的输入数据,您的算法将生成一个估计数据模式。
- 误差函数:误差函数用于评估模型的预测。如果有已知示例,误差函数可以进行比较以评估模型的准确性。
- 模型优化过程:如果模型能够更好地拟合训练集中的数据点,则调整权重以减小已知样本与模型估计之间的差异。算法将重复这个“评估和优化”过程,自动更新权重,直到达到精度阈值。
监督学习会特别使用训练集来教授模型生成所需的输出。该训练数据集包括输入和正确的输出,可支持模型长期进行学习。此算法通过损失函数来评估其准确性,并进行调整,直到误差充分最小化。
机器学习算法的类型
机器学习算法有四种类型:监督学习、无监督学习、半监督学习和强化学习。根据您的预算以及对速度和精度的要求,每种算法类型和算法变体都有自己的优势。高级机器学习算法需要多种技术,包括深度学习、神经网络和自然语言处理,且能够同时采用无监督学习和监督学习算法。以下是最流行且最常用的算法。
基本的机器学习算法:
线性回归算法 Linear Regression
支持向量机算法 (Support Vector Machine,SVM)
最近邻居/k-近邻算法 (K-Nearest Neighbors,KNN)
逻辑回归算法 Logistic Regression
决策树算法 Decision Tree
k-平均算法 K-Means
随机森林算法 Random Forest
朴素贝叶斯算法 Naive Bayes
降维算法 Dimensional Reduction
梯度增强算法 Gradient Boosting
监督学习算法(Supervised Algorithms)
在进行数据挖掘时,监督学习可以分为两类问题:分类和回归。
- 分类使用算法将测试数据准确分配到特定类别。它可识别数据集中的特定实体,并尝试就如何标记或定义这些实体得出一些结论。常见的分类算法有线性分类器、支持向量机 (SVM)、决策树、K 最邻近和随机森林,下面将做详细介绍。
- 回归用于理解因变量和自变量之间的关系。回归通常用于进行预测,例如给定业务的销售收入。 线性回归、逻辑回归和多项式回归是常用的回归算法。
监督机器学习过程中使用了各种算法和计算技术,通常通过使用 Python 等程序进行计算。监督学习算法包括:
- AdaBoost 或梯度提升:也称为自适应提升7,该技术将某个表现欠佳的回归算法与一些更弱的回归算法相结合,从而让该算法得以增强,并最终减少了错误。提升组合运用了多个基础估算器的预测能力。
- 人工神经网络:也称为 ANN、神经网络或模拟神经网络 (SNN),是机器学习技术的子集,同时也是深度学习算法的核心。学习器算法使用称为神经元的构建块来识别输入数据中的模式,此类神经元近似于人脑中的神经元,会随着时间的推移进行训练和修改。(详细内容请见“神经网络”。)
- 决策树算法:用于预测数值(回归问题)以及将数据分类,决策树采用可通过树形图表示的关联决策的分支序列。决策树的优势之一是易于验证和审计,这一点与神经网络的黑匣不同。
- 降维:如果选定的数据集具有大量特征7,那么它的维度也较高。降维会减少特征数,仅留下最有意义的见解或信息。其中一个例子是主成分分析。
- K 最邻近:也称为 KNN,这种非参数算法根据数据点与其他可用数据的接近度和关联度对数据点进行分类。此算法假定可以在各数据点附近找到相似的数据点。因此,此算法试图计算数据点之间的距离(通常通过欧几里德距离计算),然后根据最常见的类别或平均值来指定类别。
- 线性回归:线性回归用于识别因变量与一个或多个自变量之间的关系,通常用于预测未来结果。当只有一个自变量和一个因变量时,称为简单线性回归。
- 逻辑回归:当因变量为连续变量时,采用线性回归;当因变量为分类变量时,即存在二元输出,例如“真”和“假”或“是”和“否”,采用逻辑回归。虽然这两种回归模型都试图理解数据输入之间的关系,但逻辑回归主要用于解决二元分类问题,例如垃圾邮件识别。
- 神经网络:主要用于深度学习算法,神经网络通过节点层来模仿人脑的互连,进而处理输入训练数据。每个节点由输入、权重、偏差(阈值)和输出组成。如果该输出值超过给定阈值,将“触发”或激活节点,并将数据传递到网络中的下一层。神经网络通过梯度下降过程从基于损失函数的调整中学习。当成本函数为零或接近零时,您可以确信该模型准确可靠。
- 朴素贝叶斯:这种方法采用类条件独立原则,该原则来自贝叶斯定理。这意味着在给定结果的概率中,一个特征的存在不会影响另一个特征的存在,并且每个预测变量对该结果具有相同的影响。朴素贝叶斯分类器分为三种类型:多项式朴素贝叶斯、伯努利朴素贝叶斯和高斯朴素贝叶斯。这种技术主要用于文本分类、垃圾邮件识别和推荐系统。
- 随机森林:在随机森林中,机器学习算法通过组合来自多个决策树的结果来预测一个值或一个类别。“森林”是指不相关的决策树,它们聚集起来以减少方差并提升预测的准确度。
- **支持向量机 (SVM)**:此算法可用于数据分类和回归,但通常用于分类问题,构建一个两类数据点之间距离最大的超平面。这个超平面称为决策边界,将平面两侧的数据点类别(例如橙子与苹果)分开。
无监督学习算法(Unsupervised Algorithms)
与监督学习不同,无监督学习使用未标记的数据。从这些数据中,该算法可以发现有助于解决聚类或关联问题的模式。 当主题专家不确定数据集中的共同属性时,这尤其有用。常见的聚类算法有分层、K-means、高斯混合模型和降维方法,如 PCA 和 t-SNE。
- 聚类:这些算法可以识别数据中的模式,从而对数据进行分组。算法可以找出数据项之间被人类忽略的差异,从而为数据科学家的工作助力。
- 分层聚类:此算法将数据分组为聚类树8。分层聚类首先将每个数据点视为一个单独的聚类。然后,它会重复执行以下步骤:1) 找出最接近的两个聚类,2) 合并这两个相似程度最高的聚类。继续这些步骤,直到所有聚类合并在一起。
- K 均值聚类:此算法通过查找彼此相似的数据组,将不带标记的数据组9识别为不同的聚类。“K 均值”这个名字源自用于定义聚类的 $k$ 个质心。如果某个点距离某个特定聚类的质心比距离任何其他质心更近,则该点将分配给该聚类。
半监督学习算法
在这种情况下,仅给定输入数据的一部分被标记时,就会发生学习行为,从而使算法稍微“领先”。这种方法可以兼顾监督学习和无监督学习两方面的优势10:即能提高与监督机器学习相关的准确性,又能像在无监督学习中一样,利用经济有效的未标记数据。
强化算法 (Reinforcement Algorithms)
在这种情况下,算法的训练就像人类学习一样通过奖励和惩罚来完成,该过程由强化学习智能体进行评估和跟踪,该智能体对于成功提高分数和降低分数的概率有大致的了解。智能体通过反复试验学习如何采取行动,且随时间推移带来了最有利的结果。强化学习通常用于12资源管理、机器人和视频游戏领域。