人工智能开发实战常用分类算法归纳与解析

内容导读

  1. 决策树
  2. 贝叶斯分类器
  3. 最近邻分类器
  4. 支持向量机
  5. 神经网络

一、决策树

决策树(Decision Tree)是用于决策的一棵树,从根节点出发,通过决策节点对样本的不同特征属性进行划分,按照结果进入不同的分支,最终达到某一叶子节点,获得分类结果。

以下是一个简单的垃圾邮件分类决策树。

上边决策树对邮件的标题、内容分词和分词频率分别进行评估,然后进入不同的选择分支,最终完成分类。

可见,决策树的构建过程是按照样本特征的优先级或重要性确定树的层次结构,使其叶子节点尽可能属于同一类别。

决策树常用于基于规则的等级评估、比赛结果预测和风险研判等。

二、贝叶斯分类器

在一些应用中,特征集和类变量之间的关系是不确定的,也就是说,我们很难通过一些先验知识直接预测它的类标号,这种情况产生的原因可能是多方面的,如噪音、主要变量的缺失等。

对于这类求解问题,可以将其视为一个随机过程,使用概率理论来分析。

例如:我们不能直接预测随意一次投币的结果是正面(类1)还是反面(类0),但我们可以计算出它是正面或反面的概率。

贝叶斯(Bayes Classifier)分类器就是对于给定的分类项,利用下式贝叶斯定律,求解该分类项在条件下各类别中出现的概率,哪个概率最大,就将其划分为哪个类别。

上式的解释是:X,Y是一对随机变量,X出现的前提下Y发生的概率P(Y ΙX )等于Y出现的前提下X发生的概率P(Y ΙX )

与Y出现的概率P(Y )的乘积然后再除以X出现的概率P(X )。

仍以垃圾邮件过滤为例,使用贝叶斯方法通过考虑关键词在邮件中出现的概率来辨别垃圾邮件。

假设收到一封由n个关键词组成的邮件E,x=[1,0]分别表示正常邮件和垃圾邮件,那么就可以根据n个关键词出现在以往邮件中的正常邮件概率p(x=1|E)和这n个关键词出现在以往邮件中的垃圾邮件概率p(x=0|E)的大小来判定该邮件是否为垃圾邮件,

如果:p(x=1|E)> p(x=0|E),则为正常邮件,否则为垃圾邮件。

根据贝叶斯定理,

上式中p(x=1)和p(x=0)可以根据邮箱中正常邮件和垃圾邮件的个数计算出来,而p(E)

的计算则是根据贝叶斯分类假设,所有的特征变量(关键词)都是独立作用于决策变量,

因此有:

上式中的p(Ei) 表示所有邮件中关键词Ei的概率,于是就根据贝叶斯分类器解决了此垃圾邮件分类问题。

由于贝叶斯分类器有坚实的数学基础作为支撑,模型参数较少,对缺失数据不敏感,其分类效率稳定,在文本分类、图像识别和网络入侵检测等方面得到广泛应用。

三、最近邻分类器

我们把每个具有n个特征的样本看作n维空间的一个点,对于给定的新样本,先计算该点与其它样本点的距离(相似度),然后将新样本指派为周围k个最近邻的多数类,这种分类器称为最近邻方法(k-Nearest Neighbor,KNN)。

该分类器的合理性可以用人们的常规认知来说明:判别一个人是好人还是坏人,可以从跟他走得最近的k个人来判断,如果k个人多数是好人,那么可以指派他为好人,否则他是坏人。

在下图中,求待分类样本x的类别。

由图可知,如果取k=3个最近邻,则x被指派为正方形类;如果取k=5个最近邻,则x被指派为三角形类。

由此可见,k的取值大小对分类结果是有影响的,另外,当样本数据较大时,计算相似度所消耗的时间和空间较高,导致分类效率低。

还有,从上图可以看出,采用多数表决方法来判别x的类别,是没有考虑与x不同距离的近邻对其影响的程度,显然,一个远离x的近邻对x的影响是要弱于离它近的近邻的。

