sampling 采样

Posted by 夏泽民

研究表明,对于一些基分类器来说,与不均衡的数据集相比一个均衡的数据集可以提高全局的分类性能。数据层面的处理方法是处理不均衡数据分类问题的重要途径之一,它的实现方法主要分为对多数类样本的欠抽样和对少数类样本的过抽样学习两种。其主要思想是通过合理的删减或者增加一些样本来实现数据均衡的目的,进而降低数据不均衡给分类器带来的负面影响。 按照对样本数量的影响又可分为: 过抽样,即合理地增加少数类的样本 欠抽样,即合理地删减多数类样本 随机过抽样和欠抽样 随机过抽样 随机过抽样是一种按照下面的描述从少数类中速记抽样生成子集合 E 的方法。 首先在少数类 Smin 集合中随机选中一些少数类样本 然后通过复制所选样本生成样本集合 E 将它们添加到 Smin 中来扩大原始数据集从而得到新的少数类集合 Smin−new 用这样方法,Smin 中的总样本数增加了 |E| 个新样本,且 Smin−new 的类分布均衡度进行相应的调整,如此操作可以改变类分布平衡度从而达到所需水平。 欠抽样 欠抽样技术是将数据从原始数据集中移除。 首先我们从 Smaj 中随机地选取一些多数类样本 E 将这些样本从 Smaj 中移除,就有 |Smaj−new|=|Smaj|−|E| 缺陷 初看,过抽样和欠抽样技术在功能上似乎是等价的,因为它们都能改变原始数据集的样本容量且能够获得一个相同比例的平衡。 但是,这个共同点只是表面现象,这是因为这两种方法都将会产生不同的降低分类器学习能力的负面效果。 对于欠抽样算法,将多数类样本删除有可能会导致分类器丢失有关多数类的重要信息。 对于过抽样算法,虽然只是简单地将复制后的数据添加到原始数据集中,且某些样本的多个实例都是“并列的”,但这样也可能会导致分类器学习出现过拟合现象,对于同一个样本的多个复本产生多个规则条例,这就使得规则过于具体化;虽然在这种情况下,分类器的训练精度会很高,但在位置样本的分类性能就会非常不理想。 informed 欠抽样 两个 informed 欠抽样算法:EasyEnsemble 和 BalanceCascade 算法,这两种方法克服了传统随机欠抽样方法导致的信息缺失的问题,且表现出较好的不均衡数据分类性能。 EasyEnsemble 和 BalanceCascade 算法介绍

  1. EasyEnsemble 核心思想是: 首先通过从多数类中独立随机抽取出若干子集 将每个子集与少数类数据联合起来训练生成多个基分类器 最终将这些基分类器组合形成一个集成学习系统 EasyEnsemble 算法被认为是非监督学习算法,因此它每次都独立利用可放回随机抽样机制来提取多数类样本
  2. BalanceCascade 核心思想是: 使用之前已形成的集成分类器来为下一次训练选择多类样本 然后再进行欠抽样 最近邻规则(ENN) 因为随机欠抽样方法未考虑样本的分布情况,采样具有很大的随机性,可能会删除重要的多数类样本信息。针对以上的不足,Wilson 等人提出了一种最近邻规则(edited nearest neighbor: ENN)。 基本思想:删除那些类别与其最近的三个近邻样本中的两个或两个以上的样本类别不同的样本 缺点:因为大多数的多数类样本的样本附近都是多数类,所以该方法所能删除的多数类样本十分有限。 领域清理规则 (NCL) Laur Ikkala J 等人在 ENN 的基础行提出了 领域清理规则 (neighborhod cleaning rule: NCL)。该算法的整体流程图如下所示:


rocksdb

Posted by 夏泽民

1.简介 RocksDB项目起源于Facebook的一个实验项目,该项目旨在开发一个与快速存储器(尤其是闪存)存储数据性能相当的数据库软件,以应对高负载服务。 这是一个c++库,可用于存储键和值,可以是任意大小的字节流。它支持原子读和写。 RocksDB具有高度灵活的配置功能,可以通过配置使其运行在各种各样的生产环境,包括纯内存,Flash,硬盘或HDFS。它支持各种压缩算法,并提供了便捷的生产环境维护和调试工具。 RocksDB借鉴了开源项目LevelDB的重要代码和Apache HBase项目的重要思想。最初的代码来源于开源项目leveldb 1.5分叉。它借鉴了了Facebook的代码和思想。



Tachyon

Posted by 夏泽民

Tachyon在Spark中的作用(Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks 论文阅读翻译) 摘要: Tachyon是一种分布式文件系统,可以借助集群计算框架使得数据以内存的速度进行共享。当今的缓存技术优化了read过程,但是,write过程因为需要容错机制,就需要通过网络或者是磁盘进行复制操作。Tachyon通过将“血统”技术引入到存储层进而消除了这个瓶颈。创建一个长期的以“血统机制”为基础的存储系统的关键挑战是失败情况发生的时候及时地进行数据恢复。Tachyon通过引入一种检查点的算法来解决这个问题,这种方法保证了恢复过程的有限开销以及通过资源调度器下进行计算所需要的资源获取策略。我们的评审展示了Tachyon的write性能超过HDFS达到100X,也将现实工作流的端到端的负载提升了4X。

(补充): Tachyon是Spark生态系统内快速崛起的一个新项目。 本质上, Tachyon是个分布式的内存文件系统, 它在减轻Spark内存压力的同时,也赋予了Spark内存快速大量数据读写的能力。Tachyon把内存存储的功能从Spark中分离出来, 使Spark可以更专注计算的本身, 以求通过更细的分工达到更高的执行效率。 Spark平台具体问题主要有以下几个:



tcc 分布式事务

Posted by 夏泽民

两阶段提交(Two Phase Commit,下文简称2PC),简单的说,是将事务的提交操作分成了prepare、commit两个阶段。其事务处理方式为: 1、 在全局事务决定提交时,a)逐个向RM发送prepare请求;b)若所有RM都返回OK,则逐个发送commit请求最终提交事务;否则,逐个发送rollback请求来回滚事务; 2、 在全局事务决定回滚时,直接逐个发送rollback请求即可,不必分阶段。

  • 需要注意的是:2PC机制需要RM提供底层支持(一般是兼容XA),而TCC机制则不需要。


KNN与K-Means的区别

Posted by 夏泽民

KNN和K-Means的区别 KNN



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required