【复习】人工智能 第7章 专家系统与机器学习

专家系统就是让机器人当某个领域的专家,但这章专家系统不咋考,主要靠书上没有的机器学习。

一、专家系统的基本组成

二、专家系统与传统程序的比较

(1)编程思想:

传统程序 = 数据结构 + 算法

专家系统 = 知识 + 推理

(2)知识存储位置:

传统程序:关于问题求解的知识隐含于程序中。

专家系统:知识单独组成知识库,与推理机分离。

(3)处理对象:

传统程序:数值计算和数据处理。

专家系统:符号处理。

(4)解释功能:

传统程序:不具有解释功能。

专家系统:具有解释功能。

(5)正确答案:

传统程序:产生正确的答案。

专家系统:通常产生正确的答案,有时产生错误的答案。

(6)系统的体系结构不同

三、知识获取的过程

抽取知识、知识的转换、知识的输入、知识的检测 。

四、7.4.2  知识获取的模式

非自动知识获取、自动知识获取、半自动知识获取。

五、机器学习

就是让机器不依靠外力,自己学习。

非显著式编程:让计算机自己总结规律的编程方法

举例说明,让机器人冲咖啡,人类规定机器人可以采取一系列行为,规定机器人在特定的环境下做这些行为所带来的收益称为 “ 收益函数 ” 。如:机器人自己摔倒,收益函数为负值;机器人自己摔倒,收益函数为负值;机器人自己取到咖啡,收益函数值为正值。

Tom Mitshell 对机器学习的定义:

一个计算机程序被称为可以学习,是指它能够针对某个任务T和某个性能指标P,从经验E中学习。这种学习的特点是,它在T上的被P所衡量的性能,会随着经验E的增加而提高。

人类在成长、生活过程中积累了很多的历史与经验。人类定期地对这些经验进行“归纳”,获得了生活的“规律”。当人类遇到未知的问题或者需要对未来进行“推测”的时候,人类使用这些“规律”,对未知问题与未来进行“推测”,从而指导自己的生活和工作 。而机器也可以。

机器学习工作流程总结

1.获取数据

在数据集中一般一行数据我们称为一个样本一列数据我们成为一个特征

所有的机器学习算法在应用场景、优势劣势、对数据要求、运行速度上都各有优劣,但有一点不变的是都是数据贪婪的,也就是说任何一个算法,都可以通过增加数据来达到更好的结果,因此第一步数据采集也是最基础,最重要的一步。

2.数据基本处理

数据清洗,比如我们通过爬虫得来的数据很杂,甚至很多不是我们需要,然后我们对其进行筛选,这个就类似这个过程。

3.特征工程

把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征

注:业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

4.机器学习

般认为包括 特征构建、特征提取、特征选择三个部分。

 特征构建是指从原始数据中人工的找出一些具有物理意义的特征。

5.构建模型

① 建立训练数据集和测试数据集,通常80%为训练数据集。

② 选择机器学习算法

选择合适的算法对模型进行训练,其中就要求有好的泛化能力(举一反三的能力)。

一般是拟合的模型是好的,但是过拟合就不好,因为要是过拟合肯定是模型比需要的更复杂导致的,不需要这样,这样只会导致变慢,在预测新数据方面的表现也非常糟糕。

6.模型评估

对训练好的模型进行评估。

模型评估主要分为离线评估在线评估两个阶段。

六、模型评估指标

a. 准确率

就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。

(但是准确率只要没到百分百就肯定有问题,例如每次喝水都没事,但是有一次噎住了就g了,人的生命不能重来就是这个意思,老师加这句话我也不理解为什么)

(TP + TN) / (TP + FP +TN+FN)

b.精确率

是针对预测结果而言的,它表示正确分类的正样本个数分类器判定为正样本的样本个数的比例。把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。

 P = TP / ( TP + FP )

c.召回率

是指判定成功的正样本个数真正的正样本数的比例。

把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

则:R = TP / ( TP + FN )

