论文复现Ranked batch-mode active learning表述非常好的论文

2023-10-28 11:20

本文主要是介绍论文复现Ranked batch-mode active learning表述非常好的论文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Reference:[1]Silva, Rodrigo, M, et al. Ranked batch-mode active learning[J]. Information Sciences: An International Journal, 2017.

复现了,效果很好~

这个是pointwise 版本的

 

import xlwt
import numpy as np
import pandas as pd
from copy import deepcopy
from sklearn.metrics import accuracy_score, mean_absolute_error, f1_score, recall_score
from sklearn.metrics import balanced_accuracy_score
from collections import OrderedDictfrom sklearn.model_selection import StratifiedKFold
from sklearn.cluster import KMeans
from pathlib import Pathfrom skactiveml.classifier._pwc import PWC
from skactiveml.pool._probal import McPALimport matplotlib.pyplot as plt
from scipy.spatial.distance import pdist, squareform
from itertools import product, combinations
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics.pairwise import pairwise_distancesclass RBAL():def __init__(self, X_pool, y_pool, labeled, budget, X_test, y_test):self.X_pool = X_poolself.y_pool = y_pool.astype(np.int)self.X_test = X_testself.y_test = y_test.astype(np.int)self.labeled = list(deepcopy(labeled))self.labels = np.unique(self.y_pool)self.nClass = len(self.labels)self.nSample = len(self.y_pool)self.model = LogisticAT()self.theta = Noneself.w = Noneself.unlabeled = self.initialization()self.budget = deepcopy(budget)self.budgetLeft = deepcopy(budget)##-------------------## Evaluation criteriaself.AccList = []self.MAEList = []self.RecallList = []self.FscoreList = []self.CindexList = []self.ALC_ACC = 0.0self.ALC_MAE = 0.0self.ALC_F1 = 0.0self.ALC_Recall = 0.0self.ALC_Cindex = 0.0def initialization(self):unlabeled = [i for i in range(len(self.y_pool))]for j in self.labeled:unlabeled.remove(j)self.model.fit(X=self.X_pool[self.labeled], y=self.y_pool[self.labeled])self.theta, self.w = self.model.theta_w()return unlabeleddef evaluation(self):self.model.fit(X=self.X_pool[self.labeled],y=self.y_pool[self.labeled])y_pred = self.model.predict(X=self.X_test)def Cosine(self,a,b):return pdist(np.vstack([a, b]), "cosine")def select(self):while self.budgetLeft > 0:knnmodel = KNeighborsClassifier(n_neighbors=self.nClass)knnmodel.fit(X=self.X_pool[self.labeled],y=self.y_pool[self.labeled])y_pred_prob = knnmodel.predict_proba(X=self.X_pool[self.unlabeled])metric = OrderedDict()UncertaintyScore = OrderedDict()SimilarityScore = OrderedDict()alpha = len(self.unlabeled) / self.nSamplebeta = 1 - alphafor i, idx in enumerate(self.unlabeled):UncertaintyScore[idx] = 1 - np.max(y_pred_prob[i])biggestSim = 0.0for jdx in self.labeled:simi = 1 / (1 + self.Cosine(self.X_pool[idx],self.X_pool[jdx]))if simi > biggestSim:biggestSim = simiSimilarityScore[idx] = biggestSimmetric[idx] = alpha * (1 - SimilarityScore[idx]) + beta * UncertaintyScore[idx]tar_idx = max(metric, key=metric.get)self.unlabeled.remove(tar_idx)self.labeled.append(tar_idx)self.budgetLeft -= 1self.evaluation()

 

这篇关于论文复现Ranked batch-mode active learning表述非常好的论文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/292880

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

C语言指针入门 《C语言非常道》

C语言指针入门 《C语言非常道》 作为一个程序员,我接触 C 语言有十年了。有的朋友让我推荐 C 语言的参考书,我不敢乱推荐,尤其是国内作者写的书,往往七拼八凑,漏洞百出。 但是,李忠老师的《C语言非常道》值得一读。对了,李老师有个官网,网址是: 李忠老师官网 最棒的是,有配套的教学视频,可以试看。 试看点这里 接下来言归正传,讲解指针。以下内容很多都参考了李忠老师的《C语言非

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真