Anderson 视角
10种最佳机器学习算法

尽管我们正处于GPU加速机器学习的创新时代,最新的研究论文经常(并且突出地)以几十年、甚至70年前的算法为特色。
有些人可能会认为这些较旧的方法属于“统计分析”而不是机器学习,并且更愿意将该领域的起源追溯到1957年,即感知机的发明。
考虑到这些较旧的算法如何支持和融入机器学习的最新趋势和头条新闻,这是一个有争议的观点。让我们来看看一些“经典”的构建块,它们支撑着最新的创新,以及一些新兴的算法,它们正在争夺人工智能名人堂的位置。
1:变压器
2017年,谷歌研究团队领导了一项研究合作,发表了论文注意力就是你需要的。这项工作概述了一种新型的架构,它促进了注意力机制从编码器/解码器和循环神经网络模型中的“管道”到一个中心的变换技术。
这种方法被称为变压器,并已成为自然语言处理(NLP)领域的一种革命性方法,例如自回归语言模型和人工智能标志GPT-3。

变压器优雅地解决了序列转导的问题,也称为“转换”,它处理输入序列到输出序列的转换。变压器还以连续的方式接收和管理数据,而不是以序列批次,这允许“记忆的持久性”,循环神经网络(RNN)架构无法获得。有关变压器的更详细概述,请参阅我们的参考文章。
相比之下,RNN在机器学习研究中开始占据主导地位,但变压器架构可以轻松并行化,为处理比RNN更大的数据集提供了条件。
流行用法
变压器在2020年通过OpenAI的GPT-3的发布而吸引了公众的想象力,后者当时拥有创纪录的175亿参数。这一看似令人惊叹的成就最终被后来的项目所掩盖,例如2021年发布的微软的Megatron-Turing NLG 530B,它(如其名称所示)拥有超过530亿参数。

超大规模Transformer NLP项目时间表。 来源:微软
变压器架构还从NLP扩展到了计算机视觉,推动了一代新的图像合成框架,例如OpenAI的CLIP和DALL-E,它们使用文本到图像域映射来完成不完整的图像和从训练域中合成新图像等应用。

DALL-E尝试完成一张普拉托半身像的图像。 来源:https://openai.com/blog/dall-e/
2:生成对抗网络(GANs)
尽管变压器在GPT-3的发布和采用中获得了非凡的媒体关注,但生成对抗网络(GAN)已经成为一个独特的品牌,并可能最终与深度伪造一起成为一个动词。
首先在2014年提出,主要用于图像合成,生成对抗网络架构由生成器和判别器组成。生成器会遍历数据集中的成千上万张图像,反复尝试重建它们。对于每次尝试,判别器都会评估生成器的工作,并将生成器送回去做得更好,但不会提供有关之前重建错误的任何见解。

来源:https://developers.google.com/machine-learning/gan/gan_structure
这迫使生成器探索多种途径,而不是遵循判别器指出错误的潜在死胡同。训练结束时,生成器已经对数据集中的点之间的关系有了详细而全面的了解。

来自论文提高GAN均衡通过提高空间意识:一个新框架遍历GAN的潜在空间,为图像合成架构提供了响应式的操控性。 来源:https://genforce.github.io/eqgan/
通过类比,这与学习通往中央伦敦的单一乏味的通勤路线或仔细获取伦敦出租车知识的区别相同。
结果是在训练模型的潜在空间中获得了一组高级特征。语义指标可能是“人”,而特征的具体细节可能是“男性”和“女性”。在较低的层次上,子特征可以分解为“金发”、“白种人”等。
潜在空间中的纠缠是GAN和编码器/解码器框架中的一个值得注意的问题:GAN生成的女性脸上的微笑是潜在空间中的一个纠缠特征,还是一个平行的分支?

