机器学习:不平衡信息有序平均加权最近邻算法IFROWANN
一 背景介绍
不平衡信息,特点是少数信息更珍贵,多数信息没有代表性。所以一般的分类算法会被多数信息影响,而忽略少数信息的重要性。
解决策略:
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的更多相关文章
- 机器学习学习笔记之一:K最近邻算法(KNN)
算法 假定数据有M个特征,则这些数据相当于在M维空间内的点 \[X = \begin{pmatrix} x_{11} & x_{12} & ... & x_{1M} \\ x_ ...
- KNN最近邻算法
算法概述 K最近邻(K-Nearest Neighbor,KNN)算法,是著名的模式识别统计学方法,在机器学习分类算法中占有相当大的地位.它是一个理论上比较成熟的方法.既是最简单的机器学习算法之一,也 ...
- 机器学习【一】K最近邻算法
K最近邻算法 KNN 基本原理 离哪个类近,就属于该类 [例如:与下方新元素距离最近的三个点中,2个深色,所以新元素分类为深色] K的含义就是最近邻的个数.在sklearn中,KNN的K值是通过n ...
- 在opencv3中实现机器学习算法之:利用最近邻算法(knn)实现手写数字分类
手写数字digits分类,这可是深度学习算法的入门练习.而且还有专门的手写数字MINIST库.opencv提供了一张手写数字图片给我们,先来看看 这是一张密密麻麻的手写数字图:图片大小为1000*20 ...
- 【udacity】机器学习-knn最近邻算法
Evernote Export 1.基于实例的学习介绍 不同级别的学习,去除所有的数据点(xi,yi),然后放入一个数据库中,下次直接提取数据 但是这样的实现方法将不能进行泛化,这种方式只能简单的 ...
- 机器学习-K最近邻算法
一.介绍 二.编程 练习一(K最近邻算法在单分类任务的应用): import numpy as np #导入科学计算包import matplotlib.pyplot as plt #导入画图工具fr ...
- K最近邻算法
K最近邻(K-Nearest-Neighbour,KNN)算法是机器学习里简单易掌握的一个算法.通过你的邻居判断你的类型,“近朱者赤,近墨者黑”表达了K近邻的算法思想. 一.算法描述: 1.1 KNN ...
- R语言︱机器学习模型评估方案(以随机森林算法为例)
笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评 ...
- python的random模块及加权随机算法的python实现
random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...
随机推荐
- 本地代码上传至github
一. 环境及工具 1.下载并安装git版本管理工具 到 http://git-scm.com/downloads 下载并安装git版本管理工具 2.Windows客户端 3.配置github账号密码及 ...
- 高级部分_委托、Lambda表达式、事件
委托 (1)把方法当作参数来传递的话,就要用到委托: (2)委托是一个类型,这个类型可以赋值一个方法的引用. C#使用一个类分为两个阶段,首先定义这个类,告诉编译器这个类由什么字段和方法组成:然后使用 ...
- Python中使用高德API实现经纬度转地名
场景 高德API提供给开发者们一些常用功能的接口,其中有一种叫地理/逆地理编码能实现 地名查询经纬度和经纬度查地名. 实现 高德API平台: https://lbs.amap.com/ 注册并登陆 找 ...
- Java多线程(十四):Timer
Timer schedule(TimerTask task, Date time) 该方法在指定日期执行任务,如果是过去的时间,这个任务会立即被执行. 执行时间早于当前时间 示例代码,当前时间是201 ...
- Winform去掉标题栏后移动窗体
第一步:声明全局变量-> private Point _HoverTreePosition; 第二步: #region 隐藏标题栏后移动窗口 private void Form_HoverTr ...
- 实例化Bean的几种方法
1.使用构造器实例化Bean. 当没有指定实例化方法时,Spring IoC容器能使用默认空构造器.构造器实例化包括默认空构造器和有参数构造器两种方式创建Bean. 2.使用构造器实例 ...
- [Linux] telnet 具体到某个端口Connection refused
可以参考这个链接:https://q.cnblogs.com/q/106337/
- CentOS7下LVM的基本操作
CentOS7下LVM的基本操作-创建LVM 环境 物理主机:windows10 虚拟软件:VMWare14 虚拟机:CentOS Linux release 7.6.1810 (Core) 软件环境 ...
- unity - TileMap的注意事项
本文记述了一些在使用Tilemap绘制场景时的需要注意的细节问题. 关于Tilemap的创建及使用本文不做说明,但推荐佳作:Unity中使用Tilemap快速创建2D游戏世界 - feng 本文项目地 ...
- 品Spring:能工巧匠们对注解的“加持”
问题的描述与方案的提出 在Spring从XML转向注解时,为了自身的开发方便,对注解含义进行了扩充(具体参考本号上一篇文章). 这个扩充直接导致了一个问题,就是需要从注解往元注解以及元元注解(即沿着从 ...