日报2022-05-02

几种包映射算法实现

聚类中心 C = { c 1 , . . . , c k } C = {c_1,…,c_k}C ={c 1 ​,…,c k ​}, 包 B i = { b i 1 , . . . , b i m } \mathbf{B}i={b{i1},…,b_{im}}B i ​={b i 1 ​,…,b i m ​}
一、最短距离映射
映射方式如下
h i = m a x e x p j ( − ∥ b i j − c i ∥ σ 2 ) h_i=\underset{j}{\rm{max}\,\rm{exp}}(- \frac{\|b_{ij}-c_i \|}{\sigma^2})h i ​=j m a x e x p ​(−σ2 ∥b i j ​−c i ​∥​)
B i \mathbf{B}_i B i ​最终的映射向量是H ( B i ) = [ h 1 , . . . , h k ] H(\mathbf{B}_i) = [h_1,…,h_k]H (B i ​)=[h 1 ​,…,h k ​]


        ret_vec = np.ones(self.k_m)
        index = 0
        for item in centers:
            ret_vec[index] = np.linalg.norm(item - self.bags[idx, 0][:, :self.dimensions-1], axis=1).min()
            index += 1
        ret_vec = [math.exp(-x) for x in ret_vec]
        return ret_vec / dis_euclidean(ret_vec, np.zeros_like(ret_vec))

二、去中心化映射
B i \mathbf{B}i B i ​里面的实例根据 C C C 被分为了K K K类,K ≤ k K\le k K ≤k, 每一类为一个集合S i = { s 1 , . . . , s l } S_i={s_1,…,s_l}S i ​={s 1 ​,…,s l ​}, 映射方式如下
h i = ∑ a = 1 l s a − c i h_i = \sum^l
{a=1}s_a-c_i h i ​=a =1 ∑l ​s a ​−c i ​
h i h_i h i ​是与实例同维的向量,最终B i \mathbf{B}_i B i ​映射为H ( B i ) = [ h 1 , . . . , h k ] H(\mathbf{B}_i) = [h_1,…,h_k]H (B i ​)=[h 1 ​,…,h k ​],如果没有c i c_i c i ​这一类的实例,则对应的 h i h_i h i ​ 缺失值补零

ret_vec = np.zeros((len(centers), self.dimensions-1))
        idx_ins = 0
        for ins in self.bags[idx, 0][:, :self.dimensions-1]:
            ret_vec[labels[idx_ins]] += ins - centers[labels[idx_ins]]
            idx_ins += 1
        ret_vec = np.resize(ret_vec, self.k_m * self.dimensions-1)
        ret_vec = np.sign(ret_vec) * np.sqrt(np.abs(ret_vec))
        return ret_vec / dis_euclidean(ret_vec, np.zeros_like(ret_vec))

三、均值映射
B i \mathbf{B}i B i ​里面的实例根据 C C C 被分为了K K K类,K ≤ k K\le k K ≤k, 每一类为一个集合S i = { s 1 , . . . , s l } S_i={s_1,…,s_l}S i ​={s 1 ​,…,s l ​}, 映射方式如下
h i = 1 ∣ S i ∣ ∑ a = 1 l s a h_i = \frac{1}{|S_i|}\sum^l
{a=1}s_a h i ​=∣S i ​∣1 ​a =1 ∑l ​s a ​
h i h_i h i ​是与实例同维的向量,最终B i \mathbf{B}_i B i ​映射为H ( B i ) = [ h 1 , . . . , h k ] H(\mathbf{B}_i) = [h_1,…,h_k]H (B i ​)=[h 1 ​,…,h k ​],如果没有c i c_i c i ​这一类的实例,则对应的 h i h_i h i ​ 缺失值补零

ret_vec = np.zeros((self.k_m, self.dimensions-1))
        idx_ins = 0
        for ins in self.bags[idx, 0][:, :self.dimensions-1]:
            ret_vec[labels[idx_ins]] += ins
            idx_ins += 1
        unique, count = np.unique(labels, return_counts=True)
        data_count = dict(zip(unique, count))
        for key in data_count.keys():
            ret_vec[key] /= data_count[key]
        ret_vec = np.resize(ret_vec, self.k_m * self.dimensions-1)
        ret_vec = np.sign(ret_vec) * np.sqrt(np.abs(ret_vec))
        return ret_vec / dis_euclidean(ret_vec, np.zeros_like(ret_vec))

