数据挖掘中的机器学习 机器学习的含义 机器学习的核心目标是从经验数据中推导出规律,并将这种规律运用于新的数据中。我们把机器从经验数据中推导并找到规律的这一过程称为“学习”,把将规律应用于新数据这一过程称为“预测”,其中的规律称为“模型”。
机器学习处理的问题 监督学习 分类 分类的经验数据属于两个或更多个标记类别 回归 无监督学习
机器学习的框架 人类学习步骤: 选择知识 选择学习方法 学习或记忆 运用 评测学习效果 知识保存到脑海中
使用Python第三方模块Scikit-learn来构建机器学习的基本框架,机器学习的步骤: 数据的加载 选择模型 模型的训练 模型的预测 模型的评测 模型的保存
数据的加载和分割 启动一个python解释器,然后加载iris和digits数据集。 数据集是一个类似字典的对象,它保存有关数据集的所有数据和一些样本特征数据,通常储存在.data成员中。而在监督的学习中,一个或多个标记类别存储在,.target成员中。列如在digits数据中,digits.data保存的是分类的样本特征。 而digit.target表示数据集内每个数字的真实类别,也就是我们期望从每个手写数字图像中的学得到相应的数字标记。
在训练有监督的学习的机器学习模型的时候,会将数据划分为训练集和测试集,划分比例一般为0.75:0.25。对原始数据进行两个集合的划分,是为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的模型。 机器学习是从数据的属性中学习经验,并将它们运用到新数据的过程。 训练集的作用是用来拟合模型。 通过训练集,使用测试集进行模型预测。 机器学习的模型 模型的选择 数据的大小、质量及性质 可用计算时间 任务的紧迫性 数据的使用用途
学习和预测 从数据中学得模型的过程称为“学习”,这个过程通过执行某个学习模型算法来完成。模型对应了关于数据的某种潜在的规律,亦称“假设”;这种潜在规律则称为“真相”或“真实”,学习过程就是为了找出或逼出真相。 实现机器学习模型 模型的评估和保存 分类、回归、聚类不同的评判指标 把模型的实际预测输出与样本的真实输出之间的差异称为“误差”,模型在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”。我们希望得到泛化误差小的模型。我们事先并不知道新样本是什么,实际能做的就是努力使经验误差最小化。得到一个经验误差很小、在训练集上表现很好的模型。 评判性能:依据不同的模型选择不同的评判标准。
分类、回归、聚类关心的常用指标 准确率:分类器正确分类的样本数及总样本数之比 AUC是一个概率值。对应的AUC更大的分类器效果更好 回归分析中我们关心的常用指标有 均方误差(MSE)差平方 平均绝对误差(MAD)绝对值,反映了实际预测误差的大小。
交叉验证 模型在训练集上表现良好,往往其在测试集上也可能会出现表现不佳的情况。 测试集的反馈足以推翻训练模型,并且度量不再能有效地反映模型的泛化性能。 验证集:解决问题 交叉验证是将数据集D划分为k个大小相似的互斥子集飞空切,ai不等于解,每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到,调用cross_val_score辅助函数。
支持向量机 支持向量机可用于监督学习算法分类、回归和异常检测。 支持向量机有以下特点: 支持向量机的优势: 在高维空间中非常有效 即使在数维度比样本数量大的情况下仍然有效 在决策函数(称为支持向量)中使用训练集的子集,因此它也是高效利用内存的。 支持向量机的缺点: 如果特征数量比样本数量大得多,在选择核函数时要避免过拟合 支持向量机通过寻找支持向量找到最优分割平面,是典型的二分类问题,因此无法解决多分类问题 不直接提供概率估计
实现支持向量机分类 支持向量机的决策函数取决于训练集的一些子集,称作支持向量。
过拟合问题 过拟合 学习计把训练样本学得“太好”的时候,把训练本身的一些特点当作所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。这种现象在机器学习中称为“过拟合”,欠拟合是指对训练样本的一般性质尚未学好,具体表现就是最终模型在训练集上效果好、在测试集上效果差,模型发能力弱。
过拟合问题产生的原因: 使用的模型比较复杂,学习能力过强 有噪声存在 数据量有限
解决过拟合的办法 提前终止(当验证集上的效果变差的时候) 数据集扩增 寻找最优参数
?
|