来自thispersondoesnotexist的GAN生成面孔。 来源:https://this-person-doesnotexist.com/en
过去几年中,人们已经开展了大量新的研究计划,以解决这个问题,可能为GAN的潜在空间中的特征级、Photoshop风格的编辑铺平了道路,但目前,许多变换基本上是“全部或无”包。
值得注意的是,NVIDIA的EditGAN发布于2021年末,在潜在空间中使用语义分割掩码实现了高水平的可解释性。
流行用法
除了在流行的深度伪造视频中有限的参与外,图像/视频为中心的GAN在过去四年中已经广泛传播,令研究人员和公众都感到着迷。跟上新发布的惊人速度和频率的步伐是一个挑战,尽管GitHub仓库Awesome GAN Applications旨在提供一个全面的列表。
生成对抗网络可以从任何定义良好的域中推导出特征,包括文本。
3:支持向量机(SVM)
起源于1963年,支持向量机(SVM)是一种核心算法,经常出现在新研究中。在SVM中,向量映射数据集中的数据点的相对位置,而支持向量定义了不同组、特征或特性的边界。

支持向量定义组之间的边界。 来源:https://www.kdnuggets.com/2016/07/support-vector-machines-simple-explanation.html
推导出的边界称为超平面。
在低特征级别下,SVM是二维的(上图),但当有更高的已识别组或类型时,它变成三维的。

更深的点和组数组需要三维SVM。 来源:https://cml.rhul.ac.uk/svm.html
流行用法
由于支持向量机可以有效地、不可知地处理各种高维数据,因此它们在机器学习的各个领域中被广泛使用,包括图像分类、仇恨言论分类、DNA分析和人口结构预测,以及其他许多应用。
4:K-Means聚类
聚类是一种无监督学习方法,旨在通过密度估计对数据点进行分类,创建被研究数据的分布图。

K-Means聚类发现数据中的段、组和社区。 来源:https://aws.amazon.com/blogs/machine-learning/k-means-clustering-with-amazon-sagemaker/
K-Means聚类已成为这种方法最流行的实现,引导数据点进入不同的“K组”,这些组可能指示人口统计学部门、在线社区或其他可能在原始统计数据中等待被发现的秘密聚类。

K-Means分析中的簇。 来源:https://www.geeksforgeeks.org/ml-determine-the-optimal-value-of-k-in-k-means-clustering/
K值本身是该过程的决定性因素,并决定了簇的最佳值。最初,K值是随机分配的,其特征和向量特性与其邻居进行比较。那些最能与数据点相似的邻居被分配到其簇中,直到数据产生所有该过程允许的分组。
不同簇之间的平方误差或“成本”的图将显示数据的肘点:

簇图中的肘点。 来源:https://www.scikit-yb.org/en/latest/api/cluster/elbow.html
肘点的概念与训练会话结束时损失平坦化为微小回报的方式类似,表明没有进一步的区别将变得明显,表明是时候继续下一个数据管道阶段或报告发现结果。
流行用法
K-Means聚类由于其清晰、可解释的方法,商业记录转化为人口统计学见解和“线索”的主要技术,因此也是客户分析中的主要技术。
除了这种应用外,K-Means聚类还用于山体滑坡预测、医疗图像分割、使用GAN的图像合成、文档分类、城市规划,以及许多其他潜在和实际用途。
5:随机森林
随机森林是一种集成学习方法,它通过从一组决策树数组中平均结果来建立对结果的整体预测。

来源:https://www.tutorialandexample.com/wp-content/uploads/2019/10/Decision-Trees-Root-Node.png
如果你已经研究过它,即使只看过《回到未来》三部曲,决策树也相对容易理解:你面前有多条路径,每条路径都会分支到一个新的结果,这个结果中又包含更多的可能路径。
在强化学习中,你可能会从路径中后退并从之前的位置重新开始,而决策树则会坚持其旅程。
因此,随机森林算法本质上是对决策的分散投注。算法之所以被称为“随机”,是因为它进行随机选择和观察,以了解决策树数组的中位数和结果。
由于它考虑了多种因素,因此随机森林方法可能比决策树更难以转化为有意义的图形,但可能更富有成效。
决策树容易过拟合,即结果是数据特有的,不太可能推广。随机森林的随机数据点选择可以抵消这种趋势,深入挖掘数据中的有用和代表性的趋势。

