机器学习是 人工智能 (AI) 和计算机科学的一个分支,它涉及统计和数学方法来寻找模式和洞察数据,然后将其用于构建算法和模型,这些算法和模型可以在没有外部指令的情况下学习和做出预测。机器学习算法有很多,大致可以分为监督学习、无监督学习、半监督学习 和 强化学习 四种类型。
监督机器学习
它是一种机器学习模型,其中算法在标记数据上进行训练以学习特征矩阵和目标变量之间的关系,以便它可以对新的、看不见的数据做出准确的预测。
回归模型
它提供了一组统计过程来描述自变量和因(目标)变量之间的关系。
- 线性 回归: 它用于在最佳拟合线性线的帮助下基于一个或多个自变量预测连续因变量的值,该直线最小化预测值与实际值之间的差异。
- 逻辑回归: 它使用 sigmoid 函数根据给定的自变量数据集估计事件发生的概率。它主要用于输出变量只能取两个值 (0 | 1) 的二进制分类问题。
分类模型
监督机器学习方法,其中算法尝试根据特征将数据预测或分类到预定义的类别中。
- 决策树: 一种特定类型的概率树,其中每个节点代表一个是|否类型的问题,分支代表使算法能够做出决策的测试结果。
- 随机森林: 它使用训练数据的随机子集和特征的随机子集创建多个决策树,然后将它们组合起来进行最终预测。
- KNN (K-Nearest Neighbor): 它是一种非参数监督学习方法,它计算训练集中给定数据点的 K 个最近邻居,然后将这些邻居中的多数类识别为该数据点的预测类. K的值是一个超参数,可以调整以提高算法的效率。
- SVM(支持向量机): SVM 试图通过在数据之间绘制一个平面来分离数据。我们以这样一种方式选择平面,它在两种类型的数据之间创造了最大可能的差距。这个差距被称为保证金。离平面最近的点称为支持向量。通过使用这些支持向量,我们可以将新数据分类为两组中的一组。
- 朴素贝叶斯分类: 它根据一组输入特征预测结果。它使用概率论根据某些特征的存在与否来确定结果的可能性。其名称中的“朴素”部分来自于假设每个特征都独立于其他特征,从而简化了计算。
无监督机器学习
一种机器学习技术,算法在不使用标记示例或外部指导的情况下学习识别数据中的模式。
聚类模型
这些是机器学习模型,用于根据相似的数据点的特征将它们分组在一起。他们不依赖标记数据进行预测。相反,他们试图自己在数据中找到模式和关系。
- K - 均值聚类: 该算法将数据集划分为 K 聚类,其中 K 是预定义的数字。它的目标是优化数据点与其分配的簇质心之间的平方距离之和。
- 层次模型: 这种方法首先将每个项目视为自己的集群,然后重复合并最近的集群对,直到所有项目都在一个组中。可以在不同级别切割生成的树以获得不同级别的聚类。它对于探索数据集中项目之间的关系以及使用称为树状图的树状结构识别自然分组很有用。
- DBSCAN: 基于密度的噪声应用空间聚类不需要事先指定聚类数量。相反,它根据数据集中点的密度来确定聚类。靠得很近且密度高的点被认为是同一簇的一部分,而孤立或密度低的点被归类为噪声。
- GMM(高斯混合模型): 它假设数据来自许多高斯分布的混合。这些分布中的每一个都代表数据中的不同组或集群。该模型试图估计这些分布的参数(例如均值和方差)以及每个数据点属于每个分布的概率
- 谱聚类模型: 它创建数据集的相似度图,其中每个数据点表示为图中的一个节点,节点之间的边表示它们成对的相似度。然后,谱聚类使用图的谱特性来识别数据中的聚类,方法是找到图的拉普拉斯矩阵的特征向量(主成分),将数据投影到更容易识别聚类的低维空间中。
- Mean-Shift Clustering: 它的工作原理是通过将数据空间周围的窗口移动到更高密度的区域来找到每个集群的质心或平均点。窗口向最陡峭的上升方向移动,直到达到密度最高的峰值,然后将该峰值指定为簇的质心。窗口再次移动到新的峰值并重复此过程,直到找到所有质心。
- SOM(自组织映射): 它是一种人工神经网络,其工作原理是将高维数据集映射到低维神经元网格,从而保持数据点之间的拓扑关系。网格中的每个神经元代表一个簇或一组相似的数据点。
降维模型
这些是机器学习中的技术,通过减少特征或变量的数量同时保留最重要的信息来简化复杂的数据集。它们有助于从数据中去除噪音和冗余信息,使其更易于分析和可视化。
- PCA(主成分分析): 它将数据集转换到一个新的坐标系中,其中新轴代表捕获数据中最大方差的主成分。这些主成分是原始特征的线性组合,它们按它们在数据中解释的方差量排序。通过将数据投影到前几个主成分,PCA 可以在保留最重要信息的同时降低维度。
- NMF(非负矩阵分解): 它的工作原理是将一个非负矩阵 (V) 分解为两个低阶非负矩阵 W 和 H,使得 V=WH。这里,V是数据矩阵,行代表样本,列代表特征,W是基矩阵,行代表基向量,H是系数矩阵,列代表系数。
- LDA(线性判别分析): 它的工作原理是找到特征的线性组合,使数据中不同类或类别之间的分离最大化。通过将数据投影到这个新的线性子空间,LDA 可以降低数据的维度,同时保留最重要的分类信息。
- ICA(独立成分分析): 它找到一组独立成分,代表复杂数据集中潜在的变异来源。通过将数据分成独立的组件,ICA 可以降低数据的维度并提取最重要的特征或信号。
- 自动编码器: 它的工作原理是将输入数据压缩为低维表示,然后将其重建回其原始形式。通过最小化输入和输出数据之间的差异,自动编码器可以学习输入数据的紧凑且信息丰富的表示。
半监督学习
一种机器学习方法,其中模型是根据标记和未标记数据的组合进行训练的。在这种方法中,标记数据用于训练模型识别模式和进行预测,而未标记数据用于提高模型的泛化性和鲁棒性。
- 自训练模型: 该模型在一小组标记数据上进行训练,然后用于预测更大一组未标记数据的标签。然后将预测标签添加到标记数据集中,并在扩展数据集上重新训练模型。迭代地重复这个过程,模型从自己的预测中学习并逐渐提高其在未标记数据上的准确性。
- 协同训练模型: 两个独立的模型在不同的数据子集上进行训练,一个使用标记数据,另一个使用未标记数据。这些模型通过使用自己的预测作为其他模型的附加标记数据来交换信息。重复这个迭代过程,模型从彼此的预测中学习并逐渐提高它们在未标记数据上的准确性。
- 生成模型: 该模型学习识别标记数据中的模式,然后使用这些模式生成新示例。然后使用这些生成的示例来提高模型在未标记数据上的性能。
- 标签传播: 它从标记和未标记数据中学习以对未标记数据进行预测。该模型首先为标记数据分配标签,然后根据数据点之间的相似性将这些标签传播到未标记数据。该模型迭代更新未标记数据的标签,直到满足某个收敛标准。
- 半监督聚类: 该模型使用标记数据来学习聚类的初始结构,然后根据未标记数据点与标记数据点的相似性对它们进行分组。该模型使用标记和未标记数据迭代地改进聚类结果,直到达到目标。
强化学习
它是一种机器学习技术,涉及训练代理在环境中做出决策以最大化奖励。代理通过反复试验学习,根据其行为接收奖励或惩罚形式的反馈。目标是让代理学习最佳策略或动作序列,这将随着时间的推移产生最高的总奖励。
基于模型的学习
除了学习最优策略外,它还涉及学习环境模型。该模型是环境动态的表示,代理可以使用它来预测下一个状态和给定当前状态和动作的奖励。然后代理可以使用这些预测来提前计划并选择将导致最高预期奖励的行动。
- MPC(模型预测控制): 在该算法中,代理在每个时间步解决优化问题,使用预测模型模拟未来状态和奖励。优化问题的解决方案给出了在不久的将来采取的最佳行动顺序。当环境复杂且具有较长的时间范围时,MPC 很有用,因为它允许代理提前计划并根据预测结果做出最佳决策。
- DP(动态规划): 它涉及通过求解贝尔曼方程组来学习价值函数或策略。它的工作原理是根据相邻状态的值迭代更新每个状态的值,直到收敛。此方法最适合具有已知动态的环境,其中可以分析计算最佳策略。
- iLQR(迭代线性二次调节器): 用于解决最优控制问题。它涉及迭代地解决一组线性二次子问题,以找到一系列控制输入,这些输入可以在满足一组约束的同时最小化成本函数。它通常用于机器人和控制系统,以找到复杂系统的最佳控制策略。
- Dyna-Q: 这是一种基于模型的强化学习算法,用于在马尔可夫决策过程 (MDP) 中寻找最优行动策略。它结合了无模型和基于模型的方法来进行预测并从经验中学习。它维护一个 Q 表来近似最佳动作价值函数,并学习环境模型来规划未来的动作。
无模型学习
智能体在没有明确的环境知识或环境模型的情况下通过反复试验学习做出决策的技术。代理通过直接与环境交互并根据观察到的奖励更新其策略来学习。
- Q-Learning: 它使代理能够通过根据当前状态找到最佳行动来学习在环境中做出最佳决策。该算法通过探索环境和接收奖励的反复试验来更新其 Q 值,该值代表在特定状态下采取特定行动的预期奖励。随着时间的推移,智能体会根据收到的奖励调整其 Q 值,从而不断学习和提高其决策技能,最终,它的目标是学习最大化长期奖励的最优策略。
- SARSA (State-Action-Reward-State-Action): 它从经验中学习(试错)。代理与环境交互,在每个时间步,它观察当前状态,采取行动,获得奖励,并观察下一个状态。SARSA 算法根据当前观察到的状态、采取的动作、收到的奖励以及代理选择的下一个状态和动作更新其 Q 值。与 Q-Learning 不同,SARSA 在学习和执行过程中使用相同的策略来选择动作,使其成为一种 on-policy 算法。
- DQN(深度 Q 网络): 该算法将 Q 学习算法与深度神经网络相结合。它用于解决状态空间太大而传统 Q-learning 无法处理的问题。DQN 算法的工作原理是使用深度神经网络逼近 Q 值函数,并使用它迭代更新 Q 值。神经网络使用一种称为经验回放的技术根据从环境中收集的经验进行训练。
- 蒙特卡洛方法: 它使用重复随机抽样来估计给定状态下动作的价值。它不需要了解状态之间的转换概率或与采取行动相关的奖励。相反,它通过随机探索环境并随时间累积奖励来学习,以更新每个动作-状态对的 Q 值。
- Policy Gradient Method: 它涉及训练神经网络直接输出最大化预期奖励的策略。与 Q-learning 等基于价值的方法不同,策略梯度方法不估计每个动作的价值,而是直接优化策略。该算法使用随机梯度下降来更新策略网络的参数以最大化预期奖励。
- Actor-Critic Method: 强化学习的类型,其中有两个模型协同工作:actor 决定要采取的行动,critic 评估 actor 采取的行动。Actor 模型确定在给定状态下采取的最佳动作,而 Critic 模型评估所选动作的好坏。通过协同工作,actor-critic 方法旨在学习一种随着时间的推移最大化奖励的最优策略。