文章目录
机器学习概述
机器学习发展历程
机器学习(Machine Learning)的各个阶段发展历程列表如下。
时间段 | 机器学习理论 | 代表性成果 |
二十世纪五十年代初 | 人工智能研究处于推理期 | A. Newell和H. Simon的“逻辑理论家”(Logic Theorist)程序证明了数学原理,以及此后的“通用问题求解”(General Problem Solving)程序。 |
已出现机器学习的相关研究 | 1952年,阿瑟·萨缪尔(Arthur Samuel)在IBM公司研制了一个西洋跳棋程序,这是人工智能下棋问题的由来。 | |
二十世纪五十年代中后期 | 开始出现基于神经网络的“连接主义”(Connectionism)学习 | F. Rosenblatt提出了感知机(Perceptron),但该感知机只能处理线性分类问题,处理不了“异或”逻辑。还有B. Widrow提出的Adaline。 |
二十世纪六七十年代 | 基于逻辑表示的“符号主义”(Symbolism)学习技术蓬勃发展 | P. Winston的结构学习系统,R. S. Michalski的基于逻辑的归纳学习系统,以及E. B. Hunt的概念学习系统。 |
以决策理论为基础的学习技术 | ||
强化学习技术 | N. J. Nilson的“学习机器”。 | |
统计学习理论的一些奠基性成果 | 支持向量,VC维,结构风险最小化原则。 | |
二十世纪八十年代至九十年代中期 | 机械学习(死记硬背式学习) 示教学习(从指令中学习) 类比学习(通过观察和发现学习) 归纳学习(从样例中学习) |
学习方式分类 |
从样例中学习的主流技术之一:(1)符号主义学习 (2)基于逻辑的学习 |
(1)决策树(decision tree)。 (2)归纳逻辑程序设计(Inductive Logic Programming, ILP)具有很强的知识表示能力,可以较容易地表达出复杂的数据关系,但会导致学习过程面临的假设空间太大,复杂度极高,因此,问题规模稍大就难以有效地进行学习。 |
|
从样例中学习的主流技术之二:基于神经网络的连接主义学习 | 1983年,J. J. Hopfield利用神经网络求解“流动推销员问题”这个NP难题。1986年,D. E. Rumelhart等人重新发明了BP算法,BP算法一直是被应用得最广泛的机器学习算法之一。 | |
二十世纪八十年代是机器学习成为一个独立的学科领域,各种机器学习技术百花初绽的时期 | 连接主义学习的最大局限是“试错性”,学习过程涉及大量参数,而参数的设置缺乏理论指导,主要靠手工“调参”,参数调节失之毫厘,学习结果可能谬以千里。 | |
二十世纪九十年代中期 | 统计学习(Statistical Learning) | 支持向量机(Support Vector Machine,SVM),核方法(Kernel Methods)。 |
二十一世纪初至今 | 深度学习(Deep Learning) | 深度学习兴起的原因有二:数据量大,机器计算能力强。 |
机器学习分类
监督学习 (Supervised Learning)
监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称监督训练或有教师学习.
在监督学习的过程中会提供对错提示,通过不断地重复训练,使其找到给定的训练数据集中的某种模式
或规律
,当新的数据到来时,可以根据这个模式或规律的函数预测结果.近年来广受关注的深度学习应用几乎都属于监督学习,比如 光学字符识别
,语音识别
, 图像分类
和 语言翻译
.
监督学习的训练集要求包括输入和输出,主要用于分类
和回归
,但还有许多奇特的变体,主要包括如下几种.
- 序列生成(sequence generation):给定一张图像,预测描述图像的文字.序列生成有时可以重新表示为一系列分类问题,比如反复预测序列中的单词和标记.
- 语法树预测( syntax tree prediction)。给定一- 个句子,预测其分解生成的语法树。
- 目标检测( object detection)。给定一张图像, 在图中特定目标的周围画一个边界框。这
个问题也可以表示为分类问题(给定多个候选边界框,对每个框内的目标进行分类)或
分类与回归联合问题(用向量回归来预测边界框的坐标)。 - 图像分割( image segmentation)。 给定一 张图像,在特定物体上画一个像素级的掩模( mask )。
无监督学习 (Unsupervised Learning)
与监督学习不同,在无监督学习中,无需对数据集进行标注,也没有输出.其需要从数据集中发现隐含的某种结构,从而获得样本数据的结构特征,判断哪些数据比较相似.
因此, 无监督学习是指在没有目标的情况下寻找输入数据的有趣变换,其目的在于数据可视化、数据压缩、数据去噪或更好地理解数据中的相关性。降维
(dimensionality reduction)和聚类
(clustering)都是众所周知的无监督学习方法。
半监督学习 (Semi-supervised Learning)
半监督学习是监督学习和非监督学习的结合,其在训练阶段使用的是未标记的数据和已标记的数据,不仅要学习属性之间的结构关系,也要输出分类模型以便进行预测.
强化学习 (Reinforcement Learning)
强化学习,又称再励学习、评价学习或增强学习.
是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题
机器学习模型
机器学习 = 数据(data) + 模型(model) + 优化方法(optimal strategy)
常见的机器学习算法
机器学习的注意事项
分类和回归术语表
名词 | 解释 |
---|---|
样本 (sample)或输入 (input) |
进入模型的数据点。 |
预测 (prediction)或输出 (output) |
从模型出来的结果。 |
目标 (target) |
真实值。对于外部数据源,理想情况下,模型应该能够预测出目标。 |
预测误差 (prediction error)或损失值 (loss value) |
模型预测与目标之间的距离。 |
类别 (class) |
分类问题中供选择的一组标签。例如,对猫狗图像进行分类时,“狗”和“猫”就是两个类别。 |
标签 (label) |
分类问题中类别标注的具体例子。比如,如果 1234 号图像被标注为包含类别“狗”,那么“狗”就是 1234 号图像的标签。 |
真值 (ground-truth)或标注 (annotation) |
数据集的所有目标,通常由人工收集。 |
二分类 (binary classification) |
一种分类任务,每个输入样本都应被划分到两个互斥的类别中。 |
多分类 (multiclass classification) |
一种分类任务,每个输入样本都应被划分到两个以上的类别中,比如手写数字分类。 |
多标签分类 (multilabel classification) |
一种分类任务,每个输入样本都可以分配多个标签。举个例子,如果一幅图像里可能既有猫又有狗,那么应该同时标注“猫”标签和“狗”标签。每幅图像的标签个数通常是可变的。 |
标量回归 (scalar regression) |
目标是连续标量值的任务。预测房价就是一个很好的例子,不同的目标价格形成一个连续的空间。 |
向量回归 (vector regression) |
目标是一组连续值(比如一个连续向量)的任务。如果对多个值(比如图像边界框的坐标)进行回归,那就是向量回归。 |
小批量 (mini-batch)或批量 (batch) |
模型同时处理的一小部分样本(样本数通常为 8~128)。样本数通常取 2 的幂,这样便于 GPU 上的内存分配。训练时,小批量用来为模型权重计算一次梯度下降更新。 |
损失函数
0-1损失函数
L ( y , f ( x ) ) = { 0 , y = f(x) 1 , y ≠ f(x) L(y,f(x)) = \begin{cases} 0, & \text{y = f(x)} \\ 1, & \text{y $\neq$ f(x)} \end{cases} L(y,f(x))={ 0,1,y = f(x)y = f(x)绝对值损失函数
L ( y , f ( x ) ) = ∣ y − f ( x ) ∣ L(y,f(x))=|y-f(x)| L(y,f(x))=∣y−f(x)∣平方损失函数
L ( y , f ( x ) ) = ( y − f ( x ) ) 2 L(y,f(x))=(y-f(x))^2 L(y,f(x))=(y−f(x))2log对数损失函数
L ( y , f ( x ) ) = l o g ( 1 + e − y f ( x ) ) L(y,f(x))=log(1+e^{-yf(x)}) L(y,f(x))=log(1+e−yf(x))指数损失函数
L ( y , f ( x ) ) = e x p ( − y f ( x ) ) L(y,f(x))=exp(-yf(x)) L(y,f(x))=exp(−yf(x))Hinge损失函数
L ( w , b ) = m a x { 0 , 1 − y f ( x ) } L(w,b)=max\{0,1-yf(x)\} L(w,b)=max{ 0,1−y