目录
许多令人惊叹的技术背后隐藏着一个关键概念------监督学习,这些技术包括声音识别、垃圾 邮件过滤、图像中的面部识别、侦测信用卡欺诈等。更正式地讲,给定一组学习样本D,用特征 X进行描述,监督学习的目标是找到一个函数对目标变量Y进行预测。函数f描述特征X与类Y之间 的联系,称为模型
监督学习算法的通用结构由如下决策定义(Hand等,2001):
定义任务;
确定机器学习算法,它会产生特定归纳偏置,即先验假设,这是针对目标概念做出的;
确定得分函数与代价函数,比如信息增益、均方根误差等;
确定最优/搜索方法优化得分函数;
找到一个函数,用以描述X与Y之间的关系。
分类
分类可以处理离散类,其目标是对目标变量中的互斥值之一进行预测。一个应用例子是做信 用评估,最终预测结果是判断目标人物的信用是否可靠。最流行的算法有决策树、朴素贝叶斯分 类器、支持向量机、神经网络以及集成算法(Ensemble Method)。
决策树学习
决策树学习过程中会创建一个分类树,树的每一个节点对应一个属性,边对应属性一个可能 的值(或区间),节点由此而生,每个叶子对应一个类标签。决策树可以可视化并以明确的方式 表示预测模型,这让它成为一个很透明(白箱)的分类器。比较有名的算法有ID3与C4.5,此外 还有许多可选实现与改进算法(比如Weka中的J48)。
概率分类器
给定一组属性值,概率分类器(Probabilistic Classifiers)可以对一组类的分布进行预测,而 不预测一个确切的类。这可以作为确定性程度来使用,即分类器对自己的预测有多大把握。最基 本的分类器是朴素贝叶斯分类器,它也是最理想的分类器------当且仅当属性是条件独立的。但不 幸的是,这在实际情况中极其少见。
其实有一个称为概率图模型的庞大分支,包括成百上千的算法,比如贝叶斯网络、动态贝 叶斯网络、隐马尔可夫模型、条件随机场(不仅可以处理两个属性间的特定关系,还可以处理 现时依赖性)。关于这个主题,Karkera写了一本很棒的入门书Building Probabilistic Graphical**Models with Python,Koller与Friedman出版了一本详尽的理论"圣经"------《概率图模型:原理与技术》。
核方法
通过对模型应用核技巧(kernel trick),用核函数(kernel function)替代模型的特征(预测器), 可以将任意一个线性模型转换为非线性模型。换言之,核技巧隐式地将数据集变换成更高维度。 核技巧充分利用了"分离更高维的实例通常更容易"这一事实。可以使用核技巧的算法包括核感 知器、支持向量机(SVM)、高斯过程、PCA、典型相关分析、岭回归、谱聚类、线性自适应过 滤器等。
人工神经网络
人工神经网络是受生物神经网络结构的启发而提出的,可以用于机器学习,也可以进行模式 识别。人工神经网络通常解决回归与分类问题,包含各种算法以及各种问题类型的变种。比较流行的分类方法有感知器、受限玻尔兹曼机、深度信念网络(Deep Belief Network)。
集成学习
集成方法由一系列不同的弱模型组成,以此获得更好的预测能力。先单独训练各个模型,然 后采用某种方式将其预测组合起来,以产生更全面的预测。因此,集成体包含针对数据的多种建模方式,希望能够产生更好的结果。集成学习是机器学习算法中非常强大的工具,也很流行,包 括Boosting方法、Bagging方法、AdaBoost、随机森林。这些方法的主要不同在于它们组合的学习 器的类型以及选用组合方式。
分类评估
我们的分类器工作效果很好吗?这个分类器比另一个要好吗?在分类中,我们计算分对与分 错的次数。假设有两个可用的分类标签------yes与no,有4种可能的结果
真正命中:这表示一个yes实例被正确地预测为yes。------TP
真负正确否定:这表示一个no实例被正确地预测为no。------TN
假正误警:这表示一个no实例被预测为yes。------FP
假负未命中:这表示一个yes实例被预测为no。------FN
这两个度量值的主要问题是,它们不能处理不平衡类。对一笔信用卡交易是否为欺诈进行分 类就是不平衡类问题的一个例子:正常交易占99.99%,欺诈仅占极小数。对于每笔交易,分类器 将其判断为正常交易,这种准确率可达99.99%,但我们主要感兴趣的是那些极少出现的几个分类。
(1) 准确率与召回率
这个解决方案用到了两个不包含TN(正确否定)的度量值,它们定义如下。
准确率:被分类器判定为正的所有样本实例(TP+FP)中,被正确判断为正(TP)的正 例样本所占比重。
召回率:在总正例样本(TP+FN)中,被正确判定为正(TP)的正例所占比重。
常见的做法是,把两个度量值组合起来,形成F值(F-measure)作为加权平均值;计算分数 的同时考虑准确率和召回率,分数的最好值为1,最差值为0,计算公式如下:
回归
回归方法处理连续的目标变量,这与使用离散目标变量的分类方法不同。例如,预测未来几天的室外温度时,我们会使用回归方法,而分类方法只能预测未来几天是否下雨。一般来说,回 归过程评估的是各种特征之间的联系,即特征变化是如何改变目标变量的。
线性回归
最基本的回归模型假定特征与目标变量之间有线性依赖关系。这个模型经常使用最小二乘法 进行拟合,它是使误差的平方最小的模型。许多情况下,线性回归不能对复杂关系进行建模。
回归评估
回归中,我们从输入X预测数值Y,这些预测通常是错误的、不准确的。我们要问的主要问题 是:这些预测值与实际值相差多少?换言之,我们要测量预测值与实际值之间的距离。
(1) 均方误差
均方误差(mean squared error)是预测值与实际值差的平方和的平均值,计算公式如下:
均方误差对异常值非常敏感。比如,99个准确率100%的预测加上1个准确率为90%的预测, 得分和100个准确率为99%的预测一样。而且,均方误差对平均值也敏感。因此,人们更多使用相 对平方误差(relative squared error)将预测器的MSE与均值预测器------总是用于预测平均值------ 的MSE进行比较。
(2) 平均绝对误差
平均绝对误差(mean absolute error)是预测值与实际值差的绝对值之和的平均值,计算公式 如下:
MAS对异常值不太敏感,但它对平均值与规模是敏感的。
(3) 相关系数
相关系数以两变量与各自平均值的离差为基础,通过两个离差相乘反映两变量之间相关程 度。若相关系数为负值,则表示弱相关;若为正值,则表示强相关;若为0,则表示不相关。实 际值X与预测值Y之间的相关系数定义如下:
相关系数对平均值与规模完全不敏感,对异常值不太敏感。它能获取相对排序(relative ordering),对文档关联性与基因表达等任务进行分级排列时很有用。