四、按比例映射
B i \mathbf{B}_i B i ​里面的实例根据 C C C 被分为了K K K类,K ≤ k K\le k K ≤k, 每一类为一个集合S i = { s 1 , . . . , s l } S_i={s_1,…,s_l}S i ​={s 1 ​,…,s l ​}, 映射方式如下
h i = ∣ S i ∣ ∣ B i ∣ h_i = \frac{|S_i|}{|\mathbf{B}_i|}h i ​=∣B i ​∣∣S i ​∣​
最终B i \mathbf{B}_i B i ​映射为H ( B i ) = [ h 1 , . . . , h k ] H(\mathbf{B}_i) = [h_1,…,h_k]H (B i ​)=[h 1 ​,…,h k ​],如果没有c i c_i c i ​这一类的实例,则对应的 h i h_i h i ​ 缺失值补零

ret_vec = np.zeros(self.k_m)
        bag_size = len(self.bags_size[idx])
        unique, count = np.unique(labels, return_counts=True)
        data_count = dict(zip(unique, count))
        for key in data_count.keys():
            ret_vec[key] =  data_count[key]/bag_size
        return ret_vec

测试效果

一、最短距离映射

bag-level classify result:
confusion:
 [[282   2]
 [  2 650]]
precision: 0.9969325153374233
recall: 0.9969325153374233
f1-score: 0.9969325153374233
accuracy: 0.9957264957264957
start training single-instance model----------------
model trainig complete!

Finally instance result:
confusion:
 [[ 337    3]
 [   1 9019]]
precision: 0.9996674794945688
recall: 0.9998891352549889
f1-score: 0.9997782950892363
accuracy: 0.9995726495726496
class-time 27.534499883651733

二、去中心化映射

bag-level classify result:
confusion:
 [[290   2]
 [ 17 627]]
precision: 0.9968203497615262
recall: 0.9736024844720497
f1-score: 0.9850746268656716
accuracy: 0.9797008547008547
start training single-instance model----------------
model trainig complete!

Finally instance result:
confusion:
 [[ 342    4]
 [   7 9007]]
precision: 0.9995560981023194
recall: 0.9992234302196583
f1-score: 0.9993897364771152
accuracy: 0.9988247863247863
class-time 31.642945766448975

三、均值映射

bag-level classify result:
confusion:
 [[307   4]
 [ 10 615]]
precision: 0.9935379644588045
recall: 0.984
f1-score: 0.9887459807073955
accuracy: 0.9850427350427351
start training single-instance model----------------
model trainig complete!

Finally instance result:
confusion:
 [[ 368    5]
 [   1 8986]]
precision: 0.9994438883327772
recall: 0.999888728162902
f1-score: 0.9996662587607075
accuracy: 0.9993589743589744
class-time 32.479421615600586

四、按比例映射

bag-level classify result:
confusion:
 [[272  25]
 [  9 630]]
precision: 0.9618320610687023
recall: 0.9859154929577465
f1-score: 0.973724884080371
accuracy: 0.9636752136752137
start training single-instance model----------------
model trainig complete!

Finally instance result:
confusion:
 [[ 333   28]
 [   1 8998]]
precision: 0.9968978506536672
recall: 0.999888876541838
f1-score: 0.9983911234396671
accuracy: 0.9969017094017094
class-time 27.800466299057007

