目标识别与跟踪算法matlab_matlab分类识别算法

b63ba003-6913-eb11-8da9-e4434bdf6706.png

wine.mat

原始数据

b93ba003-6913-eb11-8da9-e4434bdf6706.png

在SVM程序算法中做分类可视化

目前可以选取两个

输入特征

且为做二分类的

问题

才能可视化

例如选取标签为

1、2

的前两列特征作为

输入特征

%%clcclear allload('C:甥敳獲AdministratorDesktopwine1.mat')data1 = wine(1:59,:);data2 = wine(60:130,:);%选择两维进行分类可视化p = 2;q = p+1;%合并样本数据data0=[data1;data2];train_data=data0(:,p:q);train_label=data0(:,1);%原始样本分布图灰度均值与灰度方差figure('NumberTitle', 'on', 'Name','灰度均值与灰度方差');hold on;grid on;plot(data1(:,p),data1(:,q),'*'),plot(data2(:,p),data2(:,q),'+'),title('训练样本数据');

原始数据散点图

分布可视化

be3ba003-6913-eb11-8da9-e4434bdf6706.png

在SVM中

径向基核函数宽度

以及惩罚因子

需要迭代寻优

可采用交叉验证的方式

找到一个较优的组合

%交叉验证部分代码略去%cmd中参量为待优化选取参量cmd = ['-c ',num2str( bestc ),' -g ',num2str( bestg )];model=libsvmtrain(train_label,train_data,cmd); %径向基函数test_label=train_label;test_data=train_data;[predict_label,accuracy,dec_values] = svmpredict(test_label,test_data, model);

训练和预测结束以后

对结果进行可视化呈现

程序设计

%%demension1 = 1;demension2 = 2;minX = min(test_data(:, demension1));maxX = max(test_data(:, demension1));minY = min(test_data(:, demension2));maxY = max(test_data(:, demension2));gridX = (maxX - minX) ./ 100;gridY = (maxY - minY) ./ 100;minX = minX - 10 * gridX;maxX = maxX + 10 * gridX;minY = minY - 10 * gridY;maxY = maxY + 10 * gridY;[denseX, denseY] = meshgrid(minX:gridX:maxX, minY:gridY:maxY);%%model.Parameters(1) = 3; [m,n]=size(denseX);dense_data=[reshape(denseX,m*n, 1), reshape(denseY,m*n,1)];dense_label = ones(m*n,1);%密集点分类model.Parameters(1) = 3;[lab] =svmpredict(dense_label,dense_data, model);dense_pre_lab = reshape(lab, m,n);%%%画分类后的点及SVfigure('NumberTitle', 'on', 'Name','分类结果可视化');hold on;grid on;m=length(predict_label);for i=1:m    if (predict_label(i)==1) %标签为1    a= plot(test_data(i, 1), test_data(i, 2), 'r+');        end    if (predict_label(i)==2) %标签为2      b= plot(test_data(i, 1), test_data(i, 2), 'k*');      endendc= plot( model.SVs(:,1),model.SVs(:,2),'o' );  %支持向量legend([a,b,c],'class1','class2','Support Vectors');[C,h] = contour(denseX, denseY, dense_pre_lab,-1:1);clabel(C,h,'Color','r'); %类似等温曲线图%曲线参数调整xlabel('灰度均值','FontSize',12);ylabel('灰度方差','FontSize',12);title('The visualization of classification','FontSize',12);

执行程序代码

输出可视化图像

分类准率在

95%以上

c33ba003-6913-eb11-8da9-e4434bdf6706.png

值得思考的问题是

有支持向量

并未在曲线上

显示PSO算法优化后

准确率随迭代寻优

的变化情况

c83ba003-6913-eb11-8da9-e4434bdf6706.png

历经20次迭代寻优

结果达到最优

记录此时返回优化参数即可

同理

可以查看其它特征输入下

可视化情况

d13ba003-6913-eb11-8da9-e4434bdf6706.png
d73ba003-6913-eb11-8da9-e4434bdf6706.png

THE

END

de3ba003-6913-eb11-8da9-e4434bdf6706.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值