基于模式分类的双支持向量机(Matlab代码实现)
💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
目录
文献来源:
💥1 概述
一种二进制SVM分类器,通过解决两个相关的SVM类型问题来确定两个非平行平面,每个问题都比传统SVM中的小。Twin SVM公式是通过广义特征值实现近端SVM的精神。在几个基准数据集上,Twin SVM不仅速度快,而且具有良好的泛化能力。双SVM对于自动发现数据的二维投影也很有用。
📚2 运行结果
clc;clearvars;close all;
rng default;
% Read Data
run('data_heartstatlog.m');
% Get Data and Labels
features=data(:,1:end-1);
labels=data(:,end);
% Normalize labels
labels(labels==2)=-1;
% Separate training and test data (80:20 split)
total_samples=size(features,1);
train_samples=round(0.8*total_samples);
% Define training and test samples
xTrain=features(1:train_samples,:);
yTrain=labels(1:train_samples,:);
xTest=features(train_samples+1:end,:);
yTest=labels(train_samples+1:end,:);
% Define hyperparameter values
C1=0.1; C2=0.05;
% Run Twin SVM (Linear)
[ yPred, accuracy ] = LinearTWSVM( xTrain, yTrain, xTest, yTest, C1, C2 );
disp('Accuracy (Linear) is');
accuracy
% Run Twin SVM (Kernel)
kernel_type=3; kernel_param=0.95;
% Run Kernel Twin SVM
[ yPred, accuracy ] = KernelTWSVM( xTrain, yTrain, xTest, yTest, C1, C2, kernel_type, kernel_param );
disp('Accuracy (Kernel) is');
accuracy
Heart statlog data in use
Accuracy (Linear) is
accuracy =
83.3333
Accuracy (Kernel) is
accuracy =
75.9259
>>
clc;clearvars;close all;
rng default;
% Read Data
run('data_heartstatlog.m');
% Get Data and Labels
features=data(:,1:end-1);
labels=data(:,end);
% Normalize labels
labels(labels==2)=-1;
% Separate training and test data (80:20 split)
total_samples=size(features,1);
train_samples=round(0.8*total_samples);
% Define training and test samples
xTrain=features(1:train_samples,:);
yTrain=labels(1:train_samples,:);
xTest=features(train_samples+1:end,:);
yTest=labels(train_samples+1:end,:);
% Define hyperparameter values
C1=0.1; C2=0.05;
% Run Twin SVM (Linear)
[ yPred, accuracy ] = LinearTWSVM( xTrain, yTrain, xTest, yTest, C1, C2 );
disp('Accuracy (Linear) is');
accuracy
% Run Twin SVM (Kernel)
kernel_type=3; kernel_param=0.95;
% Run Kernel Twin SVM
[ yPred, accuracy ] = KernelTWSVM( xTrain, yTrain, xTest, yTest, C1, C2, kernel_type, kernel_param );
disp('Accuracy (Kernel) is');
accuracy
Heart statlog data in use
Accuracy (Linear) is
accuracy =
83.3333
Accuracy (Kernel) is
accuracy =
75.9259
>>
🎉3 参考文献
[1]Jayadeva, Khemchandani, R., and Suresh Chandra. "Twin support vector machines for pattern classification." IEEE Transactions on pattern analysis and machine intelligence 29.5 (2007): 905-910.
🌈4 Matlab代码实现
相关文章
- matlab 点云粗配准(7)—— 基于ISS关键点的FGR快速全局配准
- 【鲁棒优化】基于联合聚类和定价的鲁棒功率控制方法(Matlab代码实现)
- 【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现)
- 基于未知环境下四旋飞行器运动规划应用研究(Matlab代码实现)
- 【无人机】考虑有效载荷功率的太阳能无人机研究(Matlab代码实现)
- 基于视觉显著性图和加权最小二乘优化的红外与可见光图像融合(Matlab代码实现)
- m基于matlab的站点休眠中继CDMA网络动态节能控制算法仿真与性能分析
- 基于mnist手写数字数据库的深度学习网络训练和数字识别matlab仿真
- 【光波电子学】MATLAB绘制光纤中线性偏振模式LP之多模光纤的电场分布(光斑)
- 【光波电子学】MATLAB绘制光纤中线性偏振模式LP之单模光纤的电场分布(光斑)
- 黏菌优化算法SMA(Python&Matlab完整代码实现)
- 【无人船】基于模型预测控制(MPC)对USV进行自主控制(Matlab代码实现)
- 【信号处理】天线分集与空时编码技术——Alamouti空时块码(matlab代码实现)
- 具有交叉信号模式的色散信号的群延迟(色散曲线)估计和模式分离(Matlab代码实现)
- 【车间调度】基于黏菌算法算法和变邻域搜索的柔性作业车间调度研究(Matlab代码实现)