确率也称为查准率p召回率也称为查全率r,查准率和查全率是一对矛盾的度量。一般说查准率高时,查全率往往偏低,而查全率高时,查准率往往偏低。(因为计算能力终究是有极限的,你查的越准,那查的就不一定越全,但是未来肯定就不一样了)

计算:

true这列表示正例或者负例,hyp这列表示阈值0.5的情况下,概率是否大于0.5。

根据这个表格我们可以计算:TP=6(实际上有多少正类就是True),FN=0(相当于正类都预测对了,毕竟按0.5算,正类甚至到了8个之多),FP=2(有两个负类被预测成正类),TN=2(预测结果中有几个反例,这个用不到,我们应该一般不算准确率)

所以

召回率recall = 6/(6+0)=1

精确率precison = 6/(6+2)=0.75

准确率 =(6+2)/(6+0+2+2)= 0.8

下面的在PR曲线里面用到:

那么得出PR曲线坐标(1,0.75)。

同理得到不同阈下的坐标,即可绘制出曲线。

七、PR曲线(本章重点)

(1)用于研究评估分类模型在不同阈值下的精确率(注意不是准确率)召回率之间的权衡关系。

(2)在PR曲线中,横轴表示召回率,纵轴表示精确率。

(3)绘制PR曲线的方法

1.在测试集上使用分类模型进行预测,并得到相应的概率(或决策分数)。

2.使用不同的阈值将概率(或决策分数)将样本转化为正负例,例如将概率大于0.5的样本预测为正例,小于等于0.5的样本预测为负例。

3.根据阈值和模型预测结果,计算精确率和召回率。

4.使用不同的阈值重复步骤3和步骤4,记录不同阈值下的精确率和召回率。

5.绘制PR曲线时,可以使用线图或者散点图。将不同阈值下的精确率和召回率作为点绘制在图上,并将点按照阈值的大小进行连接,得到PR曲线。

6.可以通过计算PR曲线下的面积来评估模型在精确率和召回率之间的整体性能,面积越大,模型的性能越好。

需要注意的是,PR曲线适用于正负样本不平衡的分类问题,并且对于严重偏斜的数据集,PR曲线可能更能反映模型的性能。

优劣对比:

1:曲线越靠近右上方,性能越好。(例如上图黑色曲线)

2:根据曲线下方面积大小判断,面积更大的更优于面积小的。(例如橘蓝曲线,橘色优于蓝色)

3:平衡点F是查准率与查重率相等时的点。F计算公式为F =2*P*R /(P +R),F值越大,性能越好。

八、机器学习的分类

以下四个机器学习的任务,如何分类?

(1)教计算机下棋;

(2)垃圾邮件识别,教计算机自动识别某个邮件是否是垃圾邮件;

(3)人脸识别,教计算机通过人脸的图像识别这个人是谁;

(4)无人驾驶,教计算机自动驾驶汽车从一个指定地点到另一个指定地点。

(2)、(3)中的经验E是完全由人搜集起来输入进计算机的,称为监督学习。

(1)、(4)中的经验E是由计算机与环境互动获得的,称为强化学习。

1.按学习方式分:

2.按照学习任务分:

有三种——分类,回归,聚类。

分类是预测一个标签 (是离散的),属于监督学习。

回归是预测一个数量 (是连续的),属于监督学习。

聚类属于无监督学习。

聚类是在预先不知道欲划分类的情况下,根据信息相似度原则进行信息聚类的一种方法。聚类的目的是使得属于同类别的对象之间的差别尽可能的小,而不同类别上的对象的差别尽可能的大。

因此,聚类的意义就在于将观察到的内容组织成类分层结构把类似的事物组织在一起

3.分类和回归的区别

1)输出不同

分类问题输出的是物体所属的类别,回归问题输出的是物体的值。

例如,根据天气情况预测明天穿衣服的量以及是否携带雨具做判断。

阴天就是分类,多少度就是回归,但是都可以用来判断明天带不带伞。

(2)目的不同

