一、机器学习概念
机器学习是从示例中学习的方法。我们不需要编写分类的规则,而是通过提供大量的相关数据来训练它们
机器学习分类
有监督学习
假设有可用的训练数据,每个样本都有类别标注,分类器是通过利用这些先验已知信息而设计的
无监督学习
可用的每个样本都没有类别标注,只有一组特征向量,目标是要弄清楚这些向量之间的相似性,并把相似的向量聚到一起
二、机器学习的基本要素
机器学习的任务:在数据基础上,一句一定的学习准则采用优化算法建立机器学习模型
机器学习的三要素
- 模型:本质上是一个函数,作用是实现从输入到输出的映射,可以从假设函数集合种选择
- 学习准则:用于学习最优模型的准则,体现为待优化的目标函数
- 优化算法:从候选模型种找到一个最优模型,使得目标函数最小化或者最大化的算法
假设空间-限定候选模型的范围
- 线性模型:映射函数y=f(x)是线性函数,最简单最基本的机器学习模型,包括感知器、线性判别分析、线性支持向量机等
- 非线性模型:映射函数y=f(x)不是线性函数,如k近邻、决策树、人工神经网络等
- 参数化模型:用参数对模型形式进行显式地描述,规定了要学习的函数形式,模型参数的维数固定,模型可由有限维参数来完全刻画,如线性回归、线性判别分析、朴素贝叶斯等
- 非参数化模型:对模型的函数形式不作过多假设,模型参数的维数不固定,可以自由地从训练数据种学习任意形式的函数,如k近邻、决策树等
参数化模型
- 简单、结果容易理解和解释、快速
- 对数据分布的性质做出严格的假设,仅适用于描述简单的问题
非参数化模型
- 灵活,能够拟合大量不同的函数形式、预测效果好
- 对大数据集通常具有很高的计算复杂度,容易过拟合
学习准则-衡量模型对于训练数据的相符程度
损失函数:量化模型预测值与真实标签值之间的差异,度量单样本预测的错误程度,损失函数值越小,模型预测效果就越好
损失函数包括:0-1损失函数、平方损失函数
目标函数:最终要优化的函数,可以选择为经验风险或结构风险。K近邻和决策树算法是基于经验风险,支持向量机是基于结构风险
- 经验风险:训练集种所有样本的平均损失
- 结构风险:引入参数的正则化来限制模型复杂度
优化算法
将学习准则得到的目标函数作为优化目标,从假设空间找到一个使得目标函数最小化/最大化的算法。参数优化算法等价于求解最优化问题的算法,即求参数的解析解或数值解。
解析解是通过严格的公式所求得的解。如果最优化问题没有解析解,需要用数值计算或启发式的方法近似求得数值解
在数值求解过程中有可能陷入局部最优解。常采用迭代法修正对最优解的估计,如梯度下降法、牛顿法、模拟退火法等
梯度下降法
- 计算量小、实现简单。从某个初始点出发,沿着负梯度方向迭代搜索最优解。
- 无法保证找到全局最优解
有监督学习方法分类
- 回归问题:推测出一系列的连续值结果
- 二分类问题:推测出离散的输出值
常用分类方法
- 线性分类器:通过一个线性函数,区分两种不同的类
- 支持向量机:按照分类间隔最大的原则构建的分类器(提高分类器的泛化能力,解决非线性、高维数、局部极值等问题)
- k近邻方法:基于实例的分类方法,与测试数据最近的k个样本的类别,通过投票的方法来确定这个数据点所属的类,可以根据样本的分布选择较小的k值或者根据预测的准确性选择合适的k值一般认为距离越近的邻居可信度越高,可以为不同的临近点设置不同的权重
- 决策树:一种基于规则的分类方法。从一组实例种推理出一组树形的分类规则
k邻近方法
决策树
- 优点:计算复杂度不高、生成的规则易于理解和结束、能够处理具有许多属性的数据集,在相对短的时间内能对大数据集获得较好的分类结果
- 缺点:存在过拟合问题,生成的决策树对于训练的数据集太过依赖
- 解决过拟合问题:预剪枝(限制树的最大深度或限制叶节点的最大数目,避免生成过于详细的决策树)
有监督学习性能的评估
性能评估的常见术语
误差:模型输出与真实值的偏离程度
训练误差:模型在训练集上的误差
测试误差:模型在测试集上的误差
泛化误差:除训练集外所有样本中的预测误差
假设测试集是从样本真实分布中独立采样获得,将测试集上的测试误差作为泛化误差的近似,所以测试集要和训练集中的样本互斥
两种性能欠佳的情况
- 欠拟合:模型在训练和预测时表现得都不好
- 过拟合:模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳
过拟合和欠拟合都需要尽量避免
评价有监督学习模型好坏的标准评价
- 能够很好的复合训练数据,训练误差小
- 有较小的测试误差,较好的泛化能力
回归性能的评估
回归性能的评估是指采用一定的性能度量指标考察回归模型对输出值的拟合程度
指标
- 误差平方和:拟合数据与原始数据之间误差的平方和,对同一数据集,误差平方和越接近0,模型回归性能越好,对不同数据集无意义
- 均方误差:预测值和输出值对应误差的平方和的均值
- 平均绝对误差:具有与输出值和预测值相同的量纲,直接防御预测值相对于输出值的平均偏离程度
- 决定系数:由回归平方和和总平方和来确定,反应了回归平方和在总平方和中所占的比例,[0,1],越接近1表名预测值对于输出值的解释能力越强,模型的拟合效果越好
分类性能的评估
分类评价指标:为了评估分类器的性能,需要选定衡量模型分类能力的评价标准,也就是性能度量或评价指标
分类评价指标
- 准确率:正确分类样本占所有样本的比例。通常准确率越高,分类器性能越好,准确率是最简单也是最直观的评价指标。但是当不同类别样本所占比例不均衡时,占比大的类别会成为影响准确率的主要因素
- 错误率:错误分类的样本占所有样本的比例
- 敏感性(召回率、查全率):所有正例中被正确分类的比例,衡量分类器对于正例的识别能力
- 特异性:所有反例中被正确分类的比例,衡量分类器对于反例的识别能力
- 精度(查准率):被分为正例的样本中实际为正例的比例
ROC曲线和AUC值
ROC曲线表示敏感性和特异性连续变化的综合指标。使用构图法解释敏感性和特异性的相互关系
AUC值:ROC曲线下的面积。一般认为AUC值大的模型性能相对较好
四、无监督学习的基本方法
聚类
聚类:根据相似性将数据分为多类的过程
聚类标准:同类对象相似性高、不同类对象相似性低
影响聚类的重要因素:特征选择、距离函数
典型的聚类方法:划分法(需要输入类别数,适用于观测数较多的情况)、层次法(不需要输入类别数,适用于观测数较少的情况)
划分法
k均值聚类:根据相似性把数据分为k个类别,类内相似性高,类间相似性低
步骤:
- 选择k个随机的点,称为聚类中心,根据全部样本的于聚类中心的聚类归入最近的类
- 迭代计算新的聚类中心
- 重复1和2直到聚类中心不再发生变化
层次法
- 所有观测归为一类
- 每次将最相似的两个类合并成一个类
- 直到所有观测称为一类或者达到所预定的分类条件为止