机器学习已经成为一个经常被使用的术语,以至于越来越难以准确理解它是什么以及它应该做什么。机器学习的定义要么太宽泛,要么太狭窄,以至于无法理解机器学习的真正工作原理,而且机器学习备忘单太多,以至于事情常常变得令人困惑。
什么是机器学习?
机器学习最全面的定义是,“通过以观察和现实世界交互的形式向计算机提供数据和信息,让计算机像人类一样学习和行动,并随着时间的推移以自主方式改进其学习能力” ”。
CSC 和马克斯普朗克研究所的 Danko Nikolic 博士给出了另一个很好的定义,他将机器学习定义为:“让计算机在没有明确编程的情况下采取行动,而是让它们自己学习一些技巧的科学。 ”
任何机器学习算法的主要目标都是从训练样本中创建概括,使计算机能够解释它以前从未见过的数据。
机器学习的基本概念
机器学习算法可以按两种方式之一进行分类。
决策树模型
高斯混合模型
为什么需要机器学习备忘单?
现在是成为机器学习 (ML) 工程师的好时机。机器学习工程师不得不担心构建平台和手动滚动数值算法的日子已经一去不复返了。
如今,可用的机器学习工具和资源非常多;从 AWS 的深度学习 AMI 到 Android 的 NN API,机器学习工程师可以专注于解决关键问题,而不必担心繁重的工作。
那么为什么当今世界上机器学习工程师仍然如此之少呢?一个主要原因是大多数工程师对机器学习的方法非常单一。
他们了解机器学习的目的、机器学习执行,然后在当前项目中学习并使用 2-3 种算法。
另一方面,机器学习中最大的挑战和最陡峭的学习曲线来自于理解更先进的算法和技术。
事实上,机器学习最好的部分是当机器学习算法没有按预期执行时提出独特的解决方案。当训练数据存在问题或机器学习完全应用于新领域时,通常会发生这种情况。
不幸的是,大多数工程师停留在 2-3 个机器学习算法上,然后觉得机器学习的计算量非常大,并且他们无法在一定程度上改进他们的 ML 模型。
他们没有意识到的是,他们实际上已经非常接近获得专业知识水平,这可以使他们作为机器学习工程师在就业市场上变得无价。这就是机器学习算法备忘单的用武之地,因为它们可以使机器学习工程师不断学习并真正提高他们的水平。
一些重要的机器学习备忘单
机器学习有不同的方面,正确的机器学习备忘单可以帮助您了解机器学习的基本概念和高级细节,无论是机器学习算法、神经网络架构还是回归和概率等基础数学概念。
这里列出了一些最重要的机器学习备忘单,如果您正在处理机器学习,您必须拥有这些备忘单。
关于基本概念的机器学习备忘单
有一些很棒的机器学习备忘单,以非常简洁的方式概述了一些最关键的机器学习概念。以下是关于一些关键机器学习概念的四个必备备忘单。
监督学习备忘单
监督学习是一种机器学习模型,其中输入和所需的输出数据都提供给系统。输入和输出数据被标记以进行分类,以便机器现在为未来的数据处理奠定基础。
无监督学习备忘单
无监督学习是一种机器学习技术,有助于发现数据中的模式。在这种情况下,数据没有标记,这意味着仅给出输入变量(X),而没有任何相应的输出变量。
深度学习备忘单
深度学习是机器学习的一个分支,它使用称为人工神经网络的算法。这些算法的灵感来自于我们大脑的运作方式,许多专家认为因此是我们将艺术推向真正的人工智能(AI)的最佳机会。
由于我们有更多的数据和更大的神经网络可供使用,深度学习现在变得尤其令人兴奋。此外,神经网络的性能随着神经网络规模的扩大和处理越来越多的数据而提高,这与其他机器学习算法不同,其他机器学习算法可以在某个点之后达到稳定状态。
这份关于神经网络类型的机器学习备忘单可帮助您了解深度学习的完整基础知识。
库和机器学习算法备忘单
从深度学习到科学计算,有一些优秀的开源库适用于机器学习的不同方面。以下是一些最重要的图书馆必备的机器学习备忘单。
Keras 备忘单
Keras 是深度学习和神经网络的绝佳工具。它是一个强大而全面的 Theano 和 TensorFlow 库,可以帮助您评估和开发深度学习模型。对于想要了解神经网络和深度学习的高级机器学习工程师来说,这非常有用。
NumPy 备忘单
NumPy 是 Python 科学计算的基本工具。 NumPy 是一个 Python 库,提供多维数组对象、各种派生对象(例如屏蔽数组和矩阵)以及用于快速操作数组的例程分类,包括数学、逻辑、形状操作、排序、选择、I/O 、随机模拟、基础线性代数等。
这是终极 NumPy 备忘单,包含从数据类型到创建、检查和操作数组的所有基础知识。
SciPy 备忘单
SciPy 是另一个对于科学计算至关重要的软件包,一旦您掌握了 NumPy,就非常适合选择它。它提供基于 NumPy 构建的数学算法和便利函数。
SciPy 包含优化、积分、FFT、线性代数、插值、信号和图像处理、ODE 求解器等模块。
这是一个很棒的机器学习备忘单,它将帮助您了解 SciPy 中最常用的函数。
Scikit-Learn 备忘单
Scikit learn 是一个 Python 开源机器学习库。它具有各种分类、回归和聚类算法,包括支持向量机、随机森林、梯度提升、k-means 和 DBSCAN。它被设计为与 NumPy 和 SciPy 结合使用。
这是一份很棒的 Scikit-Learn 备忘单,向您展示如何创建、评估和调整机器学习模型。
Matlplotlib
Matplotlib 是 Python 的 2D 绘图库。它是为科学计算库 NumPy 使用而构建的。它提供了面向对象的 API,用于将绘图嵌入到具有通用 GUI 工具包(如 Tkinter、wxPython、Qt 或 GTK+)的应用程序中。
它以多种硬拷贝格式和跨不同平台的交互环境生成各种出版物质量的图表。
这是终极机器学习备忘单,指导您如何使用 Matplotlib 创建、自定义和显示绘图。
这是一个视频,其中还包含大量机器学习备忘单,您可以参考。
如何使用机器学习备忘单
大多数机器学习备忘单与代码指南一样好,并且确实可以为您提供从机器学习怀疑论者到倡导者所需的推动力。
然而,备忘单确实有其局限性,因此应谨慎使用。
完全依赖机器学习算法备忘单的主要局限性 是它们更像是代码指南和信息存储库。
一旦您知道需要使用哪种算法或库以及需要如何解决特定的机器学习问题,备忘单就会非常有用。
然而,成为一名优秀的机器学习工程师的一个重要因素是能够从不同的机器学习模型中进行选择。
做出正确的决策是开发基于机器学习的出色产品的关键。为了做出这些选择,您需要了解最佳机器学习模型的细节。
只有深入了解机器学习算法的工作原理及其基本假设和行为,才能实现这一点。机器学习备忘单在这种情况下没有多大帮助。
成为一名优秀的机器学习工程师的正确方法是从基本的理解开始。加入机器学习课程,学习机器学习的不同模型和行为模式。
一旦准备就绪,备忘单将帮助您解决实际的机器学习问题,并使您不断成长并转变为出色的机器学习工程师。