分类的目的是为了寻找决策边界,即分类算法得到是一个决策面。

回归的目的是为了找到最优拟合,通过回归算法得到是一个最优拟合线,这个线条可以最好的接近数据集中的各个点。

(3)结果不同

分类的结果只有一个,判断属于什么类别。

回归是对真实值的一种逼近预测,值不确定,当预测值与真实值相近时,误差较小时,认为这是一个好的回归。

本质一样,都是要建立映射关系。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

模型\视图一般步骤:为什么经常要用“选择模型”QItemSelectionModel?

一、“使用视图”一般的步骤: //1.创建 模型(这里是数据模型!) tabModelnew QSqlTableModel(this,DB);//数据表 //2.设置 视图的模型(这里是数据模型!) ui->tableView->setModel(tabModel); 模型种类: QStringListModel…

golang 记录一次协程和协程池的使用,利用ants协程池来处理定时器导致服务全部阻塞

前言 在实习的项目中有一个地方遇到了需要协程池的地方,在mt推荐下使用了ants库。因此在此篇记录一下自己学习使用此库的情况。 场景描述 此服务大致是一个kafka消息接收、发送相关。接收消息,根据参数设置定时器进行重发。 通过这里新建kafka服务&a…

【Spring实战】27 统一异常处理最佳实践

文章目录 1. 自定义异常2. 统一异常处理3. 配置4. 应用5. 启动类6. 启动服务7. 验证8. 优点总结 在 Spring 项目中,有效的异常处理是确保应用程序稳定性和用户体验的关键因素之一。通过实现统一异常处理,我们能够更好的管理和响应应用程序中的各种异常情…

vue elementUI Tree 树形控件的使用方法

用清晰的层级结构展示信息&#xff0c;可展开或折叠。 效果演示 trees.vue代码 <template><div><!-- 树形控件 --><el-tree :data"treesList" :props"treesProps" show-checkbox node-key"id"default-expand-all :defau…

关于TLS相关安全配置问题

近期被信安部门反馈了TLS几个安全漏洞。 SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)【原理扫描】SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱【原理扫描】SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)【原理扫…

步进电机介绍

一、什么是步进电机&#xff1a; 步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号&#xff0c;转子就转动一个角度或前进一步&#xff0c;其输出的角位移或线位移与输入的脉冲数成正比&#xff0c;转速与脉冲频率成正比。因此&#xff0c;步…

FPGA之按键消抖

目录 1.原理 2.代码 2.1 key_filter.v 2.2 tb_key_filter.v 1.原理 按键分为自锁式按键和机械按键&#xff0c;图左边为自锁式按键 上图为RS触发器硬件消抖&#xff0c;当按键的个数比较多时常常使用软件消抖。硬件消抖会使用额外的器件占用电路板上的空间。 思路就是使用延…

c++临时对象的探讨及相关性能提升