Original: https://blog.csdn.net/weixin_40872714/article/details/124544986
Author: swpu_jx_1998
Title: 日报2022-05-02

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/550060/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 图像分类的细分任务

    Dropout正则化、重叠池化(overlapping)、裁剪翻转与PCA颜色扰动等数据增强策略,可以提高模型的泛化能力。图像分类根据标签的不同,大致可分为 二分类任务、多分类任务…

    人工智能 2023年7月3日
    099
  • 从头训练一个神经网络!教它学会莫奈风格作画!

    💡 作者:韩信子@ShowMeAI📘 深度学习实战系列:https://www.showmeai.tech/tutorials/42📘 PyTorch 实战系列:https://w…

    人工智能 2023年7月13日
    077
  • 详解生成对抗网络(GAN)- 体验AI作画

    目录 1.GAN是什么? 2.GAN的计算 3.编写GAN的小小示例 4.GAN的发展与应用 5.AI作画体验-Disco Diffusion 1.GAN是什么? 2014年,因为…

    人工智能 2023年6月24日
    0130
  • 毕业设计 大数据全国疫情数据分析与3D可视化 – python 大数据

    文章目录 0 前言 1 课题背景 2 实现效果 3 设计原理 4 部分代码 5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,…

    人工智能 2023年7月3日
    0110
  • Graph Convolutional Networks

    摘要 我们介绍了一种在图结构数据上可扩展的半监督学习方法,该方法是基于一种高效的有向图卷积神经网络变体。我们通过谱图卷积局部一阶近似来激励我们的卷积架构的选择。我们的模型在图边的数…

    人工智能 2023年6月10日
    063
  • OCR文字识别经典论文详解

    👨‍💻 作者简介:大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享, 公众号:GoAI的学习小屋,免费分享书籍、简历、导图等资料,更有…

    人工智能 2023年6月23日
    067
  • 超详细!构建基于客户细分的 K-Means 聚类算法

    [TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped …

    人工智能 2023年6月2日
    087
  • 深度学习、机器学习领域毕业设计选题方法及建议

    目录 1 .机器学习、深度学习选题方向 2.毕业论文命题(选题)技巧 3. 难度把控 3 最后 1 .机器学习、深度学习选题方向 深度学习已经在语音识别、图像处理等方面取得了巨大成…

    人工智能 2023年7月28日
    0102
  • nanodet阅读:(3)Loss计算及推理部分

    一、前言 loss的计算是一个 AI工程代码的核心之一, nanodet的损失函数与 yolo v3/5系列有很大不同,具体见Generalized Focal Loss,说实话一…

    人工智能 2023年7月23日
    079
  • mindspore-HRNet的新冠肺炎CT分割

    mindspore-HRNet的新冠肺炎CT分割 环境 一、数据集准备 * 1.切片 2.生成mask 二、训练,测试 * 分割可视化效果 总结 环境 mindspore-gpu=…

    人工智能 2023年7月20日
    060
  • 3D点云转Mesh网格【Python】

    本文将介绍 使用 python 从点云快速创建网格的3D 表面重建过程,你可以导出、可视化并将结果集成到最喜欢的 3D 软件中,而无需任何编码经验。此外,我们还将介绍一种生成多个细…

    人工智能 2023年7月4日
    0173
  • python 关联规则

    文章目录 一、基本概念 * 定义1. 记录(事务) 定义2. 事务集 定义3. 项目(项) 定义4. 项目集(项集) 定义5. k项集 定义6. 支持度(Support) 定义7….

    人工智能 2023年6月19日
    077
  • 解读YOLOV5的runs文件

    使用YOLOV5训练数据之后我们需要一些评判标准来告诉我们所训练的效果究竟如何。这时,YOLOV5给出了一个文件解决我们的问题。该文件在直接生成为runs文件,可理解记录一些运行时…

    人工智能 2023年7月21日
    065
  • nnUnet代码解读–模型训练

    nnunet项目官方地址 确认安装nnUnet代码包,配置好环境变量,确认 nnunet/run/run_training.py可以成功运行。 我是一边debug一边阅读源码的,不…

    人工智能 2023年7月20日
    053
  • python——正则表达式(re模块)详解

    在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re。 正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如…

    人工智能 2023年7月30日
    058
  • TT语音:游戏社交乱象难平

    游戏在人们生活中占据的时间越来越多,用户对游戏内的体验也愈发的丰富,有时候和朋友三五结队打几把王者荣耀,但大部分玩家是处于一个人玩游戏的状态,而这种状态也影射了当前Z世代的孤独状态…

    人工智能 2023年5月23日
    0107
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球