👨🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥



🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。



⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献



💥1 概述

小波变换是从20世纪80年代起逐渐发展成熟的一项数学应用技术,具有对时间—频率的双重分析和多分辨率分析能力,目前已经广泛应用于图像处理、模式识别等多个领域。小波变换的窗口大小固定但形状可改变,因此能够满足时域—频域局部化分析要求。离散小波变换比连续小波变换的去噪效果更好,更适用于实际应用。

小波变换首先通过分解信号,使信号的能量集中在一些大的小波系数中,而噪声的能量分布于整个小波域内;然后通过阈值降噪,选择合适的阈值将有用信号的系数保留,将噪声信号的系数置零,从而去除噪声;最后再对经过阈值降噪后的系数进行重构,得到去除噪声后的信号。

常用的小波基函数有Meyer小波、Coiflet(coif N)小波、Daubechies(db N)小波等。为得到较好的去噪效果,所选取的小波基函数在对心电信号进行分解时,应尽量保留心电信号中的有用分量,同时使噪声分解对应的小波系数差异尽可能大。Coiflet4小波基与心电信号的波形最为相似,同时与输出信号具有良好的相关性,重构后的信号信噪比大、均方误差小,因此本文选用Coiflet4小波基进行小波分解。

📚2 运行结果

python小波变换代码 小波变换特征提取代码_开发语言

python小波变换代码 小波变换特征提取代码_小波变换_02

 

python小波变换代码 小波变换特征提取代码_小波变换_03

python小波变换代码 小波变换特征提取代码_matlab_04

 

python小波变换代码 小波变换特征提取代码_图像处理_05

部分代码:

% Practicum, Task #3, 'Compositions of algorithms'.
 %
 % FUNCTION:
 % [prediction, err] = gradient_boosting_predict (model, X, y)
 %
 % DESCRIPTION:
 % This function use the composition of algorithms, trained with gradient 
 % boosting method, for prediction.
 %
 % INPUT:
 % X --- matrix of objects, N x K double matrix, N --- number of objects, 
 %       K --- number of features.
 % y --- vector of answers, N x 1 double vector, N --- number of objects. y
 %       can have only two values --- +1 and -1.
 % model --- trained composition.
 %
 % OUTPUT:
 % prediction --- vector of predicted answers, N x 1 double vector.
 % error --- the ratio of number of correct answers to number of objects on
 %           each iteration, num_iterations x 1 vector
 %
 % AUTHOR: 
 % Murat Apishev (great-mel@yandex.ru)
 %function [prediction, err] = gradient_boosting_predict (model, X, y)
    num_iterations = length(model.weights);
     no_objects = length(y);
     pred_prediction = zeros([no_objects num_iterations]);    for alg = 1 : num_iterations
         value = zeros([no_objects 1]) + model.b_0;
         for i = 1 : alg
             if strcmp(model.algorithm, 'epsilon_svr')
                 value = value + svmpredict(y, X, model.models{i}) * model.weights(i);
             elseif strcmp(model.algorithm, 'regression_tree')
                 value = value + predict(model.models{i}, X) * model.weights(i);
             end
         end
         pred_prediction(:,alg) = value;
     end
     prediction = pred_prediction(:,end);
     err = zeros([num_iterations 1]);
     if strcmp(model.loss, 'absolute')
         temp = (bsxfun(@minus, pred_prediction, y));
         err = abs(sum(temp)) / no_objects;
     elseif strcmp(model.loss, 'logistic')
         prediction = sign(prediction);
         temp = (bsxfun(@eq, sign(pred_prediction), y));
         err = sum(temp == 0) / no_objects;
     end
     if size(err, 1) == 1
         err = err';
     end
 end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]赵薇. 基于图卷积的运动想象脑电信号分类技术研究[D].河北师范大学,2022.DOI:10.27110/d.cnki.ghsfu.2022.000058.