学习笔记_深度学习入门几个常见的概念
无监督和有监督学习
监督学习(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对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息
长短期记忆递归神经网络(Long-Short Term Memory,LSTM):
LSTM是RNN的一种变体
LSTM的内部结构。通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;
引入了很多内容,导致参数变多,也使得训练难度加大了很多。
因此往往会使用效果和LSTM相当但参数更少的GRU来构建大训练量的模型。
三个门:
- Input Gate:中文是输入门,在每一时刻从输入层输入的信息会首先经过输入门,输入门的开关会决定这一时刻是否会有信息输入到Memory Cell。
- Output Gate:中文是输出门,每一时刻是否有信息从Memory Cell输出取决于这一道门。
- Forget Gate:中文是遗忘门,每一时刻Memory Cell里的值都会经历一个是否被遗忘的过程,就是由该门控制的,如果打卡,那么将会把Memory Cell里的值清除,也就是遗忘掉。
门控循环单元(Gate Recurrent Unit,GRU):2014提出循环神经网络的一种
GRU模型中有两个门,重置门和更新门
重置门决定了如何将新的输入信息与前面的记忆相结合
更新门用于控制前一时刻的状态信息被带入到当前状态中的程度
递归神经网络 (Recursive Neural Network, RNN)
尽管递归神经网络具有更为强大的表示能力,但是在实际应用中并不太流行。其中一个主要原因是,递归神经网络的输入是树/图结构,而这种结构需要花费很多人工去标注。想象一下,如果我们用循环神经网络处理句子,那么我们可以直接把句子作为输入。然而,如果我们用递归神经网络处理句子,我们就必须把每个句子标注为语法解析树的形式,这无疑要花费非常大的精力。很多时候,相对于递归神经网络能够带来的性能提升,这个投入是不太划算的。
深度神经网络DNN:
有很多隐藏层的神经网络
卷积神经网络CNN
生成对抗网络GAN
自然语言处理NLP
分类问题的常见损失函数:交叉熵
回归问题的常见损失函数:均方差


