一、引言
机器学习,英文名叫Machine Learning,它的广义定义为通过使用经验(experience)来提高算法性能并对未知数据做精准预测的计算方法。经验(experience)指的是能够为学习者提供有用的历史信息和数据,收集数据并做可行性分析。这些数据(data)可能来自于有标签的训练集,或者是通过环境交互下的其他类型的信息,数据的好坏和数量多少对于学习者预测的成功与否起着至关重要的作用。
机器学习是由设计有效和精确的算法组成的,在其他的科学领域,衡量算法好坏的重要标准就是其时间复杂度和空间复杂度,但在机器学习领域我们需要额外的对样本的复杂度进行评估,需要算法去学习一系列的概念。理论分析表明,算法是由所分析概念的复杂性和样本的大小共同决定的。
算法的是否成功取决于所使用数据,因此,机器学习与数据分析和统计理论是密不可分的。机器学习是由数据所驱动的,是计算机的基本概念与统计、概率和优化相结合的产物。
二、机器学习的应用和相关问题
机器学习理论现在已经成功的应用到如下的领域:
- 文本分类
- 自然语言处理(NLP)
- 语音识别、语音合成、说话人检测
- 光学符号识别(COR)
- 计算生物学应用
- 计算机视觉(图片识别、人脸检测)
- 欺诈检测和网络入侵
- 各种游戏(象棋、围棋)
- 自助车辆控制(机器人,自动导航)
- 医学制药
- 推荐系统、搜索引擎、信息提取系统
机器学习主要应用于以下几个领域:
- 分类(Classification):为每一项分配一个类别。例如,新闻分类可以分为政治类新闻、经济类新闻、体育类新闻等等。图片分类可以分为风景类图片、肖像类图片、动.物类图片等等。有些分类比较少,有些分的类别就会比较多,甚至是无限分类。
- 回归(regression):为每一项预测一个真实值。例如对股票行情的预测或者明天下雨的概率。对于错误分类的惩罚取决于样本真实值和预测值的差值,和分类问题不同的是,各个类别之间没有关联性。
- 排序(ranking):根据一些标准为每一项进行排序。例如,网页搜索,返回与搜索查询相关的网页。在信息提取或自然语言处理系统的设计过程中,还会出现许多类似的排序问题。
- 聚类(Clustering):将每一项划分到性质相同的区域。聚类经常被用于较大的数据集中。例如,对于社会网络的分析,聚类算法尝试着在很大一部分人群中分辨相同特点的人。
- 降维(Dimensionality reduction)或 流形学习(manifold learning):将一些项的初始表示转化为这些项的低维表示,并且保存这些项初始表示时的特征。例如在计算机视觉中处理数字图像。
机器学习的主要实践目标就是对未知项甚至是更大规模的问题设计高效和鲁棒性的算法产生精准的预测,由此便产生了大量的算法和理论性问题。
三、机器学习的定义和相关术语
本部分将使用垃圾邮件检测作为一个标准的例子来阐述机器学习的一些定义和相关术语。
- 示例(Examples):用于学习或评估的数据项或实例。在垃圾邮件检测问题中,这些示例就是我们将用于学习和测试的邮件集合。
- 特征(Features):示例属性的集合,经常用向量来表示,与示例相关联。对于邮件,一些相关的特征可能是信息的长度、发送者、文件中的关键句子等等。
- 标签(labels):示例的类别或者数值。在分类问题中,示例经常被分配特定的类别。例如,二分类中的垃圾邮件和非垃圾邮件。在回归问题中,项目被分配实时标签。
- 训练样本(Training sample):被用来训练一个学习算法的示例。在垃圾邮件分类问题中,训练样本是由一系列的带有标签的邮件示例组成的。
- 验证样本(Validation sample):当使用有标签数据训练学习算法时,那些用于调节算法参数的示例。学习算法通常有一个或多个自由参数,验证样例用于为这些模型参数选择适当的值。
- 测试样本(Test sample):用于评价算法性能的示例。测试样本与训练样本和验证样本不放在一起,在算法的学习训练阶段不发挥作用。在垃圾邮件分类问题中,测试样本由一组邮件组成,学习算法需要基于特征来预测邮件标签(是否为垃圾邮件)。然后将这些预测值与测试样本的真实标签进行比较,来评估算法的性能。
- 损失函数(Loss function):用来计算示例的预测标签和真实标签之间的差异或损失的函数。 可以用Y\mathcal{Y}Y来定义样本标签的集合,样本标签的所有可能的预测集合用Y′\mathcal{Y}'Y′来表示,损失函数LLL就是这样一个映射:Y×Y′→R+\mathcal{Y}\times\mathcal{Y}'\rightarrow R_+Y×Y′→R+。在大多数情况下,Y=Y′\mathcal{Y}=\mathcal{Y}'Y=Y′,损失函数是有界的,但这些条件并不总是成立。常用的损失函数包括0-1损失,L(y,y′)=1y′≠yL(y,y')=1_{y'\ne y}L(y,y′)=1y′=y在{ −1,+1}×{ −1,+1}\{-1,+1\}\times\{-1,+1\}{ −1<