尽管k近邻分类器有诸如上述缺点,但该分类技术是基于具体的训练实例进行预测,不必为训练集建立模型,还可以生成任何形状的决策边界,从而能提供灵活的模型表示,在数字和像识别等方面得到较好的应用。

四、支持向量机

支持向量机(Support Vector Machine,SVM)的基本思想是通过非线性映射α,把样本空间映射到一个高维的特征空间,将原本空间线性不可分的问题,转化成在高维空间通过一个线性超平面将样本完全划分开。

例如,在下图中,左边二维空间的样本点,无法线性划分,但通过映射到三维空间,却可以用一个平面将这些样本完全分开。

SVM是一种有坚实统计学理论支撑的机器学习方法,其最终的决策函数只由位于超平面附件的几个支持向量决定,该方法不仅算法简单,而且具有较好的鲁棒性,特别适合解决样本数据较少、先验干预少的非线性分类、回归等问题。

五、神经网络

神经网络(Neural Network)分类器由输入层、隐藏层和输出层构成,是通过模仿人脑神经系统的组织结构及其某些活动机理,来呈现人脑的许多特征。其基本结构如下图所示。

上图中每个节点代表一个神经元,节点之间的连线对应权重值w,输入变量x经过神经元时被激活函数φ赋予权重并加上偏置,将运算结果传递到下层网络的神经元,在输出层中,神经元对各个输入进行线性加权求和,并经符号函数sgn处理,最后给出输出值y

若该神经网络用于分类,在检验阶段,如果yi=max(y1,...,yp),则该预测样本为第i类的可能性最大,即判定该样本属于第i类。

更多内容请持续关注本站!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/426490.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TDengine 签约前晨汽车,解锁智能出行的无限潜力

在全球汽车产业转型升级的背景下,智能网联和新能源技术正迅速成为商用车行业的重要发展方向。随着市场对环保和智能化需求的日益增强,企业必须在技术创新和数据管理上不断突破,以满足客户对高效、安全和智能出行的期待。在这一背景下&#xf…

分布式中间件-redis相关概念介绍

文章目录 什么是redis?示意图Redis的主要特点Redis的主要用途Redis的工作原理Redis的持久化与备份 redis 6.x新增特性多线程数据加载客户端缓存新的 RESP 3 协议支持ACL(Access Control List)功能新增数据类型性能改进配置文件的改进其他改进 redis数据…

实用测评!7种方式将PDF导出为图片,pdf转jpg一键转换!

pdf怎么转换成jpg?pdf是一种通用的便携文件格式之一,而jpg是一种广泛使用的图像格式,平时处理这两种格式文件时,难免会遇到需要将pdf转成jpg格式的情况,例如在学术研究、创意设计、报告提交等领域。 pdf转jpg是一个很常…

应用层协议HTTP介绍

一、HTTP协议介绍 HTTP(HyperText Transfer Protocol,超文本传输协议)是一个至关重要的协议。它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本。 超文本:视频,音…

在家找不到手机?除了语音助手,还可以用远程控制!

总说手机有定位功能,但手机定位一般只能用于室外较大范围,例如在某个街角交叉位置、某个公园位置,某幢楼的某层位置。如果是在室内,例如自己家,手机定位就显得没那么好用了。 在家里怎么找突然“失踪”的手机&#xff…

HarmonyOS 速记

目录 装饰器Entry(入口)Component(组件)State(状态)Prop(属性)Preview(预览)PreviewerInspector 结构体structbuild自定义组件自定义 Custom 组件 容器Row(行) & Column(列)RelativeContainer(相对布局容器)marginpaddingSwiper(轮播图)Grid(网格容器)List(列表) 组件Image…

CISP知识点,看完这个就够了!

