分类预测 | MATLAB实现LSTM长短期记忆神经网络多特征分类预测

简介: 分类预测 | MATLAB实现LSTM长短期记忆神经网络多特征分类预测

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

一种基于长短期记忆(LSTM)模型的多标签行业分类方法及装置,其方法包括:采集公司名,公司描述,公司经营范围数据;按类划分测试集,以及对所述采集的数据进行切分词等预处理操作;采用LSTM模型构建多个二分类器对所述预处理后的数据进行分类训练,以训练数据真实标签作为寻优方向,训练出多标签行业分类模型;以精度,召回率和F1值作为评估指标,实现对测试集数据的自动评估,并采集小部分新公司数据抽样进行人工评估,最终训练出精度更高的多标签行业分类模型;利用基于LSTM的多标签行业分类模型自动实现对待分类公司的多个行业标签预测.本发明的实施可大大降低人工标注成本,提高分类精度,且符合大多数公司非单一行业,而具有多个行业属性的情况.

⛄ 部分代码

% @=============================================================================

%

% Reference: Identifying Neuroimaging Biomarkers of Major Depressive Disorder

%            from Cortical Hemodynamic Responses

%            Using Machine Learning Approaches

%

% =============================================================================@

%

% This function is developed by Optical Imaging Lab, BME, NUS

% https://wiki.nus.edu.sg/display/OIL/NUS+Optical+Bioimaging+Laboratory

% The data is provided by fNIRS imaging team, iHealthTech, NUS

% https://ihealthtech.nus.edu.sg/

%

% @=============================================================================

function main()

   clc; clear; close all;

   

   % Add current path and all subfolders to the path.

   addpath(genpath(pwd));

   

   % -----------------------------------------------------------------

   % Pre-processed NIRS signals by: linear fitting, moving average, and

   %   removing artifact channels.

   % The generated ∆HbO dataset:

   %   samples_52ch_HbO.mat

   

   

   % -----------------------------------------------------------------

   % Three steps of fNRIS signals analysis for differing MDDs from HCs

   step = 3;

   

   if step == 1

       Method1_RankingFeatures();

       

   elseif step == 2

       Method2_GASelection();

       

   elseif step == 3

       Validation();

       

   end

   

end




%% ===================================================================

% Feature Selection Method I: Ranking Features by Statistical Test

%

function Method1_RankingFeatures()

   %   (1) A data matrix consists of 52 channels × 16 variables was extracted.

   %   (2) Statistical test was applied to find the significantly different

   %       channels on each variable, and subsequently generate feature channels

   %       as predictors for a classifier.

   stat_result = statistics_test_feature();

   % Results:

   %           Supplementary Figure 1 - Color Map

   %           Supplementary Figure 2 - count_sigdiff_channels

   %           Supplementary Table 3 - hc_cf_mstd, mdd_cf_mstd, pvalues_cluster

   

   

%     % generate feature set with significant difference

%     generate_sigdiff_feature(stat_result.feature_names, ...

%                               stat_result.diff_feature_cluster, ...

%                               stat_result.count_sigdiff_channels);

   


   %   (3) Five supervised models were implemented to learn pattern

   %       from feature channels

   %   (6)(10) Performances were evaluated by five-fold cross-validation and

   %       prediction accuracy

   data_type       = 'sigdiff_feature_topsigch';   % 'sigdiff_feature_topcluster'

   feature_type    = 'feature_channel';

   feature_fname   = 'featureset_sigdiff_5ch.mat';

   integral_type   = '';

   centroid_type   = '';

   model_type      = 'funcfit_nb';

   [pred_train, pred_test] = test_feature_performance(data_type, ...

                               feature_type, feature_fname, ...

                               integral_type, centroid_type, ...

                               model_type);

   % Result: Supplementary Table 6

   

   %   (10) performances were estimated by nested cross-validation

   [result_inner_cv, result_outer_train, result_outer_test] =      ...

                             nested_crossvalidation(data_type,     ...

                               feature_type, feature_fname,        ...

                               '', '', model_type);

   % Result: Supplementary Table 6

end



%% ===================================================================

% Feature Selection Method II: Two-phase Feature Selection by Genetic Algorithm

%    

