无监督和有监督学习

监督学习(supervised learning)

擅长在“给定输入特征”的情况下预测标签。 每个“特征-标签”对都称为一个样本(example)。

回归问题:(regression)平方误差损失函数。

分类问题:(classification)分类问题希望模型能够预测样本属于哪个类别(category,正式称为(class)),当有两个以上的类别时,我们把这个问题称为多项分类(multiclass classification)问题。 常见的例子包括手写字符识别 。 与解决回归问题不同,分类问题的常见损失函数被称为交叉熵(cross-entropy)

标记问题:学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification),一个样本点有多个标签,标记问题输出样本点上的所有标签,分类只有一个标签

搜索问题:搜索一个标签,输出多个结果,需要对输出多个结果进行相关度排序。

序列学习问题:输入是连续的,模型可能就需要拥有“记忆”功能

无监督学习

聚类(clustering)问题:没有标签的情况下,给定一组照片,我们能把它们分成风景照片、狗、婴儿、猫和山峰的照片

主成分分析(principal component analysis)问题:我们能否找到少量的参数来准确地捕捉数据的线性相关属性?比如,一个球的运动轨迹可以用球的速度、直径和质量来描述。

因果关系(causality)和概率图模型(probabilistic graphical models)问题:我们能否描述观察到的许多数据的根本原因?例如,如果我们有关于房价、污染、犯罪、地理位置、教育和工资的人口统计数据,我们能否简单地根据经验数据发现它们之间的关系?

生成对抗性网络(generative adversarial networks):为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。
1.聚类是最常见的无监督学习方法之一。聚类的方法包括将未标记的数据组织成类似的组。此处的主要目标是发现数据点中的相似性,并将相似的数据点分组到一个聚类中。

2.异常检测是识别与大多数数据显著不同的特殊项、事件或观测值的方法。通常在数据中寻找异常或异常值的原因在于它们是可疑的。异常检测常用于银行欺诈和医疗差错检测。

强化学习

离线学习:(offline learning)预先获取大量数据,然后启动模型,不再与环境交互。 这里所有学习都是在算法与环境断开后进行的。但是有些策略与环境互动,而不是离线的,比如强化学习

机器学习开发与环境交互并采取行动感兴趣,那么最终可能会专注于强化学习(reinforcement learning)

在强化学习问题中,智能体(agent)在一系列的时间步骤上与环境交互。 在每个特定时间点,智能体从环境接收一些观察(observation),并且必须选择一个动作(action),然后通过某种机制(有时称为执行器)将其传输回环境,最后智能体从环境中获得奖励(reward)。 此后新一轮循环开始,智能体接收后续观察,并选择后续操作,依此类推。强化学习的目标是产生一个好的策略(policy)。

前馈神经网络/全连接神经网络(Feedforward Neural Network,FNN):

线性函数和激活函数叠好几个层最简单

循环神经网络(Recurrent Neural Network):

RNN详解

史上最详细循环神经网络讲解(RNN/LSTM/GRU)

Understanding LSTM Networks

层与层之间是全连接的,每层之间的节点也是连接的,每一步的参数共享

RNN对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息

长短期记忆递归神经网络(Long-Short Term Memory,LSTM):

LSTM是RNN的一种变体

LSTM的内部结构。通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;

引入了很多内容,导致参数变多,也使得训练难度加大了很多。

因此往往会使用效果和LSTM相当但参数更少的GRU来构建大训练量的模型。

三个门:

  1. Input Gate:中文是输入门,在每一时刻从输入层输入的信息会首先经过输入门,输入门的开关会决定这一时刻是否会有信息输入到Memory Cell。
  2. Output Gate:中文是输出门,每一时刻是否有信息从Memory Cell输出取决于这一道门。
  3. Forget Gate:中文是遗忘门,每一时刻Memory Cell里的值都会经历一个是否被遗忘的过程,就是由该门控制的,如果打卡,那么将会把Memory Cell里的值清除,也就是遗忘掉。

门控循环单元(Gate Recurrent Unit,GRU):2014提出循环神经网络的一种

GRU模型中有两个门,重置门和更新门

重置门决定了如何将新的输入信息与前面的记忆相结合

更新门用于控制前一时刻的状态信息被带入到当前状态中的程度

递归神经网络 (Recursive Neural Network, RNN)

尽管递归神经网络具有更为强大的表示能力,但是在实际应用中并不太流行。其中一个主要原因是,递归神经网络的输入是树/图结构,而这种结构需要花费很多人工去标注。想象一下,如果我们用循环神经网络处理句子,那么我们可以直接把句子作为输入。然而,如果我们用递归神经网络处理句子,我们就必须把每个句子标注为语法解析树的形式,这无疑要花费非常大的精力。很多时候,相对于递归神经网络能够带来的性能提升,这个投入是不太划算的。

深度神经网络DNN:

有很多隐藏层的神经网络

卷积神经网络CNN

生成对抗网络GAN

自然语言处理NLP

分类问题的常见损失函数:交叉熵

回归问题的常见损失函数:均方差

激活函数:https://zhuanlan.zhihu.com/p/364620596