工业大数据分析算法实战-day08

news2024/12/19 7:07:16

文章目录

  • day08
    • 模型评价
    • 聚类算法
      • 基于距离的聚类
      • 基于层次的聚类
      • 基于密度的聚类
      • 基于分布的聚类
      • 聚类结果的评价

day08

今天是第8天,昨日阐述了概率图模型和集成学习的分类,主要讲解了有向图和无向图,生成式模型和判断式模型,以及集成学习中重点的boosting代表算法和stacking的方式,今日重点阐述的是模型评价指标和聚类算法,模型评价是模型开发过程中不可或缺的部分,有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。而聚类是一直无监督的算法,将一组数据对象根据其特征分为不同的簇。

模型评价

评价指标的划分,针对分类、回归问题

问题类型评价指标描述常用场景
分类问题(研判型)准确率(Accuracy)预测正确的样本占总样本的比例,常用于衡量模型的整体性能。适用于大多数分类任务,如垃圾邮件分类、图片分类、文本分类等。
精确率(Precision)预测为正类(如垃圾邮件)中实际为正类的比例,衡量假阳性。关注错误分类为正类的影响,如垃圾邮件分类、欺诈检测等。
召回率(Recall)实际为正类中被正确预测为正类的比例,衡量假阴性。关注漏掉正类的影响,如疾病诊断、癌症筛查等。
F1值(F1-Score)精确率和召回率的调和平均值,平衡了精确性和召回能力。精确率和召回率同等重要时使用,如疾病检测、诈骗检测等。
分类问题(生成型)最大似然估计(MLE)通过最大化观测数据在模型下的似然函数来估计模型参数。生成模型训练,如文本生成、图像生成、语音合成等。
最大后验估计(MAP)结合数据和先验知识,通过最大化后验概率来估计模型参数。生成模型,尤其是结合先验知识时,如自然语言生成、图像生成等。
交叉熵(Cross-Entropy)衡量预测分布与真实分布之间的差异,常用于分类任务和生成模型训练。生成模型训练,如图像生成、文本生成、语音生成等。
KL散度(Kullback-Leibler Divergence)衡量两个概率分布的差异,用于生成模型评估,越小越好。生成模型,特别是变分自编码器(VAE)、生成对抗网络(GAN)等任务。
回归问题均方误差(MSE)计算预测值与真实值差异的平方的平均,对大误差更敏感。适用于数值预测任务,如房价预测、温度预测、销售额预测等。
平均绝对误差(MAE)计算预测值与真实值的差的绝对值的平均,对异常值的敏感度较低。适用于数值预测任务,特别是对异常值不敏感的任务,如房价预测、收入预测等。
决定系数(R²)衡量回归模型对数据的拟合程度,值越接近1说明模型越好。适用于回归分析,如股票价格预测、销量预测、经济指标预测等。

结构惩罚方法的目标是帮助我们选择合适的模型,避免模型过于复杂导致的“过拟合”

评价指标描述优点缺点示例及通俗解释
AIC(赤池信息量准则)衡量模型的拟合优度与复杂度的平衡,值越小越好。 AIC = 2k - 2ln(L),其中k是模型参数个数,L是模型的似然函数值。对比多个模型时,AIC能帮助选择最合适的模型,且计算简单。在样本量较小的情况下,AIC可能会选择过于复杂的模型。比如预测房价时,如果使用的模型有太多不必要的变量(如房子的颜色),AIC会对这些不重要的变量进行惩罚,减少过拟合的风险。
BIC(贝叶斯信息准则)和AIC类似,BIC也用于衡量模型复杂度与拟合优度之间的平衡。与AIC不同,BIC在复杂度的惩罚上更严格。比AIC更加严格,适用于样本量较大的情况,避免过拟合。在数据量较少时,BIC可能会选择过于简单的模型,导致欠拟合。比如在一个大数据集上,BIC可能会拒绝一个复杂的模型,推荐一个更简单的模型,尽管这个简单模型可能无法完全拟合数据。
SIC(施瓦茨信息准则)是BIC的一种变体,适用于大样本数据,结构上类似于BIC,但对模型复杂度的惩罚更加严厉。对大数据集尤其有效,能够更好地选择复杂度合适的模型。和BIC类似,适用于大样本数据,小样本数据可能过度简化模型。类似于BIC,假如你有一个大样本的营销数据,SIC会更倾向于推荐一个简洁但表现良好的模型。
MDL(最小描述长度)基于信息论的原则,选择能够最小化模型和数据的描述长度的模型。描述长度包括模型的复杂度和拟合数据所需的信息量。强调模型的简洁性,特别适用于需要考虑压缩和存储的场景。理解和计算较为复杂,通常需要更多的先验知识。假设我们想压缩一个视频文件,MDL会帮助选择一个既能压缩数据又能保留重要信息的模型,避免压缩过度导致信息丢失。