function Method2_GASelection()

   % -------------- Phase-One --------------

   % The input is the candidate channels from one of the 10 significant variables,

   % while the output is a channel subset of the specific variable.

   % The optimization of channel selection was performed over all 10 variables.

   data_type       = 'integral';

   feature_type    = 'feature_channel';

   feature_fname   = '';

   integral_type   = 'integral_stim';

   centroid_type   = '';

   model_type      = 'funcfit_svm';

   func_pop        = @func_population_rand;

   binary_ga(data_type, feature_type, feature_fname, ...

               integral_type, centroid_type, model_type, func_pop);

   % Result: ga_ma50_integral_stim__svm_0.7316_0.7363.mat, etc.

   

   % -------------- Phase-Two --------------

   % The selected channel subsets from 10 significant variables were then

   % combined into a feature set, i.e., fusion features.

   generate_fusion_feature('svm');

   % Result: fusion_10variants_svm.mat, etc.

   

   % GA learned which feature channels contributed best to the accuracy

   % of a supervised model.

   data_type       = 'fusion_feature';

   feature_type    = 'feature_channel';

   feature_fname   = 'fusion_10variants_svm.mat';

   model_type      = 'funcfit_svm';

   func_pop        = @func_population_optm;

   binary_ga(data_type, feature_type, feature_fname, ...

                '', '', model_type, func_pop);

   % Results:  

   %           ga_fusion_features_svm_0.8053_0.7802.mat, etc.

   %           Supplementary Figure 3

end



%% ===================================================================

% Validate the Performance of Optimal Features

%

function Validation()

   % -----------------------------------------------------------------

   % Classification performances were reported by the

   % 5-fold cross-validation in training set and

   % prediction accuracy in test set.

   data_type       = 'ga_optimal_feature';

   feature_type    = 'feature_channel';

   feature_fname   = 'ga_fusion_features_svm_0.8053_0.7802.mat';

   model_type      = 'funcfit_svm';

   [pred_train, pred_test] = test_feature_performance(data_type,   ...

                               feature_type, feature_fname,        ...

                               '', '', model_type);

   % Result: TABLE 1 of main text

   

   % ----------------------------------------------------------------------

   % Classification performances were estimated by nested cross-validation

   [result_inner_cv, result_outer_train, result_outer_test] =      ...

                             nested_crossvalidation(data_type,     ...

                               feature_type, feature_fname,        ...

                               '', '', model_type);

   % Result: TABLE 1 of main text

   

   

   % -------------- Characteristics of optimal feature --------------

   p1_fus_feature_fname = 'fusion_10variants_svm.mat';

   p2_opt_feature_fname = 'ga_fusion_features_svm_0.8053_0.7802.mat';

   [pvalues_optfeatures, pvalues_roifeatures, ...

           hc_roi, mdd_roi, count_common_channels] = ...

       test_optimalfeature(p1_fus_feature_fname, p2_opt_feature_fname);

   % Results:

   %           Figure 2 of main text -- hc_roi, mdd_roi

   %           Figure 3 of main text -- count_common_channels

   %           Supplementary Table 4 -- hc_roi, mdd_roi, pvalues_roifeatures

   

   

   % -------------- Common features between different models --------------

%     test_common_features();

end

⛄ 运行结果

⛄ 参考文献

[1]易思宇. 基于LSTM心冲击信号的心率异常分类方法的研究.

[2]彭燕虹, 潘嵘, 周赖靖竞,等. 一种基于长短期记忆(LSTM)模型的多标签行业分类方法及装置:, CN106777335A[P]. 2017.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
12天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
145 80
|
18天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
58 31
|
5天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
8天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
26天前
|
机器学习/深度学习 算法 Python
基于BP神经网络的金融序列预测matlab仿真
本项目基于BP神经网络实现金融序列预测,使用MATLAB2022A版本进行开发与测试。通过构建多层前馈神经网络模型,利用历史金融数据训练模型,实现对未来金融时间序列如股票价格、汇率等的预测,并展示了预测误差及训练曲线。
|
24天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
2天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
28天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-GRU网络的数据分类识别算法matlab仿真
本项目展示了使用MATLAB2022a实现的贝叶斯优化、CNN和GRU算法优化效果。优化前后对比显著,完整代码附带中文注释及操作视频。贝叶斯优化适用于黑盒函数,CNN用于时间序列特征提取,GRU改进了RNN的长序列处理能力。
|
12天前
|
机器学习/深度学习 人工智能 算法
基于GRNN广义回归网络和MFCC的语音情绪识别matlab仿真,对比SVM和KNN
该语音情绪识别算法基于MATLAB 2022a开发,可识别如悲伤等情绪,置信度高达0.9559。核心程序含中文注释及操作视频。算法采用MFCC特征提取与GRNN广义回归网络,通过预加重、分帧、加窗、FFT、梅尔滤波器组、对数运算和DCT等步骤处理语音信号,实现高效的情绪分类。

热门文章

最新文章