前言:
今天小伙伴们对“启发式算法的原理”大概比较注重,朋友们都需要分析一些“启发式算法的原理”的相关知识。那么小编在网上汇集了一些对于“启发式算法的原理””的相关内容,希望同学们能喜欢,小伙伴们一起来了解一下吧!在关于 ChatGPT、Bard 和其他生成式大型语言模型 (LLM) 的所有炒作和歇斯底里中,值得退后一步看看 AI 算法及其用途的范围。毕竟,许多“传统”机器学习算法几十年来一直在解决重要问题,而且它们仍然很强大。
在我们深入研究之前,请记住,机器学习是一类从数据自动创建预测模型的方法。机器学习算法是机器学习的引擎,这意味着它是将数据集转换为模型的算法。哪种算法效果最好(有监督、无监督、分类、回归等)取决于您要解决的问题类型、可用的计算资源以及数据的性质。
机器学习的种类
机器学习可以解决非数字分类问题(例如,“预测该申请人是否会拖欠贷款”)和数字回归问题(例如,“预测未来三个月我们零售地点的食品加工商销售情况”)。这两种模型都主要使用监督学习进行训练,这意味着训练数据已经标记了答案。
标记训练数据集可能既昂贵又耗时,因此监督学习通常通过半监督学习来增强。半监督学习将监督学习模型从小标记数据集应用到较大的未标记数据集,并将任何很有可能正确的预测数据添加到模型中以进行进一步预测。半监督学习有时会偏离轨道,因此您可以通过对可疑预测的人机交互 (HITL) 审查来改进该过程。
虽然监督学习的最大问题是标记训练数据的费用,但无监督学习(数据未标记)的最大问题是它通常不能很好地工作。尽管如此,无监督学习确实有其用途:它有时可以很好地降低数据集的维度,探索数据的模式和结构,查找相似对象的组,以及检测数据中的异常值和其他噪声。
强化学习训练参与者或代理以最大化某些价值的方式响应环境,通常是通过反复试验。这与监督和无监督学习不同,但通常与它们相结合。事实证明,它对于训练计算机玩游戏和训练机器人执行任务很有用。
神经网络最初受到生物视觉皮层结构的启发,由一组连接单元组成,称为人工神经元,按层组织。人工神经元通常使用sigmoid或ReLU(整流线性单元)激活函数,而不是用于早期感知器的阶跃函数。神经网络通常通过监督学习进行训练。
深度学习使用具有大量“隐藏”层的神经网络来识别特征。隐藏层位于输入层和输出层之间。模型中的层越多,可以识别的特征就越多。同时,模型中的层数越多,训练所需的时间就越长。神经网络的硬件加速器包括 GPU、TPU 和 FPGA。
微调可以通过在新标记数据上训练几个最终层来显着加快模型的定制速度,而无需修改其余层的权重。适合微调的模型称为基础模型或基础模型。
视觉模型通常使用深度卷积神经网络。视觉模型可以识别照片和视频帧的元素,并且通常在非常大的摄影数据集上进行训练。
语言模型有时使用卷积神经网络,但最近倾向于使用循环神经网络、长短期记忆或转换器。可以构建语言模型以从一种语言翻译成另一种语言、分析语法、汇总文本、分析情绪和生成文本。语言模型通常在非常大的语言数据集上进行训练。
流行的机器学习算法
下面的列表并不全面,算法大致从最简单到最复杂排序。
线性回归
线性回归,也称为最小二乘回归,是用于预测数值的最简单监督机器学习算法。在某些情况下,线性回归甚至不需要优化器,因为它可以以封闭形式求解。否则,使用梯度下降很容易对其进行优化(见下文)。线性回归的假设是目标函数与自变量线性相关。对于您的数据,这可能是真的,也可能不是真的。
令数据科学家绝望的是,业务分析师经常轻率地将线性回归应用于预测问题,然后停止,甚至不生成散点图或计算相关性以查看基本假设是否合理。不要落入这个陷阱。进行探索性数据分析,然后让计算机尝试所有合理的机器学习算法,看看哪些算法效果最好,这并不难。无论如何,尝试线性回归,但将结果视为基线,而不是最终答案。
梯度下降
机器学习的优化方法(包括神经网络)通常使用某种形式的梯度下降算法来驱动反向传播,通常具有一种机制来帮助避免陷入局部最小值,例如优化随机选择的小批量(随机梯度下降)和对梯度应用动量校正。一些优化算法还通过查看梯度历史(AdaGrad、RMSProp 和 Adam)来调整模型参数的学习率。
逻辑回归
分类算法可以找到监督学习问题的解决方案,这些问题要求在两个或多个类之间进行选择(或确定概率)。逻辑回归是一种解决分类分类问题的方法,该方法在 sigmoid 或 logit 函数中使用线性回归,将值压缩到 0 到 1 的范围并为您提供概率。与用于数值预测的线性回归一样,逻辑回归是分类预测的第一种方法,但不应该是您尝试的最后一种方法。
支持向量机
支持向量机 (SVM) 是一种参数化分类模型,是一种分离和分类两个标注分类的几何方法。在具有两个变量的分离良好的类的最简单情况下,SVM 会找到最能分隔平面上两组点的直线。
在更复杂的情况下,可以将点投影到更高维的空间中,SVM 会找到最能分隔类的平面或超平面。投影称为内核,过程称为内核技巧。反转投影后,生成的边界通常是非线性的。
当有两个以上的类时,成对地在类上使用 SVM。当类重叠时,您可以为错误分类的点添加惩罚因子;这称为软边距。
决策树
决策树 (DT) 是一种用于分类和回归的非参数监督学习方法。目标是创建一个模型,通过学习从数据特征推断的简单决策规则来预测目标变量的值。树可以看作是分段常数近似。
决策树易于解释且部署成本低,但训练计算成本高且容易过度拟合。
随机森林
随机森林模型生成随机决策树的集合,并用于分类和回归。聚合融合要么以模式方式组合投票,要么对决策树中的概率求平均值。随机森林是一种袋装合奏。
XGBoost
XGBoost(极限梯度提升)是一个可扩展的端到端树提升系统,在许多机器学习挑战中产生了最先进的结果。装袋和增压经常同时被提及。不同之处在于,梯度树提升不是生成随机树 (RDF) 的集合,而是从单个决策或回归树开始,对其进行优化,然后从第一棵树的残差构建下一棵树。
K 均值聚类
k 均值聚类问题尝试使用欧氏距离度量将 n 个观测值划分为 k 个聚类,目的是最小化每个聚类内的方差(平方和)。它是一种无监督的向量量化方法,对于特征学习以及为其他算法提供起点很有用。
劳埃德算法(具有质心更新的迭代聚类聚)是用于解决问题的最常见的启发式算法。它相对高效,但不能保证全球收敛。为了改善这一点,人们经常使用 Forgy 或随机分区方法生成的随机初始聚类质心多次运行该算法。
K 均值假定球形聚类是可分离的,以便均值收敛到聚类中心,并且还假定数据点的顺序无关紧要。聚类应具有相似的大小,因此到最近的聚类中心的分配是正确的分配。
主成分分析
主成分分析 (PCA) 是一种统计过程,它使用正交变换将一组可能相关的数值变量的观测值转换为一组线性不相关的变量值,称为主成分。卡尔·皮尔逊于1901年发明了PCA。PCA 可以通过数据协方差(或相关)矩阵的特征值分解或数据矩阵的奇异值分解 (SVD) 来完成,通常在应用于初始数据的规范化步骤之后。
流行的深度学习算法
有许多非常成功和广泛采用的深度学习范式,最近的是当今生成式人工智能模型背后的转换器架构。
卷积神经网络
卷积神经网络 (CNN) 是一种常用于机器视觉的深度神经网络。它们具有与位置无关的理想特性。
卷积层应用于图像时易于理解的总结是,它在空间上滑过图像,计算点积;图层中的每个单位共享一组权重。卷积网通常使用多个卷积层,并穿插着激活函数。CNN也可以有池化和全连接层,尽管有一种摆脱这些类型的层的趋势。
递归神经网络
虽然卷积神经网络在分析图像方面做得很好,但它们并没有真正考虑时间序列和序列的机制,因为它们是严格的前馈网络。递归神经网络(RNN)是另一种深度神经网络,明确包含反馈循环,这有效地为它们提供了一些记忆和动态时间行为,并允许它们处理序列,例如语音。
这并不意味着CNN对自然语言处理毫无用处;这确实意味着RNN可以模拟逃离CNN的基于时间的信息。这并不意味着RNN只能处理序列。RNN及其衍生物具有多种应用领域,包括语言翻译,语音识别和合成,机器人控制,时间序列预测和异常检测以及手写识别。
虽然理论上一个普通的RNN可以在不确定的步骤上携带信息,但在实践中,它通常不能在不丢失上下文的情况下进行很多步骤。问题的原因之一是网络的梯度往往会在许多步骤中消失,这会干扰基于梯度的优化器(如随机梯度下降 (SGD))收敛的能力。
长短期记忆
长短期记忆网络(LSTM)被明确设计为避免梯度消失问题并允许长期依赖。与RNN的细胞设计相比,LSTM的设计增加了一些复杂性,但对于长序列的效果要好得多。
标签: #启发式算法的原理