当前位置: 首页 > wzjs >正文

佛山做网站业务工资创建wordpress博客

佛山做网站业务工资,创建wordpress博客,做推广需要多少钱,网站的建设求职简历文章目录 前言环境配置一、基础性能评估二、高级评估指标三、模型解释与可视化四、交叉验证与模型选择五、部署前的优化 前言 在 MATLAB 中进行深度学习网络训练后的模型评估是确保模型性能和可靠性的关键环节。以下是详细的评估步骤和方法。 环境配置 MATLAB下载安装教程&…

文章目录

  • 前言
  • 环境配置
  • 一、基础性能评估
  • 二、高级评估指标
  • 三、模型解释与可视化
  • 四、交叉验证与模型选择
  • 五、部署前的优化


前言

在 MATLAB 中进行深度学习网络训练后的模型评估是确保模型性能和可靠性的关键环节。以下是详细的评估步骤和方法。


环境配置

MATLAB下载安装教程:https://blog.csdn.net/tyatyatya/article/details/147879353

MATLAB下载地址链接:https://pan.quark.cn/s/364584a880f7

一、基础性能评估

  1. 分类准确率(Classification Accuracy)
% 在测试集上进行预测
YPred = classify(net, imdsTest);  % 对图像数据
YPred = predict(net, XTest);      % 对数值数据% 计算准确率
YTest = imdsTest.Labels;
accuracy = mean(YPred == YTest);
fprintf('测试集准确率: %.2f%%\n', accuracy*100);
  1. 混淆矩阵(Confusion Matrix)
% 生成混淆矩阵
cm = confusionmat(YTest, YPred);% 可视化混淆矩阵
figure
cmplot = confusionchart(cm, categories(YTest));
cmplot.Title = '混淆矩阵';
cmplot.RowSummary = 'row-normalized';  % 显示行归一化(召回率)
cmplot.ColumnSummary = 'column-normalized';  % 显示列归一化(精确率)
  1. 精确率、召回率与 F1 分数
% 计算每个类别的精确率、召回率和F1分数
categories = unique(YTest);
metrics = table(categories, zeros(length(categories), 3), 'VariableNames', {'Category', 'Precision', 'Recall', 'F1Score'});for i = 1:length(categories)truePositives = cm(i,i);falsePositives = sum(cm(:,i)) - truePositives;falseNegatives = sum(cm(i,:)) - truePositives;metrics.Precision(i) = truePositives / (truePositives + falsePositives);metrics.Recall(i) = truePositives / (truePositives + falseNegatives);metrics.F1Score(i) = 2 * (metrics.Precision(i) * metrics.Recall(i)) / (metrics.Precision(i) + metrics.Recall(i));
end% 计算宏平均和微平均
macroPrecision = mean(metrics.Precision);
macroRecall = mean(metrics.Recall);
macroF1 = mean(metrics.F1Score);microPrecision = sum(diag(cm)) / sum(sum(cm));
microRecall = microPrecision;  % 微平均精确率和召回率相等
microF1 = 2 * (microPrecision * microRecall) / (microPrecision + microRecall);fprintf('宏平均 F1 分数: %.4f\n', macroF1);
fprintf('微平均 F1 分数: %.4f\n', microF1);

二、高级评估指标

  1. ROC 曲线与 AUC 值(二分类问题)
% 获取预测概率
[YPred, scores] = classify(net, imdsTest, 'OutputAs', 'probabilities');% 计算ROC曲线
figure
for i = 1:numel(categories)[x, y, t, auc] = perfcurve(YTest, scores(:,i), categories(i));plot(x, y, 'DisplayName', [categories(i), ': AUC = ', num2str(auc, '%.3f')])
end
title('ROC曲线')
xlabel('假阳性率 (FPR)')
ylabel('真阳性率 (TPR)')
legend
grid on
  1. 损失函数曲线分析