决策树回归。 来源:https://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html
流行用法
与列表中的许多算法一样,随机森林通常作为数据的“早期”分类器和过滤器运行,因此经常出现在新研究论文中。随机森林的使用示例包括磁共振图像合成、比特币价格预测、人口普查分段、文本分类和信用卡欺诈检测。
由于随机森林是一种低级别的机器学习算法,因此它还可以为其他低级别方法(如归纳聚类、特征转换、使用稀疏特征的文本文档分类和显示管道)做出贡献,并且可以增强其他低级别方法的性能,如归纳聚类、特征转换、使用稀疏特征的文本文档分类和显示管道。
6:朴素贝叶斯
与密度估计(见上文4)结合使用,朴素贝叶斯分类器是一种强大但相对轻量级的算法,能够根据数据的计算特征估计概率。

朴素贝叶斯分类器中的特征关系。 来源:https://www.sciencedirect.com/topics/computer-science/naive-bayes-model
“朴素”的术语指的是贝叶斯定理中的假设,即特征是无关的,称为条件独立。如果你采取这种立场,像鸭子一样走路和像鸭子一样说话是不够的,这意味着我们正在处理鸭子,并且没有采取任何“明显”的假设。
这种学术和调查严谨性在“常识”可用时可能是过度的,但是在机器学习数据集中可能存在许多模糊性和潜在无关的相关性时,它是一种有价值的标准。
在原始贝叶斯网络中,特征会受到评分函数的约束,包括最小描述长度和贝叶斯评分,这会对数据施加限制,限制数据点之间的估计连接以及这些连接的方向。
相反,朴素贝叶斯分类器通过假设给定对象的特征是独立的,并使用贝叶斯定理根据其特征计算给定对象的概率来运作。
流行用法
朴素贝叶斯过滤器在疾病预测和文档分类、垃圾邮件过滤、情感分类、推荐系统和欺诈检测中得到很好的代表,除其他应用外。
7:K最近邻(KNN)
首先由美国空军航空医学学校在1951年提出,并且不得不适应20世纪中期计算硬件的现状,K最近邻(KNN)是一种精简的算法,仍然在学术论文和私营部门机器学习研究计划中占据重要地位。
KNN被称为“懒惰学习者”,因为它会彻底扫描数据集以评估数据点之间的关系,而不是需要训练一个完整的机器学习模型。

KNN分组。来源: https://scikit-learn.org/stable/modules/neighbors.html
虽然KNN在架构上很精简,但其系统方法对读/写操作施加了显著的需求,并且在非常大的数据集中可能会出现问题,除非使用诸如主成分分析(PCA)等辅助技术,否则KNN可能难以处理这些数据集,这些技术可以将复杂和高容量的数据集转换为KNN可以轻松遍历的代表性分组。
最近的一项研究评估了几种算法的有效性和经济性,这些算法的任务是预测员工是否会离开公司,发现七十多岁的KNN在准确性和预测有效性方面优于更现代的竞争对手。
流行用法
尽管KNN概念简单,但它并没有停留在1950年代——它已被改编为更侧重于DNN的方法,这是2018年宾夕法尼亚州立大学提出的一个提议,并且仍然是许多更复杂的机器学习框架中的一个核心早期过程(或后处理分析工具)。在各种配置中,KNN已被用于或在线签名验证、图像分类、文本挖掘、作物预测和面部识别,以及其他应用和整合。

训练中的基于KNN的面部识别系统。 来源:https://pdfs.semanticscholar.org/6f3d/d4c5ffeb3ce74bf57342861686944490f513.pdf
8:马尔可夫决策过程(MDP)
由美国数学家理查德·贝尔曼于1957年引入的数学框架,马尔可夫决策过程(MDP)是强化学习架构的基本构建块。MDP是一种概念算法,已被改编为许多其他算法,并且经常出现在当前的AI/ML研究中。
MDP通过使用其当前状态(即它在数据中的“位置”)的评估来探索数据环境,并决定下一个要探索的数据节点。

