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

中山自助建站系统手机app制作多少钱

中山自助建站系统,手机app制作多少钱,wordpress设置仅对会员可见,东营建设网国科大2023模式识别与机器学习实践作业 作业内容 从四类方法中选三类方法#xff0c;从选定的每类方法中 #xff0c;各选一种具体的方法#xff0c;从给定的数据集中选一 个数据集#xff08;MNIST#xff0c;CIFAR-10#xff0c;电信用户流失数据集 #xff09;对这…国科大2023模式识别与机器学习实践作业 作业内容 从四类方法中选三类方法从选定的每类方法中 各选一种具体的方法从给定的数据集中选一 个数据集MNISTCIFAR-10电信用户流失数据集 对这三种方法进行测试比较。 第一类方法: 线性方法线性SVM、 Logistic Regression第二类方法: 非线性方法Kernel SVM 决策树第三类方法: 集成学习Bagging Boosting第四类方法: 神经元网络自选结构 选择数据集 MNIST 方法 线性SVM 方法介绍 支持向量机SVM是一种二分类模型它的基本模型是定义在特征空间上的间隔最大的线性分类器。SVM的的学习策略就是间隔最大化可形式化为一个求解凸二次规划的问题或者求解其对偶问题。 SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如上图所示 w ⋅ x b 0 w \cdot xb0 w⋅xb0即为分离超平面对于线性可分的数据集来说这样的超平面有无穷多个即感知机但是几何间隔最大的分离超平面却是唯一的。 实验结果 对于每一个参数设置做了三次实验得到的模型准确率分别是ACC_1ACC_2ACC_3平均值是ACC_M。 正则参数是正则项前面的系数。 正则参数迭代次数ACC_1ACC_2ACC_3ACC_m10100086.37%87.57%87.15%87.03%10200086.9%88.45%86.4%87.25%50100087.61%86.17%87.77%87.18%50200086.97%88.02%88.1%87.7%100100085.67%86.99%86.58%86.41%100200086.94%86.29%86.84%86.69% 结果分析 从结果可以看出迭代次数一定时一定范围内随着正则参数的增大模型预测的准确率会上升但是超过一定范围模型性能会下降可能是正则参数过大导致模型欠拟合了。 当正则参数一定时随着迭代次数的增大模型的性能会逐渐变好。 决策树 方法介绍 决策树是一种典型的分类方法首先对数据进行处理利用归纳算法生成可读的规则和决策树然后使用决策对新数据进行分析。具体来说它是一种树形结构其中每个内部节点表示一个属性上的判断每个分支代表一个判断结果的输出最后每个叶节点代表一种分类结果本质是一颗由多个判断节点组成的树。 构建决策树的基本步骤为 开始将所有记录看作一个节点遍历每个变量的每一种分割方式找到最好的分割点分割成两个节点N1和N2对N1和N2分别继续执行2-3步直到每个节点不能再分。 实验结果 对于每一个参数设置做了三次实验得到的模型准确率分别是ACC_1ACC_2ACC_3平均值是ACC_M。 分割类型损失函数ACC_1ACC_2ACC_3ACC_Mbestgini87.61%87.87%88.03%87.84%bestentropy88.54%88.40%88.38%88.44%bestlog_loss88.62%88.34%88.42%88.46%randomgini86.61%87.09%87.01%86.90%randomentropy87.55%87.82%88.20%87.86%randomlog_loss87.87%87.79%88.09%87.92% 结果分析 从结果可以看出当对节点分割时选取最好的进行分割比随机分割的性能要好因为可以获得的信息增益最好而随机选取没有保障。 使用entropy和log_loss的性能比gini要好而gini代表基尼系数entropy代表信息增益因此选择跟信息增益有关的损失更能提高决策树的性能。 神经元网络使用简单的卷积神经网络 方法介绍 卷积神经网络CNN是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。 卷积神经网络的基本结构由以下几个部分组成输入层input layer卷积层convolution layer池化层pooling layer激活函数层和全连接层full-connection layer。 卷积层对图像不同的数据窗口数据和滤波矩阵一组固定的权重因为每个神经元的多个权重固定所以又可以看做一个恒定的滤波器filter做内积逐个元素相乘再求和的操作就是所谓的卷积操作池化层池化操作将输入矩阵某一位置相邻区域的总体统计特征作为该位置的输出主要有平均池化Average Pooling、最大池化Max Pooling等。简单来说池化就是在该区域上指定一个值来代表整个区域。激活函数激活函数非线性激活函数如果激活函数使用线性函数的话那么它的输出还是一个线性函数。但使用非线性激活函数可以得到非线性的输出值。全连接层在全连接层中每个神经元都与前一层中的所有神经元相连因此它的输入是一个向量输出也是一个向量。它对提取的特征进行非线性组合以得到输出。全连接层本身不具有特征提取能力而是使得目标特征图失去空间拓扑结构被展开为向量。 实验结果 迭代次数为epoch10使用带动量的随机梯度下降SGD进行优化损失函数是交叉熵损失。 使用的卷积神经网络含有两层含有卷积层池化层ReLU激活函数和批归一化层和一个全连接层输出的特征维度为10因为MINIST只有10类。 批处理大小学习率ACC640.199.03%640.0198.95%640.00198.09%1280.199.16%1280.0198.95%1280.00197.35%1280.0299.02%1280.00298.12% 结果分析 从结果可以看出当批处理大小相同时学习率为0.1时性能最好之后随着学习率的减小模型的性能逐渐降低。 当学习率一致时大多数情况下批处理大小增加模型的性能也会更好但有些情况不是如学习率等于0.001时此时需要将学习率扩大2倍跟批处理大小增加的倍数一致模型的性能才会比之前更好。 代码 线性SVM和决策树 # -*- encoding: utf-8 -*-File machine_learning_methods.py Created on 2024/1/20 18:55 Copyright (c) 2024/1/20 author: from sklearn.model_selection import train_test_split from sklearn import svm from sklearn.preprocessing import StandardScaler from sklearn.tree import DecisionTreeClassifier, export_graphviz from load_minist import load_minist_dataif __name__ __main__:minist_path ./datasets/mnist-original.matmethod_type linear_svmX_data, Y_data load_minist_data(minist_path)# 数据规范化scaler StandardScaler()X scaler.fit_transform(X_data)# 分割得到训练和测试数据集X_train, X_test, Y_train, Y_test train_test_split(X_data, Y_data, test_size10000, random_state42)print(fTrain data size:{X_train.shape})print(fTest data size:{X_test.shape})if method_type linear_svm:print(Start training Linear SVM...)# 构建linear svm C表示正则项的权重l_svm svm.LinearSVC(C 10, max_iter2000)l_svm.fit(X_train, Y_train)print(Training over!)print(The function is:)print(fw:{l_svm.coef_})print(fb:{l_svm.intercept_})print(Start testing...)# 打印模型的精确度print(f{l_svm.score(X_test, Y_test) * 100}%)elif method_type kernel_svm:print(Start training Kernel SVM...)# 构建linear svm C表示正则项的权重k_svm svm.SVC(C100, max_iter1000)k_svm.fit(X_train, Y_train)print(Training over!)print(Start testing...)# 打印模型的精确度print(f{k_svm.score(X_test, Y_test) * 100}%)elif method_type decision_tree:print(Start training Decision Tree...)# 构建决策树d_tree DecisionTreeClassifier(criterion gini, splitter best)d_tree.fit(X_train, Y_train)print(Training over!)print(Start testing...)# 打印模型的精确度print(f{d_tree.score(X_test, Y_test) * 100}%)卷积神经网络 # -*- encoding: utf-8 -*-File neural_net.py Created on 2024/1/20 18:55 Copyright (c) 2024/1/20 author: import torch import torch.nn as nn from torch.utils.data import DataLoader from torchvision import datasets, transforms# 设计模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.block1 nn.Sequential(nn.Conv2d(in_channels1, out_channels10, kernel_size5),nn.MaxPool2d(kernel_size2),nn.ReLU(True),nn.BatchNorm2d(10),)self.block2 nn.Sequential(nn.Conv2d(in_channels10, out_channels20, kernel_size5),nn.MaxPool2d(kernel_size2),nn.ReLU(True),nn.BatchNorm2d(20),)# 输出10个类别self.fc nn.Sequential(nn.Flatten(),nn.Linear(in_features320, out_features10))def forward(self, x):# x: B C10 H12 W12x self.block1(x)x self.block2(x)x self.fc(x)return xdef construct_data_loader(batch_size):# 数据的归一化transform transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))])# 训练集train_dataset datasets.MNIST(root./datasets, trainTrue, transformtransform, downloadTrue)train_loader DataLoader(train_dataset, batch_sizebatch_size, shuffleTrue)# 测试集test_dataset datasets.MNIST(root./datasets, trainFalse, transformtransform, downloadTrue)test_loader DataLoader(test_dataset, batch_sizebatch_size, shuffleFalse)return train_loader, test_loaderdef train_model(train_loader):for (images, target) in train_loader:# images shape: B C1 H Woutputs model(images)loss criterion(outputs, target)optimizer.zero_grad()loss.backward()optimizer.step()def test_model(test_loader):correct, total 0, 0with torch.no_grad():for (images, target) in test_loader:outputs model(images)_, predicted torch.max(outputs.data, dim1)total target.size(0)correct (predicted target).sum().item()print([%d / %d]: %.2f %% % (i 1, epoch, 100 * correct / total))if __name__ __main__:# 定义超参数# 批处理大小batch_size 128# 学习率lr 0.002# 动量momentum 0.5# 训练的epoch数epoch 10# 构建模型model Net()# 损失函数和优化器criterion nn.CrossEntropyLoss()optimizer torch.optim.SGD(model.parameters(), lrlr, momentummomentum)train_loader, test_loader construct_data_loader(batch_size)for i in range(epoch):# 训练train_model(train_loader)# 测试test_model(test_loader)参考资料 基于决策树模型和支持向量机模型的手写数字识别_手写数字识别决策树-CSDN博客 ResNet18实现——MNIST手写数字识别(突破0.995)_mnist resnet-CSDN博客
http://www.zqtcl.cn/news/749766/

