机器之心编辑部整理

80页笔记看遍机器学习基本概念、算法、模型,帮新手少走弯路

目前有关机器学习的资料可谓层出不穷,其中既有书籍、课程视频资料,也有很多算法模型的开源项目。不过对于初学者来说,或许阅读学习笔记是一种最容易快速上手的方法。

本文要介绍的是一份长约 80 页的学习笔记,旨在总结机器学习的一系列基本概念(如梯度下降、反向传播等),不同的机器学习算法和流行模型,以及一些作者在实践中学到的技巧和经验。

如果你是一个刚刚入门机器学习领域的人,这份学习笔记或许可以帮你少走很多弯路;如果你不是学生,这些笔记还可以在你忘记某些模型或算法时供你快速查阅。必要时,你可以使用 Ctrl+F 搜索自己想知道的概念。

  • 笔记链接:

    https://createmomo.github.io/2018/01/23/Super-Machine-Learning-Revision-Notes/#tableofcontents

笔记共分为以下六大部分:

  1. 激活函数

  2. 梯度下降

  3. 参数

  4. 正则化

  5. 模型

  6. 实用窍门

在第一部分「激活函数」中,作者提供了 Sigmoid、tanh、Relu、Leaky Relu 四种常用的机器学习激活函数

第二部分「梯度下降」又分为计算图、反向传播、L2 正则化梯度、梯度消失和梯度爆炸等 12 个小节:

为了帮助读者理解,作者举了一些例子,并对很多内容进行了可视化的展示:

梯度下降

此外,作者还对代码中用到的一些符号进行了详细解释,对于新手来说非常友好:

笔记的第三部分是机器学习中的参数,又分为可学习参数和超参数参数初始化、超参数调优等几个小节。

为了防止新手走弯路,作者在「参数初始化」部分的开头就提醒道:其实,TensorFlow机器学习框架已经提供了鲁棒的参数初始化功能。类似的提醒在笔记中还有很多。

笔记的第四部分是正则化,包含 L2 正则化、L1 正则化、Dropout、早停四个小节。

第五部分是整份笔记的重中之重,详细描述了逻辑回归、多类分类(Softmax 回归)、迁移学习多任务学习卷积神经网络(CNN)、序列模型、Transformer 和 BERT 等八大类机器学习模型。并且,八大类模型下面又分为各个小类进行详解,具体如下所示:

解释相对简单的前四类机器学习模型。

解释最为详尽的卷积神经网络(CNN),包括 Filter/Kernel、LeNet-5、AlexNet、ResNet、目标检测人脸验证以及神经风格迁移等。

序列模型,包括常见的循环神经网络模型(RNN)、Gated Recurrent Unit(GRU)、LSTM、双向 RNN、深度 RNN 示例、词嵌入、序列到序列翻译模型示例等。

Transformer 和 BERT 模型。

笔记最后一部分给出了一些「实用窍门」,包括训练/开发/测试数据集、不匹配的数据分布、输入归一化以及误差分析等 6 方面内容。其中有些窍门来自 Deep Learning AI 等在线课程,还有一部分是作者自己总结得到的。

作者的其他笔记

除了这份机器学习笔记之外,作者之前还整理过概率图模型、BiLSTM 上面的 CRF 层等相关笔记。详细目录如下:

作者整理的概率图模型复习笔记。

作者整理的 BiLSTM 上的 CRF 层相关笔记。

入门学习笔记机器学习
8
相关数据
逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

多任务学习技术

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

人脸验证技术

面部验证是将候选面部与另一面部进行比较并验证其是否匹配的任务。这是一对一的映射:必须检查这个人是否是正确的。

推荐文章
暂无评论
暂无评论~