常用的模型效果的评价方法

方法名称描述优点缺点
Hold-out(留出法)将数据分为训练集和测试集,训练集用来训练模型,测试集用来评估模型表现。简单、易理解。测试集可能不具代表性,可能导致评估结果偏差。
K-fold交叉验证将数据分成K个子集,每次用K-1个子集训练,剩余一个子集用于测试,重复K次。能更全面地评估模型,减少因数据划分引起的偏差。计算成本较高,特别是当K较大时。
LOO交叉验证每次用一个样本作为测试集,剩余样本用于训练,通常用于样本量较小的情况。充分利用每一个样本,尤其适用于数据较少时。计算开销大,尤其在数据量较大的时候。
Bootstrap(自助法)通过随机抽取数据生成多个子集进行训练和测试,适用于小样本数据。能评估模型在不同数据上的表现,适用于小样本数据。计算开销大,可能会导致一定的过拟合风险。

常见的特征重要度的识别方法

方法名称描述优点缺点适用模型举例
随机森林重要度基于随机森林算法,评估每个特征对模型的贡献。易于计算,适用于各种数据类型,能够处理数值型和类别型数据。主要适用于树模型,其他模型难以直接应用,忽视特征间复杂关系。随机森林、决策树等在房价预测中,面积特征的重要性较高。
基于排列的重要度通过扰动特征顺序来评估其对模型性能的影响。适用于任何模型,能够提供全局性的特征重要性评估。计算成本高,尤其在数据量大时,无法捕捉复杂的特征交互。任何机器学习模型(回归、分类、神经网络等)在回归模型中,打乱面积特征后,模型性能显著下降,表明面积重要性高。
SHAP(Shapley值)不仅考虑该特征单独对预测的影响,还考虑它与其他特征的交互作用。会综合所有可能的特征组合,计算每个特征对最终预测的贡献。这一过程会对每个特征进行多次计算和加权,最后得到每个特征的SHAP值提供细粒度的解释,适用于复杂模型,解释模型决策过程。计算复杂,尤其在深度学习中,资源消耗较大。任何机器学习模型,尤其是深度学习和复杂模型在信用评分预测中,SHAP解释收入和债务对预测结果的贡献。

聚类算法

聚类的简单分类为:基于距离、层次、密度、分布,另外还有一些基于集成、分形理论的、模型的聚类算法

基于距离的聚类

基于距离的聚类方法是通过计算数据点之间的距离或相似度来决定哪些数据点属于同一簇。这种方法的核心思想是:相似的点应该被聚成一个簇,不相似的点应该分到不同的簇

K-means 聚类

  • 原理:K-means 聚类算法的目标是最小化每个簇内的点与簇中心(均值点)之间的距离。首先随机选择 K 个初始簇中心,然后根据每个数据点到这些中心的距离将数据点分配到最近的簇。接着,重新计算每个簇的中心点(簇内所有点的均值),然后重复以上步骤,直到簇中心不再变化。
  • 优点
    • 计算速度较快,适用于大规模数据。
    • 算法简单,易于实现。
  • 缺点
    • 需要事先指定簇的数量 K,且对 K 的选择非常敏感。
    • 对异常值和噪声数据敏感,异常值可能导致簇中心偏移。
    • 可能陷入局部最优解,尤其是当初始簇中心选择不当时。
  • 应用场景:适用于簇形状比较规则(即簇是凸形状的)的数据,如图像压缩、客户分群等。

PAM(Partitioning Around Medoids)

  • 原理:PAM 是另一种基于距离的聚类算法,类似于 K-means,但不同的是,PAM 选择数据点本身作为簇的“代表点”或“中心点”,而不是均值。每次聚类时,通过计算每个点到所有代表点的距离,选择最能代表簇的点作为中心。PAM 不使用均值,而是选择簇内实际存在的点作为中心,这使得它对异常值更不敏感。
  • 优点
    • 比 K-means 对异常值更鲁棒。
    • 适用于小规模数据集,尤其当簇的数量较少时。
  • 缺点
    • 计算开销较大,尤其在数据量很大时,效率较低。
  • 应用场景:适用于小规模数据集或者对噪声点敏感的场景。

基于层次的聚类

基于层次的聚类方法通过构建层次结构(如树形结构)来描述数据之间的相似性。这类方法的关键在于选择合适的策略来决定簇的合并或分裂。

