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

啊,对了!4种流行的机器学习算法AhaMoment

时间:2023-03-14 00:07:51 科技观察

大多数人分为两个阵营:我不了解这些机器学习算法。我了解该算法的工作原理,但不了解它的工作原理。本文不仅试图解释该算法的工作原理,而且还试图直观地了解该算法如何工作以提供那个灯泡啊哈!片刻。决策树决策树使用水平线和垂直线来划分特征空间。例如,考虑下面非常简单的决策树,它有一个条件节点和两个类节点,表示一个条件以及满足该条件的训练点将属于哪个类。请注意,为每种颜色标记的字段与该区域内实际上是该颜色或(大致)熵的数据点之间有很多重叠。构建决策树以最小化熵。在这种情况下,我们可以增加一层复杂性。如果我们想添加另一个条件;如果x小于6且y大于6,我们可以将该区域的点指定为红色。此举减少了熵。在每一步,决策树算法都会尝试找到一种构建树的方法,使熵最小化。将熵更正式地视为某个分隔符(条件)具有的“混乱”或“混乱”,而不是“信息增益”作为分隔符添加到模型中的信息和洞察力。具有最高信息增益(和最低熵)的特征分割位于顶部。条件可以将它们的一维特征分解成如下形式:注意条件1有明显的分离,所以熵低,信息增益高。条件3则不同,这就是它靠近决策树底部的原因。树的这种构造确保它可以保持尽可能轻。您可以在此处阅读有关熵及其在决策树和神经网络(交叉熵作为损失函数)中的更多信息。随机森林随机森林是决策树的装袋(自举聚合)版本。主要思想是分别在一个数据子集上训练几棵决策树。然后输入通过每个模型,它们的输出通过类似平均的函数求和以产生最终输出。Bagging是组合学习的一种形式。您需要决定下一家餐厅。要向某人推荐,您必须回答各种是/否问题,这将引导他们决定您应该去哪家餐厅。你宁愿只问一个朋友或几个朋友并找到一种方法或普遍共识吗?大多数人会回答第二个,除非你只有一个朋友。这个类比提供的洞察力是每棵树都有某种“思维多样性”,因为它们接受了不同数据的训练,因此具有不同的“经验”。这个类比,简洁明了,从来没有真正引起我的注意。在现实世界中,单个朋友选项的经验比所有朋友少,但在机器学习中,决策树和随机森林模型是在相同的数据上训练的,因此具有相同的经验。集成模型实际上并没有接收到任何新信息。如果我能把它推荐给一个无所不知的朋友,我不会反对。在相同数据上训练的模型如何随机采样数据子集以模拟人工“多样性”比在整个数据上训练的模型表现更好?以具有大量正态分布噪声的正弦波为例。这是你的单一决策树分类器,它自然是一个高方差模型。将选择100个“近似值”。这些逼近器沿正弦波随机选择点并生成正弦曲线拟合,就像在数据子集上训练决策树一样。然后对这些拟合进行平均以形成袋装曲线。结果?-更平滑的曲线。bagging之所以有效,是因为它减少了模型方差,并通过人为地使模型更“自信”来帮助提高泛化能力。这也是为什么装袋在逻辑回归等低方差模型中效果不佳的原因。您可以在此处阅读更多关于直觉的信息,以及更严格的装袋成功证明。SupportVectorMachines支持向量机依靠“支持向量”的概念来最大化两个类之间的距离,试图找到一个最能划分数据的超平面。不幸的是,大多数数据集都不是那么容易分离,如果可以,SVM可能不是处理它的最佳算法。考虑这个一维分离任务;没有好的分隔符,因为任何类型的分隔都会导致将两个不同的类归为同一类。>一项分裂提案。SVM通过使用所谓的“内核技巧”解决此类问题非常强大,它通过将数据投影到新的维度来简化分离任务。例如我们新建一个维度,简单定义为x2(x为原维度):数据可以清楚地分开。使用各种内核(多项式、S型和RBF内核是最常见的),内核技巧可以完成繁重的工作,创建一个转换空间,使分离任务变得容易。神经网络神经网络是机器学习的巅峰之作。他们的发现以及对它的无穷变化和改进使其成为其自身领域的主题,即深度学习。不可否认,神经网络的成功仍然是不完整的(“神经网络是没有人理解的矩阵乘法”),但最简单的解释方法是通过通用逼近定理(UAT)。每个监督算法的核心都是尝试对数据的某些潜在功能进行建模。通常这是一个回归平面或特征边界。考虑这个函数y=x2,它可以通过几个水平步长建模到任意精度。这本质上是神经网络可以做的。也许除了水平步长之外,模型关系可能会更复杂一点(例如下面的二次和线性线),但神经网络的核心是分段函数逼近器。每个节点委托一部分分割功能,网络的目的是激活负责部分特征空间的某些神经元。例如,如果你想对有胡子或没有胡子的男人的图像进行分类,你应该将几个节点专门用于胡子经常出现的像素位置。在多维空间的某个位置,这些节点代表一个范围的值。再次注意,“为什么神经网络起作用”这个问题仍然没有答案。UAT没有回答这个问题,但指出神经网络可以在某些人类解释下对任何功能进行建模。可解释/可解释的人工智能领域正在兴起,通过激活最大化和敏感性分析等方法来回答这些问题。您可以在此处阅读更深入的解释并查看一般逼近定理的可视化。在所有四种算法以及许多其他算法中,这些算法在低维度上都显得非常简单。机器学习的一个关键实现是,我们声称在AI中看到的许多“魔法”和“智能”实际上是一种隐藏在高维伪装下的简单算法。将区域划分为正方形的决策树很简单,但将高维空间划分为超立方体的决策树则不然。支持向量机执行内核技巧以提高一维到二维的可分离性是可以理解的,但支持向量机对数百维的大型数据集执行相同的操作几乎是不可思议的。我们对机器学习的钦佩和困惑是基于我们对高维空间缺乏理解。学习如何在原生空间中解决高维问题和理解算法有助于直观理解。