news 2026/4/1 18:48:40

熵特征提取算法对比详解:从原理到实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
熵特征提取算法对比详解:从原理到实战

一、熵的概念与特征提取基础

1.1 信息熵的起源与定义

信息熵的概念最早由克劳德·香农于1948年在其开创性论文《通信的数学理论》中提出,用于解决信息量化问题。熵本质上是对系统不确定性或混乱程度的度量。在信息论中,熵表示信息的不确定性,即信息量的期望值。

信息熵的数学定义如下:对于离散随机变量X,其概率分布为P(X=xi) = pi,则信息熵H(X)定义为:

H(X) = -Σpi * log(pi)

其中对数通常以2为底,单位是比特(bit),也可以以e为底,单位是奈特(nats)。

从特征提取的角度看,信息熵提供了一个重要洞察:熵值越大,系统的不确定性越高,包含的信息量越少;反之,熵值越小,系统的确定性越强,可能包含更多有意义的信息。这一原理成为各种熵特征提取算法的基础。

1.2 熵特征提取的基本思想

在信号处理领域,熵特征提取的基本思想是:通过计算信号在不同变换域或特征空间的熵值,来量化信号的复杂性、随机性或规律性。不同类型的熵从不同角度揭示信号特性,从而适用于各种应用场景。

传统的时域特征(如均值、方差)和频域特征(如频谱重心)虽然有用,但难以捕捉信号的复杂动态特性。而熵特征能够有效表征信号的非线性动态特性,在机械设备故障诊断、生物医学信号分析、金融时间序列预测等领域展现出独特优势。

表1:熵特征与传统特征的比较

特征类型描述重点计算复杂度适用场景
时域特征信号幅值统计特性简单振动分析、基本信号分析
频域特征信号频率分布特性周期性分析、频谱分析
熵特征信号复杂度和不确定性非线性系统、复杂动态分析

二、单变量熵特征算法

2.1 近似熵(Approximate Entropy, ApEn)

近似熵是由Pincus于1991年提出,用于度量时间序列的复杂性和规律性。其核心思想是:通过比较信号中模式重复出现的概率来评估序列的复杂性

2.1.1 算法原理

近似熵的计算步骤如下:

  1. 序列重构:给定长度为N的时间序列{u(i), i=1,2,…,N},重构m维向量:X(i) = [u(i), u(i+1), …, u(i+m-1)],其中m为嵌入维数。
  2. 距离计算:计算向量X(i)与X(j)之间的距离d[X(i), X(j)],通常使用切比雪夫距离。
  3. 相似度判断:对于每个i,统计d[X(i), X(j)] ≤ r的个数,并计算其与总数N-m+1的比值,记为Cᵢᵐ®。
  4. 概率计算:取所有Cᵢᵐ( r )的对数,并求平均值:φᵐ ( r ) = (N-m+1)⁻¹ × Σln[Cᵢᵐ( r )]。
  5. 近似熵计算:ApEn(m, r, N) = φᵐ( r ) - φᵐ⁺¹( r )。
2.1.2 参数选择与MATLAB实现

近似熵计算中,嵌入维数m通常取1或2,阈值r一般取0.1-0.25倍信号标准差。MATLAB实现代码如下:

functionApEn=approximateEntropy(data,m,r)% 近似熵计算函数% 输入:data - 输入信号,m - 嵌入维数,r - 阈值% 输出:ApEn - 近似熵值N=length(data);phi_m=0;phi_m1=0;% 计算m维情况下的φ值fori=1:N-m+1pattern_m=data(i:i+m-1);count=0;forj=1:N-m+1pattern_j=data(j:j+m-1);ifmax(abs(pattern_m-pattern_j))<=r count=count+1;endendC_i=count/(N-m+1);phi_m=phi_m+log(C_i);endphi_m=phi_m/(N-m+1);% 计算m+1维情况下的φ值fori=1:N-m pattern_m1=data(i:i+m);count=0;forj=1:N-m pattern_j=data(j:j+m);ifmax(abs(pattern_m1-pattern_j))<=r count=count+1;endendC_i=count/(N-m);phi_m1=phi_m1+log(C_i);endphi_m1=phi_m1/(N-m);ApEn=phi_m-phi_m1;end
2.1.3 优缺点与应用场景

近似熵的主要优点是算法相对简单,对数据量要求不高。但也存在明显缺点:结果缺乏一致性,对参数选择敏感,且容易产生偏差

近似熵广泛应用于生物医学信号处理,如心电图(ECG)分析、脑电图(EEG)复杂度评估,以及机械设备振动信号监测。

2.2 样本熵(Sample Entropy)

样本熵是Richman和Moorman于2000年对近似熵的改进算法,解决了近似熵的两个主要问题:偏差性和不一致性

2.2.1 算法原理与改进

样本熵的改进主要体现在:

  1. 排除自匹配:在计算相似模式时,排除向量与自身的比较,消除偏差。
  2. 一致性计算:在m维和m+1维空间中使用相同的阈值条件,确保结果一致性。

样本熵计算公式为:

SampleEn(m, r, N) = -ln[Aᵐ(r)/Bᵐ(r)]

其中Bᵐ®是m维空间中的模板匹配数,Aᵐ®是m+1维空间中的模板匹配数。

2.2.2 MATLAB实现代码
functionSampEn=sampleEntropy(data,m,r)% 样本熵计算函数% 输入:data - 输入信号,m - 嵌入维数,r - 阈值% 输出:SampEn - 样本熵值N=length(data);% 数据标准化(可选,使r与标准差相关)% data = (data - mean(data)) / std(data);B=0;A=0;% 计算m维情况下的匹配数fori=1:N-m pattern_i=data(i:i+m-1);forj=1:N-mifi==jcontinue;% 排除自匹配endpattern_j=data(j:j+m-1);ifmax(abs(pattern_i-pattern_j))<=r B=B+1;endendend% 计算m+1维情况下的匹配数fori=1:N-m-1pattern_i=data(i:i+m)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/26 10:37:54

跳出局部优化思维:构建高性能大规模RAG系统的系统级方法论!

简介 文章指出大规模RAG系统延迟优化需跳出局部思维&#xff0c;采用系统级解决方案。通过检索阶段优化&#xff08;多级召回、混合检索&#xff09;、上下文管理&#xff08;重排序、压缩&#xff09;、生成阶段加速&#xff08;高效推理框架、量化&#xff09;及多级缓存策略…

作者头像 李华
网站建设 2026/3/13 16:07:23

如何在快速变化的技术环境中保持相关性

如何在快速变化的技术环境中保持相关性 关键词:快速变化技术环境、保持相关性、技术学习、职业发展、技术趋势 摘要:在当今快速变化的技术环境中,技术更新换代的速度日新月异,这给从业者带来了巨大的挑战。本文旨在深入探讨如何在这样的环境中保持相关性,详细介绍了核心概…

作者头像 李华
网站建设 2026/3/15 17:21:18

告警通知方式:邮件、短信、Slack、钉钉等告警通知方式的配置

告警通知方式&#xff1a;邮件、短信、Slack、钉钉等告警通知方式的配置 在现代监控体系中&#xff0c;告警不仅要“触发”&#xff0c;更要“送达”。选择合适的通知渠道&#xff0c;能显著提升运维响应速度与团队协作效率。本文将从邮件、短信、Slack、钉钉四类常见告警方式…

作者头像 李华