分裂层次聚类(自顶向下)

  • 原理:分裂层次聚类从一个整体的簇开始,每次选取最不相似的数据点或簇,进行分裂,直到达到预设的簇数。一般来说,分裂层次聚类会根据某种标准(如最小化簇内的差异性)来选择分裂点。
  • 优点
    • 直观的聚类过程,容易理解。
    • 无需事先指定簇的数量。
  • 缺点
    • 计算复杂度较高,尤其在数据量较大时。
    • 聚类过程的决策是自顶向下的,可能会导致分裂的效果不佳,不能很好地适应一些实际数据的分布。

凝聚层次聚类(自底向上)

  • 原理:凝聚层次聚类从每个数据点开始,每次将两个最相似的簇合并成一个新的簇,直到所有点都合并成一个簇,或者达到预定的簇数。合并的过程依赖于一种相似性度量,例如欧几里得距离、曼哈顿距离等。
  • 优点
    • 不需要预设簇的数量。
    • 通过层次树(Dendrogram)可以直观地展示不同簇的合并过程。
  • 缺点
    • 计算复杂度较高(通常是 O(n^3)),对大规模数据集不适用。
    • 对噪声和异常值较为敏感。
  • 应用场景:适合小到中等规模的数据集,尤其是在树状图或层次结构非常重要的场景,如文档聚类、基因数据聚类等。

基于密度的聚类

基于密度的聚类方法通过计算数据点的密度来识别簇的边界。密度较高的区域通常被认为是簇,而稀疏区域则可能是噪声。该类方法能有效发现形状不规则的簇,并且能够自动识别噪声。

DBSCAN(密度聚类)

  • 原理:DBSCAN(Density-Based Spatial Clustering of Applications with Noise)通过两个参数来定义密度:ε(邻域半径)minPts(邻域内的最小点数)。DBSCAN 首先识别“核心点”——在指定的半径 ε 内包含至少 minPts 个点的点,然后从核心点扩展簇,最终形成簇。没有足够邻居的点被认为是噪声点。
  • 优点
    • 不需要指定簇的数量,可以自动发现任意形状的簇。
    • 能够有效处理噪声数据。
  • 缺点
    • 对参数选择非常敏感,特别是对 ε 和 minPts 的选择。
    • 在密度变化较大的数据集上,效果较差。
  • 应用场景:适用于簇形状不规则的场景,如地理数据分析、图像分割等。

OPTICS(可扩展的密度聚类)

  • 原理:OPTICS 是 DBSCAN 的改进,能够在不同的密度阈值下生成聚类。与 DBSCAN 不同,OPTICS 不直接给出簇,而是生成一个“可达性图”(相当于每个点到下一个点的有向图,距离越小越保留),表示在不同的密度范围下,点之间的相对密度关系。基于这个图,可以后续进行聚类分析。
  • 优点
    • 解决了 DBSCAN 对参数敏感的问题。
    • 可以处理不同密度的簇。
  • 缺点
    • 生成的可达性图较为复杂,需要额外的计算和分析。
  • 应用场景:适用于复杂的地理数据聚类、需要多层次密度分析的场景。

Mean-shift(均值漂移)

  • 原理:Mean-shift 是一种基于密度的非参数聚类算法,它通过不断地调整每个数据点的“窗口”中心向密度最大的方向移动,直到达到某个密度峰值。窗口大小(即带宽)是该算法的关键参数。
  • 优点
    • 不需要预先指定簇的数量。
    • 能够发现任意形状的簇,适应性强。
  • 缺点
    • 计算开销大,尤其在高维数据上。
    • 窗口大小的选择对聚类结果有较大影响。
  • 应用场景:适用于形状不规则的簇,图像处理、视频分析等领域。

基于分布的聚类

基于分布的聚类方法假设数据点来自于多个概率分布,通常是高斯分布,通过拟合数据的概率分布来识别簇。

GMM(高斯混合模型)

  • 原理:GMM 假设数据是由多个高斯分布(或正态分布)混合而成的,每个簇被认为是一个高斯分布。GMM 使用 EM(期望最大化)算法来估计每个簇的参数(均值、方差和权重)。每个数据点根据它到不同高斯分布的概率被分配到一个簇中。
  • 优点
    • 适用于高斯分布的数据。
    • 能够处理簇的形状不规则,并可以给出每个点属于某个簇的概率。
  • 缺点
    • 需要事先指定簇的数量。
    • 对异常值敏感,且对于非高斯分布的数据效果不好。
  • 应用场景:适用于数据呈现高斯分布的场景,如图像处理、语音识别、异常检测等。