产生临时对象的情况 我们定义一个类进行测试 class tempVal { public:int v1, v2;tempVal(int v1 0, int v2 0);tempVal(const tempVal& t) :v1(t.v1), v2(t.v2) {cout << "调用拷贝构造函数" << endl;}virtual ~tempVal() {cout << "…

第九届云计算与大数据分析国际会议(ICCCBDA 2024)即将召开!

​ 第九届云计算与大数据分析国际会议&#xff08;ICCCBDA 2024&#xff09;将于2024年4月25-27日在中国成都召开。ICCCBDA自创办以来&#xff0c;已经成功召开了八届。此次会议将介绍一些当前和未来的前沿技术趋势、创新方案、研究成果&#xff0c;以及和云计算和大数据分析相…

数据讲述中国故事!和鲸助力中国综合社会调查(CGSS)数据分析与可视化大赛圆满收官

中国综合社会调查&#xff08;Chinese General Social Survey&#xff0c;CGSS&#xff09;始于 2003 年&#xff0c;由中国人民大学中国调查与数据中心&#xff08;NSRC&#xff09;常年负责其相关实施工作&#xff0c;作为我国最早具全国性、综合性、连续性的学术社会调查项目…

http跟https有什么区别?

HTTPS和HTTP的概念&#xff1a; HTTP&#xff1a;是互联网上应用最为广泛的一种网络协议&#xff0c;是一个客户端和服务器端请求和应答的标准&#xff08;TCP&#xff09;&#xff0c;用于从WWW服务器传输超文本到本地浏览器的传输协议&#xff0c;它可以使浏览器更加高效&am…

探索前端跨组件通信:EventBus在Vue和React中的应用

本文作者系360奇舞团前端开发工程师 EventBus 简介 事件总线&#xff08;Event Bus&#xff09;是一种用于组件间通信的模式&#xff0c;通常用于解决组件之间的解耦和简化通信的问题。在前端框架中&#xff0c;如 Vue.js&#xff0c;事件总线是一个常见的概念。基本上&#xf…

【hcie-cloud】【21】容器详解【容器网络说明、容器存储说明、容器镜像说明、dockerfile详述、缩略词】【下】

文章目录 容器介绍&#xff0c;容器工作机制、容器常用命令说明容器网络容器网络简介容器常用网络类型 - Bridge容器常用网络类型 - Host容器常用网络类型 - None其他容器网络类型【Macvlan、Overlay、IPvlan】容器网络相关配置 容器存储容器中应用数据的存储容器持久化存储配置…

HTML5 article标签,<time>...</time>标签和pubdate属性的运用

1、<article>...</article>标签的运用 article标签代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。它可以是一篇博客或报竟杂志中的文章、一篇论坛帖子、一段用户评论或一个独立的插件&#xff0c;或者其他任何独立的内容。把文章正文放在h…

【HarmonyOS4.0】第四篇-ArkUI基础实战

一、ArkUI框架简介 ArkUI开发框架是方舟开发框架的简称&#xff0c;它是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架&#xff0c;它使用极简的UI信息语法、丰富的UI组件以及实时界面语言工具&#xff0c;帮助开发者提升应用界面开发效率 30%&#xff0c;开发…

(23)Linux的软硬连接

前言&#xff1a;上一章我们讲解了 inode&#xff0c;为文件系统收了尾&#xff0c;这几章我们充分地讲解完了文件系统的知识点&#xff0c;现在我们开始开始学习软硬链接了。 软硬链接 1、Linux 下的快捷方式&#xff1a;软链接 上一章我们介绍完了 inode &#xff0c;我们…

试用统信服务器操作系统UOS 20

作者&#xff1a;田逸&#xff08;formyz&#xff09; 试用统信Linux操作系统UOS&#xff0c;想了解一下用已有的Linux经验能否轻松驾驭它。以便在某些场景下&#xff0c;可以多一种选择。本次试验在Proxmox VE 8&#xff08;以下简称PVE 8&#xff09;平台下进行&#xff0c;采…

【题解】—— LeetCode一周小结

1.经营摩天轮的最大利润 题目链接&#xff1a; 1599. 经营摩天轮的最大利润 你正在经营一座摩天轮&#xff0c;该摩天轮共有 4 个座舱 &#xff0c;每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱&#xff0c;但每次轮转都需要支付一定的运行成本 runningCost 。摩…

JRT打印元素绘制协议之-A4Double

以前打印相信很多人因为A4打印两个报告头大过&#xff0c;M要把一堆报告既有A4的也有A5的还有微生物的&#xff0c;可能输出Page还不那么严谨。要么换页不对叠加了、要么多空白页、中间夹杂A4报告就更加头大。也有的人为了打印页码的共几页而头大。 借助新设计的优势&#xff…

uni-app中轮播图实现大图预览

参考效果 当轮播图滑动切换的时候更新自定义下标&#xff0c;当图片被点击的时候大图预览。 参考代码 商品详情页轮播图交互 <script setup lang"ts"> // 轮播图变化时 const currentIndex ref(0) const onChange: UniHelper.SwiperOnChange (ev) > …