你应该知道的十种机器学习算法( 二 )


你应该知道的十种机器学习算法

文章插图
SVM 适用于二分类和多分类问题 。它通过最大化间隔来寻找最优分类超平面,并具有在高维空间中处理非线性问题的能力 。在实践中,选择合适的核函数和参数设置对于 SVM 的性能至关重要 。
6、前馈神经网络这些基本上是多层逻辑回归分类器 。由非线性(sigmoid、tanh、relu + softmax 和很酷的新 selu)分隔的许多权重层 。它们的另一个流行名称是多层感知器 。FFNN 可作为自动编码器用于分类和无监督特征学习 。
你应该知道的十种机器学习算法

文章插图
多层感知器
你应该知道的十种机器学习算法

文章插图
FFNN 作为自动编码器
FFNN 可用于训练分类器或提取特征作为自动编码器
7、卷积神经网络(Con.NETs)当今世界上几乎所有最先进的基于视觉的机器学习结果都是使用卷积神经网络实现的 。它们可用于图像分类、对象检测甚至图像分割 。卷积网络由 Yann Lecun 在 80 年代末至 90 年代初发明,其特征是卷积层充当分层特征提取器 。也可以在文本(甚至图表)中使用它们 。
你应该知道的十种机器学习算法

文章插图
使用卷积网络进行最先进的图像和文本分类、对象检测、图像分割 。
8、循环神经网络(RNN):RNN 通过在时间 t 的聚合器状态和时间 t 的输入上递归应用同一组权重来对序列进行建模(假设序列在时间 0..t..T 具有输入,并且在每个时间 t 有一个隐藏状态)这是 RNN t-1 步骤的输出) 。纯 RNN 现在很少使用,但其对应的 LSTM 和 GRU 在大多数序列建模任务中都是最先进的 。
你应该知道的十种机器学习算法

文章插图
RNN(如果这里是一个密集连接的单元和一个非线性,那么现在 f 通常是 LSTM 或 GRU) 。LSTM 单元用于代替纯 RNN 中的普通密集层 。
你应该知道的十种机器学习算法

文章插图
将 RNN 用于任何序列建模任务,特别是文本分类、机器翻译、语言建模
9、条件随机?。–RF)CRF 可能是概率图模型 (PGM) 系列中最常用的模型 。它们用于像 RNN 一样的序列建模,也可以与 RNN 结合使用 。在神经机器翻译系统出现之前,条件随机场是最先进的 , 在许多小数据集的序列标记任务中 , 它们仍然比需要大量数据才能泛化的 RNN 学得更好 。它们还可以用于其他结构化预测任务,例如图像分割等 。CRF 对序列的每个元素(例如句子)进行建模,以便邻居影响序列中组件的标签,而不是所有标签彼此独立 。
使用 CRF 来标记序列(文本、图像、时间序列、DNA 等)
10、决策树它是一种基于树结构的分类和回归算法 。它通过对特征进行分割来构建一个树形模型,每个内部节点表示一个特征,每个叶节点表示一个类别或一个数值 。决策树通过对特征进行逐层的判断和分割,以最终得到一个预测结果 。
举一个简单的例子来解释决策树的工作原理 。假设我们有一个二分类问题,要根据一个人的性别、年龄和教育水平来预测他们是否购买某个产品 。首先,我们从根节点开始,选择一个特征进行分割,比如选择性别作为第一个分割点 。我们可以根据性别将数据分为男性和女性两个分支 。然后,我们进一步选择一个特征进行分割 , 比如选择年龄 。在男性分支中,我们可以将数据分为年龄小于等于30岁和大于30岁的两个子分支;在女性分支中 , 我们也可以进行类似的分割 。接着,我们再选择一个特征进行分割 , 比如选择教育水平 。在每个年龄分支中,我们可以将数据进一步分为高教育水平和低教育水平两个子分支 。
这样不断进行特征的选择和分割,直到满足停止条件 。停止条件可以是达到预定的树的深度、节点中的样本数小于某个阈值或不再有可分割的特征 。
最终,我们得到了一棵决策树,每个叶节点表示一个类别 。对于新的未知样本,我们可以沿着树的分支进行判断,最终到达一个叶节点,并根据叶节点的类别进行预测 。
目前使用的两种常见决策树算法是随机森林(Random Forests)和提升树(Boosting trees),前者在属性的随机子集上构建不同的分类器,并将它们组合起来进行输出 。
决策树可用于对数据点进行分类(甚至回归)
TD 算法(时间差分法)如果仍然想知道上述方法如何解决像 DeepMind 那样击败围棋世界冠军这样的任务,那么它们不能 。上面讨论的所有 10 种算法都是模式识别,而不是策略学习器 。为了学习解决多步骤问题的策略,例如阿尔法GO赢得一场国际象棋比赛、ChatGPT语音机器人 。这种类型的机器学习称为强化学习 。该领域最近取得的许多(不是全部)成功都是将卷积网络或 LSTM 的感知能力与一组称为时间差分学习的算法相结合的结果 。其中包括 Q-Learning、SARSA 、DQN等等其他一些变体 。


推荐阅读