python机器学习之模型选择与优化

问题引入

炮弹轨迹问题

python机器学习之模型选择与优化_第1张图片
对于以上的炮弹问题,想分析他不用的数据模型
python机器学习之模型选择与优化_第2张图片
python机器学习之模型选择与优化_第3张图片

  • 以上三种模型对应着3种不同模型情况
    python机器学习之模型选择与优化_第4张图片

芯片检测问题

根据芯片尺寸1、尺寸2参数识别次品
python机器学习之模型选择与优化_第5张图片
python机器学习之模型选择与优化_第6张图片
python机器学习之模型选择与优化_第7张图片

  • 以上三种情况对应着拟合的3种结果
    python机器学习之模型选择与优化_第8张图片
  • 模型对数据的预测情况

由于模型不合适,致使其无法对数据进行准确的预测
python机器学习之模型选择与优化_第9张图片

解决过拟合和欠拟合问题

  • 通常来说,欠拟合可通过观察训练数据的预测结果发现,解决办法可以是:选用其他模型、增加模型复杂度、增加数据样本、采集新的维度数据

解决过拟合问题的方法

  • 原因:
    Ø 使用了过于复杂的模型结构(比如高阶决策边界)
    Ø 训练数据不足,有限的训练数据(训练样本只有总体样本中的小部分、不具备代表性)
    Ø 样本里的噪音数据干扰过大,模型学习到了噪音信息(使用过多与结果不相关属性数据)

解决办法:
Ø 简化模型结构(降低模型复杂度,能达到好的效果情况下尽可能选择简单的模型)
Ø 数据增强(按照一定的规则扩充样本数据)
Ø 数据预处理,保留主成分信息(数据PCA处理)
Ø 增加正则化项(regularization)

参考链接:
https://blog.csdn.net/dfly_zx/article/details/107954860

  • 数据增强
    • 如图形中用的比较多的平移、翻转、旋转、镜像
      python机器学习之模型选择与优化_第10张图片
  • PCA降维处理
    python机器学习之模型选择与优化_第11张图片

python机器学习之模型选择与优化_第12张图片

  • 增加正则项

机器学习过程中,模型求解的核心目标就是最小化损失函数,增加正则项是指在损失函数中添加一个额外项,实现对求解参数的数值约束,防止模型过拟合。

python机器学习之模型选择与优化_第13张图片
python机器学习之模型选择与优化_第14张图片
如果λ是很大的数值(比如1000000),那各个θ取值就不能过大,其意义则是各个属性数据的系数受到约束(有效控制各个属性数据的影响)。

(这里用ridge正则项做例子,但并不局限,如用绝对值亦可)
python机器学习之模型选择与优化_第15张图片

python机器学习之模型选择与优化_第16张图片
- 回归模型,引入不同正则项
python机器学习之模型选择与优化_第17张图片

python机器学习之模型选择与优化_第18张图片
如在分类项目中
python机器学习之模型选择与优化_第19张图片

小tips

如果想偷个懒,不知道该用几阶的回归任务,直接选用一个高阶的(如10阶5阶),这时候很有可能过拟合,则在这个的基础上增加一个pca数据分析降维,再去训练模型

分离训练数据与测试数据

思考:仅仅通过训练数据的预测效果,是否足以评判模型的表现?
python机器学习之模型选择与优化_第20张图片

  • 一个好的模型,能过对新数据样本做出准确预测
    python机器学习之模型选择与优化_第21张图片
  • 回顾模型训练与评估流程
    python机器学习之模型选择与优化_第22张图片
    在这个的基础上,我们在模型创建后,将数据分成两部分,对全数据进行数据分离!
    python机器学习之模型选择与优化_第23张图片

分离流程

1、把全部数据分成两组:训练集、测试集
2、用训练集里的数据输入模型进行训练
3、用测试集里的数据输入模型进行预测,能有效评估此模型预测新的输入数据的表现
python机器学习之模型选择与优化_第24张图片

混淆矩阵(Confusion Matrix)

用于评估模型训练结果后的准确性,在前期学习的时候,我们对模型评估的方法就是查看其准确率,但是也有局限性:不能全面或真实表达模型对各类别结果的预测准确度

  • 案例:奢饰品公司在投放广告前,根据部分高档消费客户的数据作为训练集和测试集,训练测试了高档消费客户的分类模型。该模型的准确率达到了95%。但是在实际广告投时,发现模型输出预测都为普非高档消费客户(非目标用户群体),其结果无法帮助决策。

python机器学习之模型选择与优化_第25张图片
更好的理解其中原因,我们将以上案例的数值提取出来概括:例如有100个样本,95个负样本,只有5个正样本,如果测试所有的样本结果都是负样本,也可以说准确率是95%

  • 局限性变现在:
    Ø 没有体现数据子类别的预测效果(如:0、1分别预测的准确率)
    Ø 没有体现模型错误预测的类型(如:5%的错误率是什么预测错误)