聚类结果的评价

聚类算法的效果需要通过各种指标来评价。可以分为内部评价指标和外部评价指标。

  • 内部评价指标:用于评估聚类结果本身的质量,而不依赖于外部标签。
    • DB指标(Davies-Bouldin Index):衡量簇的紧凑度和分离度,值越小表示聚类效果越好。
    • 邓恩指标(Dunn Index):衡量簇之间的最小距离与簇内的最大距离之比,值越大越好。
    • 轮廓系数(Silhouette Coefficient):衡量簇的分离度和簇内的凝聚度,值越大表示聚类结果越好。
  • 外部评价指标:根据已有的标签或实际分类结果来评估聚类效果。
    • Rand指标:衡量聚类结果与真实标签之间的一致性,值越高越好。
    • F指标(F-Measure):结合了精确度和召回率,综合评估聚类的准确性。
    • Jaccard指标:计算真实标签与聚类结果的交集与并集的比值,值越大越好。
    • FM指标(Fowlkes-Mallows Index):衡量聚类结果与真实标签的一致性,值越接近 1 表示聚类效果越好。
    • 互信息(Mutual Information):衡量聚类结果与真实标签之间的信息共享程度。
    • 混淆矩阵:用来表示聚类结果与真实标签的对比,通常通过计算精确度、召回率等来进一步分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

零基础开始学习鸿蒙开发-交友软件页面设计

目录 1.找一张网图,确定大致页面设计 2.页面布局代码详细介绍 3.完整的代码如下 4.最终的运行效果如下图所示 5.总结 1.找一张网图,确定大致页面设计 2.页面布局代码详细介绍 2.1 顶部文字与搜索框布局,在顶部采用行Row组件布局&#xf…

大数据之Hbase环境安装

Hbase软件版本下载地址: http://mirror.bit.edu.cn/apache/hbase/ 1. 集群环境 Master 172.16.11.97 Slave1 172.16.11.98 Slave2 172.16.11.99 2. 下载软件包 #Master wget http://archive.apache.org/dist/hbase/0.98.24/hbase-0.98.24-hadoop1-bin.tar.gz…

【Java服务端开发】深入理解Java中的Server 层的详细分析

目录 1. 什么是服务端(Server)层? 2. 设计 Server 层的基本原则 2.1 单一职责原则 2.2 面向接口编程 2.3 事务管理 3. 基于 Spring 的 Server 层实现 3.1 示例:创建一个简单的订单服务 3.2 编写 OrderService 3.3 编写 O…

JAVA:代理模式(Proxy Pattern)的技术指南

1、简述 代理模式(Proxy Pattern)是一种结构型设计模式,用于为其他对象提供一种代理,以控制对这个对象的访问。通过代理模式,我们可以在不修改目标对象代码的情况下扩展功能,满足特定的需求。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什…

XXE练习

pikachu-XXE靶场 1.POC:攻击测试 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe "a">]> <foo>&xxe;</foo> 2.EXP:查看文件 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe SY…

Leetcode打卡:形成目标字符串需要的最少字符串数II

执行结果&#xff1a;通过 题目&#xff1a;3292 形成目标字符串需要的最少字符串数II 给你一个字符串数组 words 和一个字符串 target。 如果字符串 x 是 words 中 任意 字符串的 前缀 &#xff0c;则认为 x 是一个 有效 字符串。 现计划通过 连接 有效字符串形成 targ…

【蓝桥杯】49362.《视频相关度计算》

视频相关性计算 问题描述 小蓝作为异世界最大流媒体网站 LanTube 的高级算法工程师&#xff0c;他想要实现更加精准的视频推荐服务来满足用户的喜好。 其中&#xff0c;**“视频的相关性”**是一个重要指标&#xff0c;它代表了两个视频 A 到 B 的关联程度&#xff0c;记作 f…

ASP.NET|日常开发中数据集合详解

ASP.NET&#xff5c;日常开发中数据集合详解 前言一、数组&#xff08;Array&#xff09;1.1 定义和基本概念1.2 数组的操作 二、列表&#xff08;List<T>&#xff09;2.1 特点和优势2.2 常用操作 三、字典&#xff08;Dictionary<K, V>&#xff09;3.1 概念和用途…

如何将多张图片合并为一个pdf?多张图片合并成一个PDF文件的方法

如何将多张图片合并为一个pdf&#xff1f;当我们需要将多张图片合并为一个PDF文件时&#xff0c;通常是因为我们希望将这些图片整理成一个统一的文档&#xff0c;方便查看、分享或打印。无论是工作中需要提交的报告、学生们需要整理的作业&#xff0c;还是个人收藏的照片、旅行…