来源:https://www.sciencedirect.com/science/article/abs/pii/S0888613X18304420
基本的马尔可夫决策过程会优先考虑近期优势而不是更理想的长期目标。因此,它通常嵌入到一个更全面的策略架构中,并且通常受限于诸如折扣奖励和其他修改环境变量等因素,这些因素将防止它在没有考虑更广泛的期望结果的情况下匆忙地达到一个直接的目标。
流行用法
MDP的低级概念在机器学习的研究和活跃部署中都很常见。它已被提出用于IoT安全防御系统、捕鱼和市场预测。
除了它在象棋和其他严格顺序游戏中的明显的适用性外,MDP也是机器人系统的程序训练的自然竞争者,如我们在下面的视频中所见。
9:词频-逆文档频率(TF-IDF)
词频(TF)将词语在文档中出现的次数除以文档中的总词数。因此,在一篇1000字的文章中只出现一次的词语具有0.001的词频。单独的TF基本上是无用的,因为诸如“a”、“and”、“the”和“it”等无意义的文章占主导地位。
为了获得词语的有意义的值,逆文档频率(IDF)计算词语在数据集中的多个文档中的TF,并为数据集中频率很高的停用词(如文章)分配低评分。结果的特征向量被归一化为整数,每个词语被分配一个适当的权重。

TF-IDF根据词语在多个文档中的频率权衡词语的相关性,较少出现的词语是显著性的指标。 来源:https://moz.com/blog/inverse-document-frequency-and-the-importance-of-uniqueness
虽然这种方法可以防止语义上重要的词语被丢失为异常值,但逆频率权重并不意味着低频率词语不是异常值,因为有些事情是罕见的,并且一无是处。因此,低频率词语需要通过在数据集中的多个文档中出现(即使每个文档中的频率很低)来证明其价值,以表明它不是异常值。
尽管它的年龄,TF-IDF仍然是自然语言处理框架中初始过滤步骤的一种流行且强大的方法。
流行用法
由于TF-IDF在过去二十年中在谷歌的PageRank算法的开发中发挥了作用,因此它已被广泛采用为一种操作性的SEO策略,尽管约翰·穆勒尔2019年的否认其对搜索结果的重要性。由于PageRank的保密性,目前没有明确的证据表明TF-IDF不再是提高谷歌排名的有效策略(尽管最近IT专业人士之间的激烈讨论表明,人们普遍认为,术语滥用可能仍然会导致SEO排名提高(尽管有垄断滥用和过度广告的指控)。
10:随机梯度下降(SGD)
随机梯度下降(SGD)是一种日益流行的方法,用于优化机器学习模型的训练。
梯度下降本身是一种优化和随后量化模型在训练过程中所取得的改进的方法。
在这种意义上,“梯度”表示一个向下的斜率(而不是基于颜色的渐变),最高点,即左边的“山”,代表训练过程的开始。模型在这一阶段尚未看到数据的全部内容,尚未从数据关系中学习足够的知识,以产生有效的转换。

FaceSwap训练会话的梯度下降。我们可以看到训练在第二半部分有一段时间停滞不前,但最终恢复了对梯度的下降,朝着可接受的收敛前进。
最低点,即右边的点,代表收敛(模型在给定约束和设置下可能达到的最有效点)。
梯度作为训练的进展记录和预测器,告诉架构训练应该下一步去哪里以及如何进行,基于模型当前的错误率(它已经将数据关系映射得多准确)和权重(影响模型学习方式的设置)。
这种进展记录可用于告知学习率时间表,这是一个自动化的过程,告诉架构在早期的模糊细节转化为清晰的关系和映射时变得更加细致和精确。
随机梯度下降的创新之处在于,它在每次迭代中更新模型的参数,每个训练示例一次,这通常会加快收敛的旅程。由于近年来出现了超大规模数据集,SGD最近变得流行起来,作为解决随之而来的后勤问题的一种可能方法。
另一方面,SGD对特征缩放有负面影响,并且可能需要更多迭代才能达到相同的结果,需要更多的规划和额外的参数,与常规梯度下降相比。
流行用法
由于其可配置性和尽管存在缺陷,SGD已成为拟合神经网络最流行的优化算法。SGD在新的人工智能/机器学习研究论文中占主导地位的配置是自适应矩估计(ADAM,2015年推出)优化器的选择。
ADAM动态地为每个参数调整学习率(“自适应学习率”),并将来自先前更新的结果纳入后续配置(“动量”)。此外,它可以配置为使用诸如Nesterov动量等后期创新。
然而,一些人认为,使用动量也可能使ADAM(和类似算法)得出次优结论。与机器学习研究领域的绝大多数内容一样,SGD是一项正在进行的工作。
首次发布于2022年2月10日。2022年2月10日20:05 EET修订-格式。