% 绘制训练过程中的损失函数曲线
figure
plot(tr.TrainingLoss, 'b-', 'LineWidth', 2)
hold on
plot(tr.ValidationLoss, 'r-', 'LineWidth', 2)
title('训练与验证损失')
xlabel('训练轮次 (Epoch)')
ylabel('损失值')
legend('训练损失', '验证损失')
grid on
  1. 学习率调整分析
% 绘制学习率随训练轮次的变化
figure
plot(tr.LearnRate, 'LineWidth', 2)
title('学习率调整')
xlabel('训练轮次 (Epoch)')
ylabel('学习率')
grid on

三、模型解释与可视化

  1. 类激活映射(Class Activation Mapping, CAM)
% 计算并可视化类激活映射
I = imread('test_image.jpg');
[YPred, scores] = classify(net, I, 'OutputAs', 'probabilities');
cam = activation(net, I, 'last_conv_layer', 'OutputAs', 'image');  % 替换为实际最后卷积层名称figure
subplot(1,2,1)
imshow(I)
title('原始图像')subplot(1,2,2)
imshow(I)
hold on
h = imagesc(cam, 'AlphaData', cam);
colormap jet
axis off
title(['预测: ', string(YPred), ', 置信度: ', num2str(max(scores), '%.2f')])
colorbar
  1. 特征可视化
% 可视化中间层特征
I = imread('test_image.jpg');
features = activation(net, I, 'conv2_1');  % 替换为实际层名称% 可视化前16个特征图
figure
for i = 1:min(16, size(features, 3))subplot(4, 4, i)imshow(features(:,:,i), 'DisplayRange', [])title(['特征图 ', num2str(i)])
end
  1. 决策边界分析(二维数据)
% 生成网格点
[x1Grid, x2Grid] = meshgrid(linspace(min(XTest(:,1)), max(XTest(:,1)), 100), ...linspace(min(XTest(:,2)), max(XTest(:,2)), 100));
gridPoints = [x1Grid(:), x2Grid(:)];% 预测网格点
YPredGrid = classify(net, gridPoints);% 可视化决策边界
figure
gscatter(XTest(:,1), XTest(:,2), YTest)
hold on
contourf(x1Grid, x2Grid, reshape(YPredGrid, size(x1Grid)), 'Alpha', 0.3)
title('决策边界可视化')
legend('类别1', '类别2', '决策边界')

四、交叉验证与模型选择

  1. K 折交叉验证
% 设置K折交叉验证
k = 5;
cv = cvpartition(height(tbl), 'KFold', k);% 存储每折的准确率
accuracies = zeros(k, 1);% 执行交叉验证
for i = 1:kidxTrain = training(cv, i);idxTest = test(cv, i);% 训练模型net = trainNetwork(imds(idxTrain), layers, options);% 评估模型YPred = classify(net, imds(idxTest));accuracies(i) = mean(YPred == imds.Labels(idxTest));
end% 计算平均准确率和标准差
meanAccuracy = mean(accuracies);
stdAccuracy = std(accuracies);
fprintf('交叉验证准确率: %.2f%% ± %.2f%%\n', meanAccuracy*100, stdAccuracy*100);
  1. 模型比较
% 比较不同模型架构
models = {'resnet18', 'resnet50', 'alexnet'};
results = table(models, zeros(length(models), 1), 'VariableNames', {'Model', 'Accuracy'});for i = 1:length(models)% 加载预训练模型net = eval(models{i});% 修改网络结构% ... [省略网络修改代码] ...% 训练模型trainedNet = trainNetwork(imdsTrain, lgraph, options);% 评估模型YPred = classify(trainedNet, imdsTest);results.Accuracy(i) = mean(YPred == YTest);
end% 显示比较结果
results = sortrows(results, 'Accuracy', 'descend');
disp(results);

五、部署前的优化

  1. 模型量化
% 量化模型以减小尺寸和加速推理
quantizedNet = quantizeNetwork(net, 'WeightPrecision', 8, 'ActivationPrecision', 8);% 评估量化模型
YPredQuantized = classify(quantizedNet, imdsTest);
accuracyQuantized = mean(YPredQuantized == YTest);
fprintf('量化模型准确率: %.2f%%\n', accuracyQuantized*100);
  1. 剪枝(Pruning)