【html网页页面013】html+css制作节日主题圣诞节网页含视频、留言表单(独创首发-5页面附效果及源码)

节日主题圣诞节网页制作 &#x1f964;1、写在前面&#x1f367;2、涉及知识&#x1f333;3、网页效果完整效果(5页)&#xff1a;代码目录结构&#xff1a;page1、首页page2、庆祝page3、影响page4、起源page5、留言板 &#x1f308;4、网页源码4.1 html4.2 CSS4.3 源码获取圣诞…

直播预告 | 蓝卓生态说,解锁supOS在化工领域的无限可能

生态是蓝卓生命力的体现&#xff0c;为全方位赋能生态伙伴使用supOS并从中获益&#xff0c;蓝卓打造生态说系列栏目&#xff0c;通过生态沙龙、直播对话、案例剖析、产品解读等&#xff0c;持续展现“12N”的智能工厂创新路径&#xff0c;加速推进工业数字化转型。 嘉宾介绍 朱…

java对子网掩码的转换

一般的子网掩码展示为点分十进制形式&#xff0c;如&#xff1a;255.255.255.0&#xff0c;但有时因为业务需要&#xff0c;我们需要转换成对应的数字&#xff0c;以及数字转成点分十进制&#xff0c;所以整理了java的方法可以进行两者的互相转换 1、点分十进制转数字 public…

亚马逊-用表格创建多变体商品

引言 当我们使用“月亮树选品软件”找到一款不错的产品时&#xff0c;我们会延续这个产品的优点&#xff0c;并对其进行改良。改良之后&#xff0c;我们需要将产品上架到亚马逊平台&#xff0c;以测试这个产品的市场表现。然而&#xff0c;许多亚马逊卖家觉得上传多变体商品这…

使用C#在目录层次结构中搜索文件以查找目标字符串

例程以递归方式搜索目录层次结构中的文件以查找目标字符串。它可以搜索几乎任何类型的文件&#xff0c;即使它不包含 Windows 理解的文本。例如&#xff0c;它可以搜索 DLL 和可执行文件以查看它们是否恰好包含字符串。 下面的代码中显示的ListFiles 方法完成了大部分工作。 …

【深度学习总结】使用PDF构建RAG:结合Langchain和通义千问

【深度学习总结】使用PDF构建RAG&#xff1a;结合Langchain和通义千问 使用平台&#xff1a;趋动云&#xff0c;注册送算力 前言 在大型语言模型&#xff08;LLMs&#xff09;应用领域&#xff0c;我们面临着大量挑战&#xff0c;从特定领域知识的匮乏到信息准确性的窘境&am…

P8772 [蓝桥杯 2022 省 A] 求和

题目描述&#xff1a; 解题思路&#xff1a; 首先这题我们可以直接用两个for循环嵌套来控制两个变量来求值&#xff0c;但是这样做时间复杂度高。这里我们用到了一个前缀和差的方法。通过for循环变量第一个变量&#xff0c;用和差的方法的到第二个量&#xff0c;这样就只用了一…

Flux Tools 结构简析

Flux Tools 结构简析 BFL 这次一共发布了 Canny、Depth、Redux、Fill 四个 Tools 模型系列&#xff0c;分别对应我们熟悉的 ControlNets、Image Variation&#xff08;IP Adapter&#xff09;和 Inpainting 三种图片条件控制方法。虽然实现功能是相同的&#xff0c;但是其具体…

什么是芯片电阻

有人把Chip Resistor翻译成“芯片电阻”&#xff0c;我觉得翻译成“贴片电阻”或“片状电阻”更合适。有些厂商也称之为”电阻片”&#xff0c;英文写作Resistor Chip。比如&#xff1a;Thick film resistor chips&#xff08;厚膜电阻片&#xff09;、Thin film resistor chip…

【Linux】深入理解进程信号机制:信号的产生、捕获与阻塞

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 时间不语&#xff0c;却回答了所有问题 目录 &#x1f4da;前言 &#x1f4da;一、信号的本质 &#x1f4d6;1.异步通信 &#x1f4d6;2.信…

模具生产过程中的标签使用流程图

①NFC芯片嵌入周转筐&#xff0c;通过读卡器读取CK_Label_v3的数据&#xff0c;并将这些信息上传至服务器进行存储&#xff1b; ②服务器随后与客户的WMS&#xff08;仓库管理系统&#xff09;进行交互&#xff0c;记录和同步注塑机的原始数据&#xff1b; ③当周转筐内的模具…