![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 88
陈序袁
分享学习过程
展开
-
【论文阅读】Robust Multi-Instance Learning with Stable Instances
以往的MIL算法遵循i.i.d假设:训练样本与测试样本都分别来自于同一分布中,而这一假设往往与现实应用中有所出入。研究人员通过计算训练样本与测试样本之间的密度比对训练样本进行加权,以解决分布变化带来的问题。分布的变化发生的原因有许多,诸如:训练数据与测试数据是在不同的时间或不同的地点收集的。当分布发生变化时,由于无法区分因果实例与噪声实例,算法的性能会发生改变。当训练集与测试集分布不同时,噪音实例和标签之间的关联性将不一致。原创 2023-03-08 15:39:30 · 400 阅读 · 1 评论 -
【论文写作】课程总结
《论文写作》不仅是本人认为的在本学期收获较大的一门,也是最重要的课程之一。因为作为研究生,论文是必不可少的一部分。论文是就自己研究方向中所得到的成果的一种呈现方式。论文写作不是一件简单的事情,但是只要了解了其中的“规矩”,逐渐熟悉直到熟练,我相信论文写作也不是一件难事。毕竟论文中自己的成果才是重头戏,论文只是内容的载体,是为了各个方向的学者能够看懂你写的内容,能够懂你想表达的意思,能够了解你研究的方向。课程的内容都是干货,没什么口水话。直接了当,跟着每一条规矩来写就完事了。原创 2022-12-13 18:18:57 · 527 阅读 · 0 评论 -
【论文阅读】MDK与MILDM
提出了一种基于映射的鉴别核函数(Mapping-based Discriminative Kernel,MDK),用于更好地区分正负包。首先,通过同时考虑包空间的局部性、包的辨别性能力以及包的代表性,构建了一个判别和代表包池(Discriminative and Representative bag Pool,DRP)。其中,局部性与代表性用于探索实例之间的关系,而判别性能力在挖掘标签信息的过程中使用。第二,基于DRP将所有的包映射到基于DRP的判别性特征空间中。原创 2022-11-09 10:37:03 · 290 阅读 · 1 评论 -
【论文阅读】Scalable Algorithms for Multi-Instance Learning
当前大多数的多示例学习算法只能处理小型或中型规模的数据,为了能够处理大规模数据的多示例学习问题,本文提出了基于局部聚合描述符向量表示的多示例学习算法miVLAD以及基于Fisher向量表示的多示例学习算法miFV。这两个算法通过相应的映射函数将包映射为新的向量,并且保留了重要的包级信息。实验表明,miVLAD与miFV不仅实现了高准确率,而且提高了执行速度。原创 2022-10-29 19:51:31 · 203 阅读 · 1 评论 -
【论文阅读】Towards Certified Robustness of Distance Metric Learning
将相似实例拉到一起,将不相似的实例分隔开。本文提出在输入数据集空间中引入对抗间隔(adversarial margin)以提高度量学习算法的泛化性(指机器学习算法对新鲜样本的适应能力)与鲁棒性。对抗间距为实例与离其最近的不同类别的实例之间的距离。它不仅考虑了特征空间中实例间距离,也考虑了metric与之间的关联。为了增强对实例扰动(instance perturbation)的鲁棒性,可以通过增大对抗间隔来实现。最后,利用算法鲁棒性的理论技术证实了增大对抗间隔有利于提高泛化能力。原创 2022-10-25 17:26:00 · 436 阅读 · 3 评论 -
多示例学习回顾
当找到的代表实例是**虚拟**的时候,两个包的相似度就可以通过计算两个代表实例之间的距离来度量。在嵌入方面,Bamic通过计算每个包与k个中心的距离,将包映射为k维的特征向量,每一维都是该包与第k个中心的间距。由于距离能够计算包与包的特征值之间的关系,而包的特征值往往能够代表这个包的类别、性质。在代表实例选择阶段,则依旧沿用了SMDP中的思想来选出实例原型中的代表实例。,也就是代表包集合,与其他包差别大的包。,因此计算每个包与中心的距离就能够体现每个包的所属特征,就能够对该包的向量进行预测。原创 2022-10-16 12:37:57 · 987 阅读 · 1 评论 -
【论文阅读】Multi-Instance Learning by Treating Instances As Non-I.I.D. Samples (MIGraph & miGraph2009)
常规的多示例研究方式通常为很少考虑包内实例之间的关系,因为在实际情况中包内的实例几乎很少出现相互独立的关系。因此,若以non I.ID的方式(利实例之间的关系)来处理实例能够获得更好的性能。本文提出两种算法MIGraph与miGraph。前者显式的将每个包映射到一个无向图中,并设计一个图核来区分正负包;后者通过推导亲和矩阵隐式构造图,并提出一个考虑团信息的高效图核。首先引入常规处理方式与本文的处理方式间的区别:如图所示,每一张图片对应一个包,图片中的每一个小方框对应一个实例。每个包有6个实例,原创 2022-10-05 10:24:59 · 318 阅读 · 1 评论 -
【代码复现】BAMIC
此部分主要是实现KMediods算法。该部分继承了Clustering类。变量包括:距离矩阵、索引、聚类中心个数、最大迭代次数。此部分主要为聚类初始化函数,包含了:距离矩阵、索引、实例个数、聚类中心、簇、标签、最大距离、平均距离。此部分主要功能为映射:计算每个包与第i个聚类中心的距离,将每个包映射为一个特征向量。一些基础的MIL以及距离度量算法代码就不再赘述了。KMediods算法大体与KMeans算法类似,最大区别在于。这一部分的距离处理较为复杂一些。原创 2022-09-27 13:53:54 · 413 阅读 · 0 评论 -
【论文阅读】Multiple instance classification: Review, taxonomy and comparative study
本文对MIC(Multiple Instance Classifification)算法进行了分析与分类,并进行了详尽的比较分析。具体包括:1)通过例子详细阐述了使用MIC的必要性;2)描述了MIC问题以及所提出的分类算法;3)描述了分类算法的主要范式:实例空间范式、包空间范式和嵌入空间范式;4)比较分析并给出结论。常见包级分类是估计一个分类函数F(X)∈[0,1]F(X)∈[0,1]F(X)∈[0,1]来预测一个包是正是负;同时还有实例集分类。原创 2022-09-13 15:29:06 · 530 阅读 · 0 评论 -
【论文阅读】DSMIL
该算法介绍了如何解决幻灯片图像(whole slide image,WSI)分类问题。由于WSI具有非常高的分辨率且缺乏注释,因此WSI分类问题具有一定的挑战性。当只有幻灯片级别的标签可用时,WSI分类问题才可以作为多示例学习问题。本文提出一种基于MIL的WSI分类和肿瘤检测算法,算法由三个主要组成部分:首先,引入一个新的MIL聚合器(aggregator),该聚合器能通过可训练的距离度量方法对双流架构(dual-stream architecture)中实例的关系进行建模;......原创 2022-08-29 15:16:37 · 1494 阅读 · 0 评论 -
【代码复现】ELDB
本文是论文《Multi-Instance Ensemble Learning With Discriminative Bags》中算法代码的复现。距离度量文件,提供了一些距离度量函数,包括:欧氏距离、平均豪斯多夫距离。用来测量包与包之间的相似度。本文件提供一些工具函数,诸如:交叉验证、打印进度条、获取分类性能度量等。这一部分为多示例学习的原型文件,用于获取数据集名词、包空间、包大小等。ELDB算法主类,主要包括ELDB算法初始化、映射、记录得分等。本文件调用分类器,对多示例向量进行分类。...原创 2022-08-10 15:43:12 · 492 阅读 · 0 评论 -
【论文阅读】Multi-Instance Ensemble Learning With Discriminative Bags
由于标签是基于包给出的,多示例学习(MIL)比传统的监督学习更具一般性和挑战性。当前流行的特征映射方法是将每个包转化为新特征空间中的一个实例,但大多数映射方法难以保持包的区分度。为了解决这一问题,本文提出了基于判别包的多示例集成学习算法(multi-instance ensemble learning with discriminative bags,ELDB),该算法通过两部分得到一个判别性包集(dBagSet)。首先,考虑数据的空间分布与标签分布。...............原创 2022-08-03 11:40:07 · 295 阅读 · 2 评论 -
【代码复现】MIDIE
本文主要是论文《Two-stage instance selection and adaptive bag mapping algorithm for multi-instance learning》中算法代码的复现。具体算法原理见此文。本文与SMDP有类似之处,都使用了DP聚类。这一部分代码是创建实例原型池,即:找出所有包的代表实例聚集在一起。此阶段为在包内选取实例原型。2.2 SDI.py这段代码主要是进行第二阶段:在实例原型池中选出代表实例。先要通过DIP得到实例原型池,再通过DP来选出代表实例。原创 2022-06-29 15:23:25 · 880 阅读 · 2 评论 -
【代码复现】SMDP
关于密度峰值聚类的半监督多示例学习(semi-supervised multi-instance learning,SMDP)的具体介绍在这一篇中已经有了详细的介绍。代码的关键部分也是与论文中一一对应的。这一部分主要是一些基本操作,其中包括了:加载数据集、获取训练集与测试集的索引。2.2 DP_TWT.py这一部分主要是进行Density peaks(DP) clustering algorithm方法的设置,具体原理见本文。这一段代码的关键就在于找到实例密度ρ\rhoρ以及实例到其master的距离δ原创 2022-06-29 11:48:50 · 798 阅读 · 0 评论 -
【论文阅读】Two-stage instance selection and adaptive bag mapping algorithm for multi-instance learning
现有的MIL方法大都基于原始空间中的实例进行映射,但这些方法通常忽略了包的内部结构信息,难以保证所选实例与包在新特征空间中的关联性。为解决这一问题,本文提出一种多示例学习的两阶段实例选择和自适应包映射(TAMI)算法。首先,第一阶段实例选择技术根据包中实例的密度值和关联性,挖掘包内结构特征,选取实例原型。其次,第二阶段实例选择技术选取具有峰值密度的实例原型作为代表实例。最后,自适应包映射技术通过定义新的映射函数,将包转换为单向量进行学习。本文提出一种多示例学习习的两阶段实例选择和自适应包映射算法(the原创 2022-06-27 11:17:49 · 452 阅读 · 0 评论 -
【学习笔记】SVM
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。...............原创 2022-06-22 10:24:09 · 268 阅读 · 0 评论 -
【论文阅读】Multi-Instance Learning with Key Instance Shift
在之前的MIL研究中通常假设训练和测试数据都遵循相同的分布,但这一现象不存在与许多现实世界任务。本文解决了关键实例(key instance)在训练与测试阶段分布的不同问题。我们将这种问题称为:带有关键实例移位的多示例学习问题(MIL with key instance shift)。本文提出一种基于嵌入的方法MIKI来解决该问题。具体来说,就是提出了一个加权多类模型(weighted multi-class model)来选择那些具有高正率( high positiveness)的实例作为实例模型,通过原创 2022-06-15 17:05:45 · 113 阅读 · 0 评论 -
机器学习之卷积神经网络:日撸Java三百行day71-80
在神经网络那一篇中,对ANN有了初步的了解。本文介绍的是卷积神经网络(Convolutional Neural Networks, CNN),这是深度学习(deep learning)的代表算法之一,是一类包含卷积计算且具有深度结构的前馈神经网络,该算法在图像领域取得了非常好的实际效果。在神经网络的文章中已经介绍过了何为前馈神经网络,但我们有必要了解一下“深度学习”与“卷积”。人们常常将机器学习与深度学习拿来对比。本质上,如果将两种学习视为集合的话,那么深度学习就是机器学习的子集。机器学习的概念我们已经很熟原创 2022-06-14 10:06:59 · 405 阅读 · 0 评论 -
机器学习之神经网络:日撸Java三百行day71-80
1、什么是神经网络神经网络(Neural Network,NN)或人工神经网络(Artificial Neural Network,ANN),是指用大量的简单计算单元(即神经元)构成的非线性系统,它在一定程度上模仿了人脑神经系统的信息处理、存储和检索功能。是对人脑神经网络的某种简化、抽象、模拟。本文介绍的是一种最常用的神经网络算法,即BP(Back Propagation)神经网络。这是由Rumelhart等人于1985年提出的学习算法。该算法利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差原创 2022-05-28 20:21:40 · 188 阅读 · 0 评论 -
机器学习之矩阵分解:日撸Java三百行day69-70
1、什么是矩阵分解矩阵分解(Matrix Factorization,MF)是推荐系统领域里的一种经典且应用广泛的算法。矩阵分解最初的想法是从奇异值分解(Singular Value Decomposition,SVD)借鉴而来。与其说是借鉴,不如直接称其为“伪奇异值分解”。在基于用户行为的推荐算法中,矩阵分解算法算的上是效果出众的方法之一,在推荐系统中发挥着重要作用。从名字我们就可以了解到,该算法就是进行分解:将一个矩阵分解为两个或多个维数较低的矩阵。如:将一个规模为m∗nm*nm∗n的矩阵RRR分原创 2022-05-24 12:42:53 · 362 阅读 · 0 评论 -
机器学习之AdaBoosting:日撸Java三百行day63-65
1、什么是AdaBoostingAdaBoosting全称Adaptive Boosting,中文译为适应性集成或自适应增强,是一种迭代提升算法。它是由Yoav Freund与Robert Schapire与1997年制作的机器学习元算法,他们也因此而获得2003年哥德尔奖。AdaBoosting算法是Boosting算法中的一个著名代表,而说到Boosting,又不得不提到集成学习(ensemble learning)。·集成学习集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系原创 2022-05-13 13:38:32 · 1632 阅读 · 0 评论 -
机器学习之决策树:日撸Java三百行day61-62
一、什么是决策树要了解决策树,先了解“决策”。决策(decision)是指决定的策略或办法,是为人们为各自事件出主意、做决定的过程。我们每天都在决策,如:今晚吃什么、明天穿什么。了解了“决策”以后,再了解一下“树”。树(tree)是数据结构中的一种,是由nnn个有限节点组成一个具有层次关系的集合。之所以称其为树,是因为它看起来像一棵倒挂的树。了解好以上两个概念以后,理解决策树就非常容易了。决策树(decision tree)是一类常见的机器学习方法,是为基于树结构来进行决策的方法。以二分类问题为例,原创 2022-05-11 13:21:31 · 398 阅读 · 1 评论 -
机器学习之Naive Bayes算法:日撸Java三百行day58-59
一、什么是Naive Bayes算法Naive Bayes(NB)算法,亦称为朴素贝叶斯算法,是一个经典的、有代表性的分类算法。该算法是基于贝叶斯定理的分类方法,也是一种用后验概率公式推导出的算法。在NB算法中,采用了“属性条件独立性假设”(attribute conditional independence assumption):对已知类别,假设所有属性相互独立。换言之,假设每个属性独立地对分类结果发生影响。NB算法不仅能够处理符号型数据,也能够处理数值型数据。朴素贝叶斯中的“朴素”就代表着:特征之原创 2022-05-10 17:08:14 · 1430 阅读 · 2 评论 -
机器学习之kMeans聚类:日撸Java三百行day56-57
一、什么是kMeans聚类在了解kMeans聚类之前,我们首先要理解聚类(cluster)与分类(classify)的区别。聚类与分类的英文名不同,也能够体现出它们的区别。但它们的中文名中都有一个“类”字,说明都是将一大堆实例分为几个类。而在如何分、怎么分、分成几坨等问题上,聚类与分类又有本质的区别。•分类(classify)分类是有监督学习方法中的一种,是从特定的数据中挖掘模式并作出判断的过程。必须先明确了解每个类别的信息,即:有标签。通过事先打好的标签来判断正误并学习,利用训练好的模型来原创 2022-05-09 11:54:04 · 425 阅读 · 2 评论 -
机器学习之基于M-distance 的推荐:日撸Java三百行day54-55
一、什么是M-distanceM-distance是MBR(Memory-Based Recommenders)System中使用的一种评分预测机制。该算法来源于论文 Mei Zheng, Fan Min, Heng-Ru Zhang, Wen-Bin Chen, Fast recommendations with the M-distance, IEEE Access 4 (2016) 1464–1468。下载地址在此二、M-distance的基本思想在M-distance算法中同样也引入原创 2022-05-05 17:04:57 · 243 阅读 · 0 评论 -
机器学习之KNN算法:日撸Java三百行day51-53
一、什么是KNN算法K近邻(K-Nearest Neighbor, KNN),是一种最简单和最经典的有监督学习算法之一。KNN算法是最简单的分类器,可以应用于分类和回归问题。同时,它也不具备任何显式的学习过程或训练过程,属于懒惰学习(Lazy Learning)。所谓懒惰学习,类似于开卷考试,在已有数据中去找答案。虽然KNN是懒惰学习,但它的算法效果十分出色。二、KNN算法的基本思想以iris分类问题为例:将iris的特征数据散布在特征空间中,将每一个分类对象抽象成一个点。找到距离它最近的K原创 2022-05-05 10:56:44 · 2202 阅读 · 1 评论