人工智能中数据组合采样、特征层、算法层的讲解(图文详解)

简介: 人工智能中数据组合采样、特征层、算法层的讲解(图文详解)

一、数据组合采样

欠采样和过采样都是只针对某一类样本,第三种采样就是把过采样和欠采样技术结合起来同时进行,即组合重采样,其基本思想是增加样本集中少数类样本的个数,同时减少多数类样本的个数,以此来降低不平衡度,有两个典型的组合方法:SMOTE+Tomeklinks和SMOTE+ENN,下面对它们分别进行讲解

1:SMOTE + Tomek Link Removal

首先,利用SMOTE方法生成新的少数类样本,得到扩充后的数据集T。然后剔除T中的Tomek links对

为什么需要这两者的组合呢?避免SMOTE导致原本属于多数类样本的空间被少数类“入侵”(invade),由Tomek links去除噪声点或者边界点

2:SMOTE+ENN

和SMOTE+Tomek links方法的思路相似,包含两个步骤

1) 利用SMOTE方法生成新的少数类样本,得到扩充后的数据集T

2) 对T中的每一个样本使用kNN(一般k取3)方法预测,若预测结果和实际类别标签不符,则剔除该样本

二、特征层的不平衡数据分类

在网络安全中,某些类别的网络数据难以获得而导致了非平衡问题,多数类通常是正常的,而少数类是攻击行为,各个类别的样本数量分布虽然具有不平衡性,但这种非平衡性并非在所有特征上都存在

特征层解决不平衡数据分类的思路就是选择最合适的特征表示空间,再进行分类

最合适”是指提高少数类及整体的分类正确性。把数据样本投影到这个“最合适”的子空间中,多数类可能聚集在一起或重叠在一起,那么就有利于减小数据的非平衡性

根据机器学习的特征理论,在特征空间的构造方面,存在两大类方法,即特征选择和特征提取

三、算法层面的非平衡数据分类

1:代价敏感方法

代价敏感:设置损失函数的权重,使得少数类判别错误的损失大于多数类判别错误的损失

以分类错误总代价最低为优化目标,能更加关注错误代价较高类别的样本,使得分类性能更加合理

实现方法:

一是,改变原始的数据分布来得到代价敏感的模型;

二是,对分类的结果进行调整,以达到最小损失的目的;

三是,直接构造一个代价敏感的学习模型

优化目标 最优的Bayes预测就是把x分为使得R(i|x) 最小化的类别k,即: K= argmin R(i|x), i=1,2,…N 其中R(i|x)是某个类别i的样本x的分类风险

对于一个给定的训练数据集((x1,Y1,),…,(xn,yn)),标准的非代价敏感支持向量机学习出一个决策边界

普通SVM

偏置惩罚支持向量机(BP-SVM)

代价敏感教练损失支持向量机(CSHL-SVM)

2:单分类器方法

单类分类器方法:仅对少数类进行训练,例如运用SVM算法

密度估计法 基于聚类的方法 基于支持域的方法

单类支持向量机(OneclassSVM) 支持向量数据描述(Support Vector Data Description,SVDD)

当多数类中存在明显簇结构时,使用聚类方法获得聚类结构有利于提高多数类轮廓描述的精度

3:集成学习

典型的集成学习方法有Bagging、 Boosting、Stacking

Over Bagging:每次迭代时应用随机过采样在小类数据

Under Bagging:每次迭代时应用随机下采样在大类数据

SMOTEBagging:结合了SMOTE与bagging,先使用SMOTE生成更加全面的小类数据,然后应用bagging

Asymmetric bagging:每次迭代时,全部小类数据保留,从大类数据中分离一个与小类数据一样大的子集

SMOTEBoost : 结合了SMOTE方法代替简单的增加小类观察点的权重

BalanceCascade : 是典型的双重集成算法,采用Bagging作为基本的集成学习方法,并在训练每个Boostrap数据时,使用AdaBoost作为分类算法

相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
13 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
2天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
10 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
2天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
8 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
13天前
|
存储 编解码 负载均衡
数据分片算法
【10月更文挑战第25天】不同的数据分片算法适用于不同的应用场景和数据特点,在实际应用中,需要根据具体的业务需求、数据分布情况、系统性能要求等因素综合考虑,选择合适的数据分片算法,以实现数据的高效存储、查询和处理。
|
13天前
|
存储 缓存 算法
分布式缓存有哪些常用的数据分片算法?
【10月更文挑战第25天】在实际应用中,需要根据具体的业务需求、数据特征以及系统的可扩展性要求等因素综合考虑,选择合适的数据分片算法,以实现分布式缓存的高效运行和数据的合理分布。
|
18天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
61 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
26天前
|
机器学习/深度学习 人工智能 算法
"拥抱AI规模化浪潮:从数据到算法,解锁未来无限可能,你准备好迎接这场技术革命了吗?"
【10月更文挑战第14天】本文探讨了AI规模化的重要性和挑战,涵盖数据、算法、算力和应用场景等方面。通过使用Python和TensorFlow的示例代码,展示了如何训练并应用一个基本的AI模型进行图像分类,强调了AI规模化在各行业的广泛应用前景。
29 5
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19
44 2
|
18天前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
27 0
|
22天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。