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

知道怎么做是不够的!深入理解4种流行的机器学习算法

时间:2023-03-19 14:40:09 科技观察

本文转载自公众号「读书芯」(ID:AI_Discovery)。机器学习已经成为许多领域的流行语。但实际上,真正懂机器学习的人还是少之又少。大多数人分为以下两个阵营:不懂机器学习算法;知道算法是如何工作的,但不知道它为什么会工作。因此,本文试图对算法的工作流程和内容进行说明,并尽量直观地说明其工作原理,希望能给大家一个明了的感觉。决策树决策树用水平线和垂直线划分特征空间。下图是一个简单的决策树,有一个条件节点和两个类节点,代表一个条件,判断满足条件的节点属于哪个类别。请注意,标有不同颜色的字段与该区域内实际上是该颜色或熵的数据点之间有很多重叠。要构建具有最小熵的决策树,在这种情况下,可以添加额外的复杂层。如果再加一个条件(x<6,y>6),对应区域的点就可以用红色标出。这种运动降低了熵值。在每一步,算法都试图找到一种方法来构建使熵最小化的树。把熵的数量想象成“无序”、“混乱”,与之相反的是“信息增益”——除法器为模型增加了多少信息和洞察力,具有最高信息增益(和最低熵)的特性,拆分在顶部。这些条件的1D特征可能会被拆分,可能采用以下方式:请注意,条件1被很好地分离,因此具有低熵和高信息增益。条件3不同,这就是它被放在决策树底部的原因。决策树的构建确保了它们的轻量级。随机森林模型随机森林模型是决策树的装袋版本(bootstrapaggregation),其主要含义是:每棵决策树都在数据的一个子集上进行训练,然后输入在各个模型之间传递,其输出通过例如最终输出的均值之类的函数。Bagging是综合学习的一种形式。有很多类似的例子可以解释随机森林的有效性。这里有一个常见的例子:你正在决定下一顿饭去哪家餐厅,你需要别人的推荐,你必须回答一个“是或否”的问题来引导他们决定你应该去哪家餐厅。你选择问一个朋友还是几个朋友?有普遍共识吗?除非只有一个朋友,否则大多数人都会选择问几个朋友。这个类比告诉我们,每棵树都有“思想的多样性”,它们选择不同的数据,从而有不同的结果。这个比喻虽然简单明了,但并没有引起叶安德烈的注意。在现实生活中,单个好友选项的体验小于所有好友的体验,但是在机器学习中,决策树和随机森林模型是在同一个数据上训练的,所以体验是一样的,而集成模型实际上并没有收到任何新信息。如果你向一个无所不知的朋友求推荐,他几乎不会反对。在相同数据的随机提取子集上训练以模拟人工“多样性”的模型如何比在整个数据上训练的模型表现更好?以带有重归一化等分布噪声的正弦波为例,这个单A决策树分类器自然是一个非常高方差的模型。选择100个“近似器”,随机选择正弦波上的点并生成正弦拟合,就像在数据子集上训练的决策树一样。然后对这些拟合进行平均以形成口袋曲线,这是一条更平滑的曲线。bagging算法之所以有效,是因为它降低了模型的方差,人为地让模型更有信心,有助于提高泛化能力,这也是为什么bagging算法在低方差模型(如逻辑回归)中表现不佳的原因。效果的原因。SupportVectorMachinesSVM试图找到一个最能划分数据的超平面,依靠“支持向量”的概念来划分两个类。不幸的是,大多数数据集并不那么容易分离。如果分离很容易,SVM可能不是数据集的最佳算法。考虑到一维分离这样的目标,没有完美的分离线,因为任何分离都会导致两个不同的类被归类为同一类。分裂提议SVM能够使用所谓的“内核技巧”解决此类问题,该技巧将数据投射到新的维度中,从而使分离任务更加容易。例如新建一个维度,定义为x^2即可(x为原维度):将数据投影到新的维度上,每个数据点之后在两个维度上都表示为(x,x^),数据是完全可分离的。使用各种核(最通用的多模态非分裂核、S形核和RBF核),核技巧完成了创建转换空间的繁重工作,并使分离任务变得容易。神经网络神经网络是机器学习的巅峰之作。相关的发现和基于它们的无限变化和改进使其成为该领域深度学习的课题。不可否认,神经网络仍然是不完整的(“神经网络是没有人理解的矩阵乘法”),但最简单的解释方法是通用逼近定理(UAT)。在其核心,每个监督算法都试图对数据的某些基本功能进行建模,通常是回归平面或特征边界。考虑函数y=x2,它可以通过几个步骤建模到任意精度。这就是神经网络可以做的,可能稍微复杂一些,并且超出了水平步骤(如下图中的二次线和线性线)来建模关系,但其核心是分段函数逼近器。每个节点委托一部分分段函数,网络的目的是激活负责部分特征空间的特定神经元。例如,如果要对有胡须或无胡须的男性图像进行分类,则应将几个节点专用于胡须经常出现的像素位置。在多维空间的某个地方,这些节点代表值的范围。“为什么神经网络起作用”这个问题仍然没有答案,UAT也没有回答这个问题。但它指出,神经网络可以在某些人的解释下对任何功能进行建模,可解释人工智能领域已经出现,通过激活最大化和敏感性分析等方法来回答这些问题。来源:unsplash这4个算法和其他很多算法其实都是低纬度的,非常简单。这是机器学习领域的一个关键点,我们声称在人工智能中看到的许多“魔法”和“智能”实际上是隐藏在高维外观下的简单算法。决策树将区域分割成正方形很简单,但将高维空间分割成超立方体则不然;SVM执行内核技巧,提高从1D到2D的可分离性,但数百个维度的SVM在大型数据集上做同样的事情更难。我们对机器学习的钦佩和困惑源于对高维空间缺乏理解。学习如何绕过高维空间并理解局部空间中的算法,对于直观理解非常有帮助。