您的位置:首页 > 汽车 > 新车 > 电商网站建设与管理 教案_seo顾问培训_成都网络推广外包公司哪家好_中国seo公司

电商网站建设与管理 教案_seo顾问培训_成都网络推广外包公司哪家好_中国seo公司

2025/1/7 21:58:57 来源:https://blog.csdn.net/2401_89898861/article/details/144795026  浏览:    关键词:电商网站建设与管理 教案_seo顾问培训_成都网络推广外包公司哪家好_中国seo公司
电商网站建设与管理 教案_seo顾问培训_成都网络推广外包公司哪家好_中国seo公司

【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(二)

【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(二)


文章目录

  • 【深度学习|多实例学习】多实例学习(Multiple Instance Learning, MIL)的起源、发展和应用,附代码(二)
  • 多实例学习 (MIL) 概述
    • 1. 起源与发展
    • 6. 代码实现:基于 PyTorch 的 MIL 分类模型
    • 7. 总结
    • 第四届计算机、人工智能与控制工程国际学术会议 (CAICE 2025)
    • 2025年计算生物学与系统生物学学术研讨会(CBSB 2025)


欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议详细信息可参考:https://ais.cn/u/EbMjMn

多实例学习 (MIL) 概述

1. 起源与发展

多实例学习(Multiple Instance Learning, MIL)是一种机器

6. 代码实现:基于 PyTorch 的 MIL 分类模型

下面是一个简单的多实例学习分类模型的代码实现,基于 PyTorch 框架。

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, Dataset# 假设每个实例是一个长度为128的向量,袋由10个实例组成
class MILDataset(Dataset):def __init__(self, num_bags, bag_size, feature_dim):self.num_bags = num_bagsself.bag_size = bag_sizeself.feature_dim = feature_dim# 随机生成数据:num_bags个袋,每个袋含有bag_size个实例,每个实例是feature_dim维向量self.data = torch.randn(num_bags, bag_size, feature_dim)self.labels = torch.randint(0, 2, (num_bags,))  # 每个袋的标签是01,代表正类或负类def __len__(self):return self.num_bagsdef __getitem__(self, idx):return self.data[idx], self.labels[idx]# 定义MIL模型,使用两层全连接层和一个注意力池化层
class MILModel(nn.Module):def __init__(self, input_dim, bag_size):super(MILModel, self).__init__()self.input_dim = input_dimself.bag_size = bag_size# 定义全连接层self.fc1 = nn.Linear(input_dim, 128)self.fc2 = nn.Linear(128, 64)self.fc3 = nn.Linear(64, 1)# 注意力机制的权重参数self.attention_weights = nn.Parameter(torch.randn(bag_size, 1))def forward(self, x):# x是形状为(batch_size, bag_size, feature_dim)的输入batch_size = x.size(0)# 通过全连接层x = torch.relu(self.fc1(x))x = torch.relu(self.fc2(x))# 计算每个实例的注意力得分attention_scores = torch.matmul(x, self.attention_weights)attention_scores = torch.softmax(attention_scores, dim=1)  # 使用softmax进行归一化# 计算加权池化(bag级别特征)weighted_sum = torch.sum(attention_scores * x, dim=1)# 最终分类层output = torch.sigmoid(self.fc3(weighted_sum))  # 输出一个0-1之间的值return output# 超参数设置
input_dim = 128
bag_size = 10
num_bags = 1000
batch_size = 32
epochs = 10# 数据集与数据加载器
dataset = MILDataset(num_bags, bag_size, input_dim)
dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)# 模型初始化
model = MILModel(input_dim, bag_size)
criterion = nn.BCELoss()  # 二分类交叉熵损失
optimizer = optim.Adam(model.parameters(), lr=0.001)# 训练循环
for epoch in range(epochs):model.train()running_loss = 0.0for data, labels in dataloader:optimizer.zero_grad()# 模型输出outputs = model(data)# 计算损失loss = criterion(outputs.squeeze(), labels.float())loss.backward()# 更新模型参数optimizer.step()running_loss += loss.item()print(f"Epoch [{epoch+1}/{epochs}], Loss: {running_loss/len(dataloader):.4f}")# 测试模型
model.eval()
with torch.no_grad():test_data, test_labels = dataset[0]  # 测试第一个袋test_data = test_data.unsqueeze(0)  # 添加batch维度output = model(test_data)print(f"Predicted label: {output.item()}, True label: {test_labels.item()}")

7. 总结

  • 多实例学习(MIL)是一种非常适合处理标签不明确的机器学习方法,广泛应用于图像处理、医学分析、遥感数据等领域。
  • 通过对实例集的整体分类推断,MIL 可以有效减少标注数据的不准确性和噪声,提升模型的稳定性和性能。
  • 在深度学习的支持下,MIL 已逐渐被应用到更复杂的任务,如滑坡检测、肿瘤识别等。

第四届计算机、人工智能与控制工程国际学术会议 (CAICE 2025)

  • The 4th International Conference on Computer, Artificial Intelligence and Control Engineering
  • 大会官网:www.ic-caice.net
  • 大会时间:2025年1月10-12日
  • 大会地点:中国·合肥 (安徽大学磬苑宾馆)
  • 接受/拒稿通知:投稿后5-7个工作日左右
  • 收录检索:EI,Scopus两大数据库稳定双检索!

2025年计算生物学与系统生物学学术研讨会(CBSB 2025)

  • 2025 Symposium on Computational Biology and Systems Biology
  • 会议时间:2025年1月10-12日
  • 会议地点:中国 · 沈阳
  • 会议官网:www.ic-bic.net
  • EI、SCOPUS双检索

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com