内容较多,编辑了目录方便查看~ 一、信息安全保障 知识点:信息安全概念、信息安全属性、信息安全视角、信息安全发展阶段、信息安全保障新领域、安全保障框架模型、基于时间的PDR与PPDR模型、信息安全保障技术框架、信息系统安全保障评估框架、企业安全…

【Docker部署ELK】(7.15)

1、拉取镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.0 docker pull docker.elastic.co/kibana/kibana:7.15.0 docker pull docker.elastic.co/logstash/logstash:7.15.02、配置文件(解压资源到D盘DOCKER目录下) 2.1 配置文件…

【Lua】第四篇:字符串操作

文章目录 一. Lua中字符串的表示方法二. 获取字符串长度三. 字符串多行打印方法一:使用 \n 换行方法一:使用 [[ ]] 四. 字符串拼接五. 别的类型转字符串六. 常用字符串接口1. 把字符串内容全转为小写2. 把字符串内容全转为大写3. 字符串翻转4. 子串查找4…

【bug】通过lora方式微调sdxl inpainting踩坑

报错内容 ValueError: Attempting to unscale FP16 gradients. 报错位置 if accelerator.sync_gradients:params_to_clip (itertools.chain(unet_lora_parameters, text_lora_parameters_one, text_lora_parameters_two)if args.train_text_encoderelse unet_lora_parameters…

SpringBoot:Web开发(基于SpringBoot使用MyBatis-Plus+JSP开发)

目录 前期准备 构建项目(IDEA2023.1.2,JDK21,SpringBoot3.3.3) 添加启动器 Model准备 这里我们利用MybatisX插件生成我们所需要的实体类、数据访问层以及服务层 注意选择MyBatis-Plus3以及Lombok 然后再在service接口中定义…

达梦数据库导入xml迁移到达梦数据库大文件导致中断问题解决方案记录?

问题:我将同事给我的xml文件迁移到盗梦数据库,xml文件大约2G,在导入过程中,总是导入一半都不到就失败了。 原因:我的原因是我的电脑的系统的运行内存是16G的,后来我发现在没导入之前,其他进程已…

android 老项目中用到的jar包不存在,通过离线的方法加载

1、之前的项目用的jar包,已经不在远程仓库中,只能手工去下载,并且安装。 // implementation com.github.nostra13:Android-Universal-Image-Loader // implementation com.github.lecho:hellocharts-android:v1.5.8 这…

Java进阶之集合框架(Set)

【基本内容】 二、Set接口(接上一章) Set是Java集合框架中不允许有重复元素的无序集合,其典型的实现类是HashSet,它完全是遵循Set接口特性规范实现的,无序且不允许元素重复;而Set接口下的实现类还有LinkedHashSet和TreeSort&#…

前后端分离Vue美容店会员信息管理系统o7grs

目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取 技术栈介绍 本课题的研究方法和研究步骤基本合理,难度适中,本选题是学生所学专业知识的延续,符合…

java项目之疫情下图书馆管理系统源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的疫情下图书馆管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息。 项目简介: 疫情下图书馆管理系…

【OJ刷题】双指针问题6

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:OJ刷题入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…

OpenAI o1——人工智能推理能力的飞跃,助力高级问题解决

前言 开放人工智能 新模型, OpenAI o1 或草莓,代表了 人工智能。它以 OpenAI 的 GPT 系列等先前模型为基础,并引入了增强的推理能力,从而加深了科学、编码和数学等各个领域的问题解决能力。与主要擅长处理和生成文本的前辈不同&a…

Pandas的入门操作-Series对象

Pandas的数据结构 Series对象 class pandas.Series(dataNone, indexNone) data参数 含义:data是Series构造函数中最主要的参数,它用来指定要存储在Series中的数据。 数据类型:data可以是多种数据类型,例如: Python 列…

【JavaEE初阶】多线程6(线程池\定时器)

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 实例3:线程池 参数解释 核心线程数, 最大线程数 允许空闲的最大时间 ,时间单位 任务队列(阻塞队列) 线程工厂>工厂设计模式 拒绝策略 使用举例 模拟实现一个线…