1.学习心得
在开始机器学习之前,先对模式识别有了大概了解。模式识别即根据已有知识的表达,针对待识别模式,判别决策其所属的类别或者预测其对应的回归值。简而言之,有两种形式,分类和回归。不同之处在于,分类的输出量是离散的类别表达,而回归的输出量是连续的信号表达。本质上是一个推理过程。我们可以用数学表达模式识别,将模式识别看做一个函数映射f(x),待识别模式x从输入空间映射到输出空间,在这里函数f(x)是关于已有知识的表达。了解完模式识别之后,引入模型的概念。传统意义上的模型由特征提取和回归器组成。特征是用于区分不同类别的、可测量的量,输入数据也可以看做一种原始特征表达,具有辨别能力和鲁棒性。第一次听说鲁棒性这个概念,给出的解释是针对不同的观测条件,仍能够有效表达类别之间的差异性。模式可以用特征向量代表,特征向量的运算有点积、投影,还可计算欧式距离表示相似程度。模式识别任务的模型是通过机器学习技术得到。
人工智能正热。技术创新是经济增长的根本动力。这些技术中,最重要的就是经济学家提到的“通用技术”,比如蒸汽机、内燃机、电力等。如今这个时代,人工智能就是最重要的“通用技术”。特别是行业与人工智能的结合,释放了行业的潜力,重塑了我们的生活。人工智能备受关注、取得革命性进步背后的推手,其实是“机器学习”。机器学习其实是一门多领域交叉学科,它涉及到计算机科学、概率统计、函数逼近论、最优化理论、控制论、决策论、算法复杂度理论、实验科学等多个学科。机器学习的具体定义也因此有许多不同的说法,分别以某个相关学科的视角切入。但总体上讲,其关注的核心问题是如何用计算的方法模拟类人的学习行为:从历史经验中获取规律(或模型),并将其应用到新的类似场景中。我个人的理解是,研究计算机,怎么让它学习人的行为,完成人指定给他的任务。现在很多日常生活都有机器学习相关的应用,比如:人脸识别,垃圾邮件过滤,购物车隔壁的产品推荐等等。
机器学习,大体上分成两个分类:监督学习和无监督学习;细分的话,还有半监督学习和强化学习。区分监督学习和无监督学习其实很简单,若训练集是有输入有输出,那么通过这样的训练集获取到的算法,就是监督学习算法;反之,如果训练集是只有输入没有输出,那么最后得到的算法就是无监督学习算法,典型应用有聚类和图像分割,且算法难度远高于监督式算法。半监督学习就是当训练集中,有一部分是标记的数据(有input和output),一部分是非标记数据(有input无output),那么就是半监督学习;强化学习是机器自行探索决策、真值滞后反馈的过程。通过其他学习后得到的算法,在另外一组数据的刺激下得到的更为精准的算法,这样的方式就是强化学习。
为了评价模型学习的质量,引入训练集和测试集,训练集是模型训练所用的样本数据,测试集用于评估模型的能力。训练得到的模型不仅要对训练样本具有决策能力,也要对新的模式具有决策能力,这就是泛化能力。过拟合是泛化能力低的表现,模型过于拟合训练数据。提高泛化能力的方法有选择复杂度适合的模型和正则化。几乎每个机器学习算法都有超参数,这时需要从训练集中划分出一个验证集,基于验证集调整选择超参数。量化的评估模型性能有留出法,k折交叉验证和留一验证。留一验证更有准确性,但计算复杂还可能出现分层现象。模型性能指标有准确度,精度和召回率,混淆矩阵。当数据集中,正例和反例差别较大,比例失衡,这时准确度很难度量识别性能,可以通过采样处理构造一个平衡的数据集。除了这些还可通过PR、ROC、AUC曲线度量。
初级的模式识别技术首先介绍了基于距离的决策,把测试样本到每个类之间的距离作为决策模型,将测试样本判定为与其距离最近的类。类的原型分为均值和最近邻两种。常见的距离度量有欧氏距离,曼哈顿距离和加权欧氏距离。MED分类器即最小欧氏距离分类器,它的类的原型是均值,决策边界是原型连线的垂直平分线,三维空间是平面,在高维空间是一个超平面。MED分类器采用欧氏距离作为距离度量,虽然简单,但没有考虑特征变化的不同及特征之间的相关性,因此会出现错误分类的情况。为了去除特征相关性需要使用特征白化。将原始特征映射到一个新的特征空间,使得在新空间中特征的协方差矩阵为单位矩阵。基于马氏距离的分类器是MICD分类器(最小类内距离分类器),类的原型是均值,决策边界位于到两个类的距离相等的面上,缺陷是会选择方差较大的类,而决策真值应该倾向于方差小即分布紧致的类。以上两种分类器均未考虑类的分布等先验知识。通常通过先验概率进行分类,把样本分到先验概率大的那类,有了观测概率后能够对先验概率进行修正。基于贝叶斯规则,可得到类的后验概率。MAP分类器选择后验概率最大的类,即最小化决策误差。通过后验概率的结果进行分类,就要知道先验概率和观测概率。高斯分布是最常见的概率分布形式,可用于表达先验和观测概率。将高斯分布函数带入分类器的判别公式可得到决策边界。从而可得到MAP分类器偏向于先验较大可能、分布较为紧致的类。由于不同的决策错误带来的后果不同,就引入决策风险这个系数。定义损失用来表征当前决策动作相对于其他候选类别的风险程度。在MAP分类器基础上加入决策风险因素得到贝叶斯分类器,选择决策风险小的类。,决策目标为最小化期望损失。
如果先验和观测概率并不能预先知道,需要利用训练样本集的信息去进行估计。估计方法有参数估计和非参数估计,参数估计包括最大似然估计和贝叶斯估计。最大似然估计是把待估计的参数看做确定的未知量,根据训练样本集的数据求取该位置参数的最优估计值。若参数的估计量的数学期望是该参数的真值,则估计量称作无偏估计。均值的最大似然估计是无偏估计,协方差的最大似然估计是有偏估计。贝叶斯估计通过给定参数分布的先验概率及训练样本,估计参数的后验概率,可以不断修正参数的估计值,从而达到该参数的期望真值。
如果概率分布形式未知,可通过无参数技术来实现概率密度估计。常用方法有K近邻法,直方图技术和核密度估计。k近邻分类器又称为KNN算法,是指需要从训练集中找出待识别样本的k个最近邻,依据它们分别所属的类别来决定应当把待识别样本划分到哪个类别中。可用二项分布表达k个样本落在区域R的概率密度,当N很大时,可以用二项分布的均值近似表达k的分布。KNN估计的优点是可以自适应的确定x相关的区域R的范围,缺点是KNN概率密度估计不是连续函数,不是真正的概率密度表达。
2.机器学习前沿技术
众所周知,AI的根本目的就是让计算机模拟人类的行为和思维,以实现解放人力,提升效率,降低成本。其中,机器学习(Machine Learning)则是AI的智慧源泉。从学术上来说,机器学习涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多领域交叉的课题和技术。从广义上来说,机器学习就是赋予计算机学习能力,并实现模仿人类的一种方法。从技术应用上来说,机器学习是利用大量数据,训练出专用的算法模型,然后通过该模型实现类似人的预测、推理,从而获取决策的方法。从层级上来说,机器学习位于AI的技术层,与其他技术的相融合,构成了计算机视觉、智能语音、模式识别、数据挖掘、统计学习等AI核心技术,并在应用层得以体现。从AI发展来看,几乎所有核心技术和应用场景的背后,都离不开机器学习所赋予的学习能力,也就是智能。总之,机器学习既是人工智能的核心,也是计算机获得学习能力和智力的方法或途径。而机器学习的核心则是算法。
作为AI大三元素(数据、算力、算法),目前主流的算法主要面向机器学习领域。因此,机器学习也可以理解为用于训练和推理的算法合集。目前,机器学习算法可以分为传统算法和深度学习(Deep Learning)算法两大类。
深度学习是机器学习中一个新兴的研究方向,也是一个复杂的机器学习算法。深度学习的概念源于人工神经网络的研究,建立模拟人脑进行分析学习的神经网络,以模仿人脑的机制来解释数据,强调模型结构的深度和明确特征学习的重要性。因此,深度学习使计算机实现模仿视听和思考等人类的活动,解决了大量复杂的模式识别难题,从而推动计算机视觉、智能语音等复杂AI基础技术的落地。可以说,深度学习算法决定了未来AI的发展趋势,乃是兵家必争之地。现在,全球AI领域,深度学习已经超越传统机器学习,成为主流算法。但是,机器学习仍未被取代,两者呈现互补的态势。随着深度学习与神经网络算法的结合,不仅降低了算法训练的门槛,更衍生出大量热门算法以及相应的底层构架。与依赖于芯片的算力不同,算法由于开源代码、自动化工具等助力,门槛相对降低不少,因而成为初创公司不错的切入点。现在,大多AI企业基本都是围绕算法及相应的应用场景做文章,在国内尤为普遍。目前,国内深度学习厂商主要分为云计算平台、AI初创企业、传统计算厂商以及大数据企业多个阵营。其中,云计算平台主要是BAT、华为、京东等互联网巨头为首;AI初创企业主要有第四范式、商汤、旷视、寒武纪等;浪潮、中科曙光等则发挥自身计算优势,占有一席之地;星环科技、美林数据、九章云极等大数据企业拥有数据挖掘的优势,也成为生态中不可获取的力量。
然而,这些基于开源代码和自动化工具的算法往往过于通用和初级,仅仅依托国内海量数据储备和丰富的应用场景的优势,实现最基本的功能而已。真正核心和关键算法仍然掌握在国外大厂手中,核心竞争力明显不足。而且,不仅是核心算法,深度学习的底层框架也同样来自于国外厂商。底层框架,一般被称作为开源框架或算法训练平台。通俗来说,就是AI工具包,其作用就是用以训练算法模型的平台。如果将算法比作“子弹”的话,底层框架就是“军工厂”,重要性不言而喻。仅仅是算法的缺失,可以通过企业、开发者及整个行业的共同努力来弥补,但连工具都被“卡脖子”的话,显然将大大制约我国深度学习,乃至整个AI产业的发展。