% 对模型进行剪枝
prunedNet = pruneNetwork(net, 'Percentage', 50);  % 剪枝50%的连接% 微调剪枝后的模型
optionsFineTune = trainingOptions('sgdm', ...'InitialLearnRate', 0.0001, ...'MaxEpochs', 3);
prunedNet = trainNetwork(imdsTrain, prunedNet, optionsFineTune);% 评估剪枝模型
YPredPruned = classify(prunedNet, imdsTest);
accuracyPruned = mean(YPredPruned == YTest);
fprintf('剪枝模型准确率: %.2f%%\n', accuracyPruned*100);

文章转载自:

http://FXZM3frP.xdpjs.cn
http://faZyWVss.xdpjs.cn
http://EVvPKVbf.xdpjs.cn
http://rYJA11Vu.xdpjs.cn
http://svaoY3QJ.xdpjs.cn
http://79kuOsbN.xdpjs.cn
http://xd6saXax.xdpjs.cn
http://bB4syX6A.xdpjs.cn
http://G1oMGgtk.xdpjs.cn
http://78CIpGca.xdpjs.cn
http://An01O0f4.xdpjs.cn
http://rjaVt1t9.xdpjs.cn
http://SPNDnn1H.xdpjs.cn
http://mjfJmJmJ.xdpjs.cn
http://cmtgeQLE.xdpjs.cn
http://jyhiAs4J.xdpjs.cn
http://VE2VqIVV.xdpjs.cn
http://yeaWxNvt.xdpjs.cn
http://XuQ6frRa.xdpjs.cn
http://4o8qajTH.xdpjs.cn
http://il6htM9H.xdpjs.cn
http://sQhcaMay.xdpjs.cn
http://8KAppU2r.xdpjs.cn
http://qhX9XvjW.xdpjs.cn
http://zUn3MxbY.xdpjs.cn
http://EhqfxLMN.xdpjs.cn
http://wclVEK32.xdpjs.cn
http://AZgB6iOn.xdpjs.cn
http://rwxPYwm3.xdpjs.cn
http://ATgxvHFN.xdpjs.cn
http://www.dtcms.com/wzjs/673301.html

相关文章:

  • 网站建设开题报告wordpress获得授权
  • 专业的天津网站建设网站主域名是什么
  • 百度开放云做网站上海比较好的公司排名
  • 写作网站私密深圳营销型网站建设案例
  • 利用wps做网站课程资源网站开发
  • 钦州做网站的公司php快速建网站
  • 一般的网站都是用什么系统做的h5前端开发主要做什么
  • 骑士cms怎么从别的网站采集信息贵州省和城乡建设厅官方网站
  • 天骏手表网站房产中介做租单用哪个付费网站更好
  • 网站设计是做什么的wordpress图片在哪
  • 网站建设江阴网站建设 图纸网
  • 望城经开区建设开发公司门户网站江苏城乡建设教育网站
  • 建一个做笔记的网站旅游响应式网站建设
  • 唐山高端网站建设科技小制作怎么做视频网站
  • php做各种网站类型得模板长沙百度搜索排名
  • 专业微信网站建设公司首选公司哪家好程序源代码网站
  • 帝国生成网站地图企业在线购物网站建设
  • 广州营销型网站建设费用wordpress爱情主题
  • 免费行情网站app页面软文推广收费
  • 网站开发课程介绍西安建设工程信息网是谁开发的
  • 做竞拍网站微信扫一扫抽红包在哪里做网站
  • 怎么样评价网站做的好坏搜索引擎是如何判断网站的结构
  • 广东企业品牌网站建设价格大学加强网站建设与管理的通知
  • 个人怎么做课程网站网站管理公司 优帮云
  • 莒县建设局门户网站在深圳如何注册自己的公司
  • 网站怎么做反向代理分类目录
  • 网站开发描述龙南网站建设
  • 有什么国企是做网站的别人的做网站
  • php手机网站模板郴州市住房和城乡建设局网站
  • 在那儿能找网站建设做h5的网站页面