以准确率作为分类问题的评价指标是有明显缺陷的,假如不同样本的比例非常不均衡,占大比例的类别会成为影响准确率的主要原因。

基于混淆矩阵计算评估指标

  • 混淆矩阵也称误差矩阵,用于统计各类别样本预测正确与错误的数量,能帮助用户更全面地评估模型表现
    python机器学习之模型选择与优化_第26张图片
    •True Positives (TP): 预测准确、预测为正样本的数量(实际为1,预测为1)
    •True Negatives (TN): 预测准确、预测为负样本的数量(实际为0,预测为0)
    •False Positives (FP): 预测错误、预测为正样本的数量(实际为0,预测为1)
    •False Negatives (FN): 预测错误、预测为负样本的数量(实际为1,预测为0)

(预测结果正确或错误,预测结果为正样本或负样本)
python机器学习之模型选择与优化_第27张图片

  • 案例
    python机器学习之模型选择与优化_第28张图片
    A模型的各指标计算数值
    python机器学习之模型选择与优化_第29张图片
  • 最终结果
    python机器学习之模型选择与优化_第30张图片

混淆矩阵小结

  • 优点:
    Ø 分类任务中,相比单一的准确率指标,混淆矩阵提供了更全面的模型评估信息(TP\TN\FP\FN)
    Ø 基于混淆矩阵,我们可以计算出多样的模型表现衡量指标,从而实现模型的综合评估

  • 应用场景决定了衡量指标的重要性:
    Ø 广告精准投放(正样本为 “目标用户”): 希望目标用户尽可能都被找出来、即实际正样本预测正确,需要关注召回率;同时,希望预测的正样本中实际都尽可能为正样本,需要关注精确率
    Ø 异常消费检测 (正样本为 “异常消费”): 希望判断为正常的消费(负样本)中尽可能不存在异常消费,还需要关注特异度

不同时候看的指标不一样,需要具体问题具体分析

模型选择与优化

在模型创建过程中有三大核心问题需要注意

python机器学习之模型选择与优化_第31张图片

算法选择

python机器学习之模型选择与优化_第32张图片

建模前检查

在这个过程,模型表现属于结果,如表现不好,需要从前往后找问题数据:是否有问题、算法选的是否合适、核心结构与参数是否合理
python机器学习之模型选择与优化_第33张图片

在这里插入图片描述

  • 上游决定下游,建模前五检查:

1、样本代表性:采集数据的方法是否合理,采集到的数据是否有代表性
2、标签统一化:对于样本结果,要确保每个样本都遵循一样的标签规则
3、数据合理性:样本中的异常数据点是否合理、如何处理
4、数据重要性:数据属性的意义,是否为无关数据
5、属性差异性:不同属性数据的数量级差异性如何

  • 对于异常5检查,可以用以下方法进行尝试:

1、根据实际场景扩充或减少样本(数据质量提升,有助于提高模型表现)
2、对不合理标签数据进行预处理(帮助模型学习到正确信息(合理的“监督”))
3、删除不重要的属性数据、数据降维(降低噪声影响、减少过拟合、节约运算时间)
4、对数据进行归一化或标准化(平衡数据影响,加快训练收敛)
5、过滤掉异常数据(降低噪声影响、提高鲁棒性)

python机器学习之模型选择与优化_第34张图片

关于后3检查的示例

在这里插入图片描述

根据芯片尺寸1、尺寸2参数识别次品
python机器学习之模型选择与优化_第35张图片

  • 异常数据处理
    python机器学习之模型选择与优化_第36张图片
  • 不同属性数据量级比较
    python机器学习之模型选择与优化_第37张图片
  • 数据降维分析
    python机器学习之模型选择与优化_第38张图片
  • 多模型对比

对于不同算法,应用场景不同,因此可以多尝试不同的模型进行训练,找到最优解

不适合的基本情况(模型表现属于结果,如表现不好,需要从前往后找问题:数据是否有问题、算法选的是否合适、核心结构与参数是否合理
python机器学习之模型选择与优化_第39张图片
python机器学习之模型选择与优化_第40张图片
- 单一模型的核心参数优化
KNN模型,可以尝试不同的K值

python机器学习之模型选择与优化_第41张图片
在该情况下K越小,训练数据的预测准确率越高,但测试数据准确率可能下降(过拟合)
python机器学习之模型选择与优化_第42张图片

提高模型表现的四要素

python机器学习之模型选择与优化_第43张图片

你可能感兴趣的:(数据分析,机器学习,python,机器学习,人工智能)