一 背景介绍

    不平衡信息,特点是少数信息更珍贵,多数信息没有代表性。所以一般的分类算法会被多数信息影响,而忽略少数信息的重要性。

    解决策略:      

1.数据级别

(1)上采样:增加稀有类成本数

(2)下采样:减少大类样本数

(3)混合方法:结合(1)(2)

2.算法算法级别

(1)代价敏感学习方法:对正类错分赋予更高的代价,从而迫使分类器对正类有更高的识别率。

(2)分类器集成方法:首先数据级技术处理数据分布,然后选择算法级算法进行分类。

    但这些策略都有各自的缺点,比如:上采用会导致过度学习,下采样会损失重要信息,代价敏感方法会使真实的代价很难被准确估计并且很多分类器只是简单的调整正负比    例或决策阈值,效果不好(但支持向量机和决策树可以直接引入)

  二 不平衡信息分类问题

    不平衡率

    FRNN:通过计算每个类的上、下模糊粗糙近似度,为每个实例赋sum值。

    IFROWANN:相对于大量信息,更加注重少量信息;通过OWA模糊粗糙集模型聚合样本的贡献。

  

  三FRNN

    模糊集:注重描述信息的含糊程度。

    粗糙集:强调数据的不可辨别、不确定和模棱两可。

    FRNN算法:

通过引入类模糊隶属度来处理类交叠和噪声存在的情况。

1.采用模糊分类,得到待分类样本x的k个近邻;

2.根据距离,对它们的决策作用加权。

       核心是计算模糊粗糙隶属度。

      

  四 IFROWANN算法

    有序加权平均OWA:

(1)属性值按从小到大的顺序排序

(2)加权聚合

    权重向量的选择:

      

      例子:

  

      

  五 总结

   小结

    IFROWANN对不平衡信息分类问题,不仅优于传统的FRNN算法,而且包括算法级别,代价敏感和集成方法中的最优算法。

   待改善的地方:

1.结合数据级别技术,形成一个具有更好分类性能的集成方法;

2.使用包装方法或根据数据自身特性(不平衡率或数据复杂性特性),自动提取OWA的权重向量和训练集的不可辨别关系。

    多类处理技术:

1.多类问题转化为两类问题处理,未来可以结合OVO + IFROWANN算法设计一个新的技术。

2.修改IFROWANN算法直接处理多类问题。

机器学习:不平衡信息有序平均加权最近邻算法IFROWANN的更多相关文章

  1. 机器学习学习笔记之一:K最近邻算法(KNN)

    算法 假定数据有M个特征,则这些数据相当于在M维空间内的点 \[X = \begin{pmatrix} x_{11} & x_{12} & ... & x_{1M} \\ x_ ...

  2. KNN最近邻算法

    算法概述 K最近邻(K-Nearest Neighbor,KNN)算法,是著名的模式识别统计学方法,在机器学习分类算法中占有相当大的地位.它是一个理论上比较成熟的方法.既是最简单的机器学习算法之一,也 ...

  3. 机器学习【一】K最近邻算法

    K最近邻算法 KNN 基本原理 离哪个类近,就属于该类   [例如:与下方新元素距离最近的三个点中,2个深色,所以新元素分类为深色] K的含义就是最近邻的个数.在sklearn中,KNN的K值是通过n ...

  4. 在opencv3中实现机器学习算法之:利用最近邻算法(knn)实现手写数字分类

    手写数字digits分类,这可是深度学习算法的入门练习.而且还有专门的手写数字MINIST库.opencv提供了一张手写数字图片给我们,先来看看 这是一张密密麻麻的手写数字图:图片大小为1000*20 ...

  5. 【udacity】机器学习-knn最近邻算法

    Evernote Export 1.基于实例的学习介绍 不同级别的学习,去除所有的数据点(xi​,yi​),然后放入一个数据库中,下次直接提取数据 但是这样的实现方法将不能进行泛化,这种方式只能简单的 ...

  6. 机器学习-K最近邻算法

    一.介绍 二.编程 练习一(K最近邻算法在单分类任务的应用): import numpy as np #导入科学计算包import matplotlib.pyplot as plt #导入画图工具fr ...

  7. K最近邻算法

    K最近邻(K-Nearest-Neighbour,KNN)算法是机器学习里简单易掌握的一个算法.通过你的邻居判断你的类型,“近朱者赤,近墨者黑”表达了K近邻的算法思想. 一.算法描述: 1.1 KNN ...

  8. R语言︱机器学习模型评估方案(以随机森林算法为例)

    笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评 ...

  9. python的random模块及加权随机算法的python实现

    random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...

随机推荐

  1. 策略模式+注解 干掉业务代码中冗余的if else...

    前言: 之前写过一个工作中常见升级模式-策略模式 的文章,里面讲了具体是怎样使用策略模式去抽象现实中的业务代码,今天来拿出实际代码来写个demo,这里做个整理来加深自己对策略模式的理解.   一.业务 ...

  2. Java定时发送邮件

    背景 甲方爸爸:新接入业务在国庆以及军运会期间需要每天巡检业务并发送邮件告知具体情况! 我司:没问题. 甲方爸爸:假期也要发噢. 我司:没问题(...). 刚开始计划指定几个同事轮流发送,业务只要不被 ...

  3. 取html里的img和去html标签

    C#  : public string RemoveHTML(string html) { html = Regex.Replace(html, @"<script[^>]*?& ...

  4. Day 1 linux系统的发展史与虚拟机的安装过程

    自由软件之父 Richard M. Stallman 1984 发起了GNU组织 copyleft opensourc free GPL copyleft 代表无版权.copyright 代表有版权. ...

  5. MOOC C++笔记(四):运算符重载

    第四周:运算符重载 基本概念 运算符重载,就是对已有的运算符(C++中预定义的运算符)赋予多重的含义,使同一运算符作用于不同类型的数据时导致不同类型的行为. 运算符重载的目的是:扩展C++中提供的运算 ...

  6. Java多线程基础知识例子

    一.管理 1.创建线程 Thread public class Main { public static void main(String[] args) { MyThread myThread = ...

  7. JDK 13 都已经发布了,Java 8 依然是最爱

    在 JDK 版本的世界里,从来都是 Oracle 发他的新版本,我们继续用我们的老版本.三年之前用 JDK 7,后来终于升级到了 JDK 8.自从升级了没多久,JDK 就开始了半年发一个新版本的节奏, ...

  8. .Net Core WebApi(二)在Windows服务器上部署

    上一篇学习到了如何简单的创建.Net Core Api和Swagger使用,既然写了接口,那么就需要部署到服务器上才能够正式使用.服务器主要用到了两种系统,Windows和Linux,.Net和Win ...

  9. 【iOS】得到当前年、月、周的第一天和最后一天

    在写一个记账软件,其中有个统计功能.比如,统计某月的支出,需要知道某天所在的月的第一天和最后一天,以便从数据库中根据时间取数据. 话不多说,上代码: // // EBDate.h // ChargeM ...

  10. 10秒钟理解react生命周期

    慎点!这是一篇很水很水的文章, 抄自react中文文档, 本文详细介绍了react生命周期函数执行顺序, 以及各生命周期函数的含义和具体作用. 不同阶段生命周期函数执行顺序 挂载(Mounting) ...