相关文章:

  • 科技公司网站系统个人网站模板大全
  • 建网站源码建站详解做加油机公司网站
  • 北海做网站有哪家网站布局策划案
  • 做app网站的软件有哪些内容吗本地网站建设公司
  • 做服装团购有哪些网站有哪些网页端二维码在哪里
  • 石材网站建设方案科室建设网站
  • 梧州住房和建设局网站网站目录文件
  • 有没有做生鲜配送的网站wordpress调用摘要
  • 建设社团网站的可行性分析沈阳网站建设企业
  • 青岛知名网站建设公司优化大师有必要花钱吗
  • pc网站做app京东海淀区
  • 效果好的网站建设公萝岗企业网站建设
  • wordpress个人展示网站6新西兰网站后缀
  • 为什么自己做的网站别人打不开三门峡市湖滨区建设局网站
  • 长春网长春网站建设络推广工程建设国家标准网站
  • 微网站开发 mui框架网站备案幕布拍照是什么
  • 北京天通苑 做网站西安百度网站建设
  • 辽阳建设网站学校 网站 建设 目的
  • 建设电影网站赚钱公司简介模板免费word简易
  • 响应式网站设计的主页自己做装修效果图app软件
  • 做网站最简单的方法做网站开发挣钱吗
  • 网站建设基础入门国内免费的ip地址
  • wordpress 付费剧集网站坐什么网站能用到html5
  • 孝感房产网站建设wordpress E405
  • 做窗帘网站图片大全WordPress一键安装安全
  • 怎样查询网站的备案号广西住房和城乡建设厅网站证件
  • 网站区域名怎么注册网站群建设 中标
  • 官方网站 建设情况汇报网页设计开发培训
  • 门户网站的细分模式有房价暴跌开始了
  • 公司备案查询网站备案江苏省网站备案系统