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

news2025/1/18 10:55:06

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

一、专家系统的基本组成

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

(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)结果不同

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ansible基础概念

一、【写在前面】 前面断更了几天,笔者被流感给干倒了,去拍了个核磁,给我脑子干成脱髓鞘了,也不知道是之前新冠导致的还是如何,哎要变成愚蠢的低级动物了……稍微恢复一点体力,今天赶快来博客水一水文章。…

Javaweb之Mybatis的动态SQLforeach和include的详细解析

3.3 动态SQL-foreach 案例:员工删除功能(既支持删除单条记录,又支持批量删除) SQL语句: delete from emp where id in (1,2,3); Mapper接口: Mapper public interface EmpMapper {//批量删除public voi…

re:Invent 2023 技术上新|使用管理控制台中的全新 myApplications 简化应用程序资源的管理...

亚马逊云科技支持应用程序操作的 myApplications 正式上线,这组新功能可帮助您在亚马逊云科技上开始使用您的应用程序,以更少的工作量操作应用程序,并更快地进行大规模迁移。使用亚马逊云科技管理控制台中的 myApplication,您可以…

Spark与Elasticsearch的集成与全文搜索

Apache Spark和Elasticsearch是在大数据处理和全文搜索领域中非常流行的工具。在本文中,将深入探讨如何在Spark中集成Elasticsearch,并演示如何进行全文搜索和数据分析。将提供丰富的示例代码,以便更好地理解这一集成过程。 Spark与Elastics…

555断线报警器电路图

电路的核心部分由NE555组成,R1、R2、C1和NE555组成一个频率越为3KHz左右的多谐振荡电路,当电路接通电源时,振荡器开始工作蜂鸣器LS1发出响声;当1和2被短接时,振荡器的工作条件被破坏,LS1停止工作。 电路分…

【动态规划】【矩阵】C++算法329矩阵中的最长递增路径

作者推荐 【动态规划】C算法312 戳气球 题目 给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。 对于每个单元格,你可以往上,下,左,右四个方向移动。 你 不能 在 对角线 方向上移动或移动到 边界外&…

如何正确地理解应用架构并开发

许多同学或多或少都经历过这样的流程: 新同学刚来公司,学习了解团队的一些工程代码,并了解其中的代码风格团队新接手了一些其他团队的项目,需要了解工程结构以及概念如何定义工程项目的工程结构,包目录结构并达成团队共…

IO进程线程 day7 进程间通信

1.使用消息队列完成两个进程之间相互通信 2.信号通信相关代码的重新实现 &#xff08;1&#xff09;signal函数的实例 #include <head.h>//定义信号处理函数 void handler(int signum) {if(signum SIGINT) //表明要处理2号信号{printf("用户按下了ctrl c键…

【数据结构】二叉树的链式实现

树是数据结构中非常重要的一种&#xff0c;在计算机的各方个面都有他的身影 此篇文章主要介绍二叉树的基本操作 目录 二叉树的定义&#xff1a;二叉树的创建&#xff1a;二叉树的遍历&#xff1a;前序遍历&#xff1a;中序遍历&#xff1a;后序遍历&#xff1a;层序遍历&#…

图解Kubernetes的服务(Service)

pod 准备&#xff1a; 不要直接使用和管理Pods&#xff1a; 当使用ReplicaSet水平扩展scale时&#xff0c;Pods可能被terminated当使用Deployment时&#xff0c;去更新Docker Image Version&#xff0c;旧Pods会被terminated&#xff0c;然后创建新Pods 0 啥是服务&#xf…

使用Excel批量给数据添加单引号和逗号

表格制作过程如下&#xff1a; A2表格暂时为空&#xff0c;模板建立完成以后&#xff0c;用来放置原始数据&#xff1b; 在B2表格内输入公式&#xff1a; ""&A2&""&"," 敲击回车&#xff1b; 解释&#xff1a; B2表格的公式&q…

C++面试宝典第17题:找规律填数

题目 仔细观察下面的数字序列,找到规律,并填写空白处的数字。 (1)1, 2, 4, 7, 11, 16, __ (2)-1, 2, 7, 28, __, 126 (3)6, 10, 18, 32, 57, __ (4)19, 6, 1, 2, 11, __ (5)2, 3, 5, 7, 11, __ (6)1, 8, 9, 4, __, 1/6 (7)1, 2, 3, 7, 16, __, 321 (8)1, 2, …

【Kubernetes】如何使用 kubectl 操作 cluster、node、namespace、pod

如何使用 kubectl 操作 cluster、node、namespace、pod 在列出、描述、修改或删除其他命名空间中的对象时&#xff0c;需要给 kubectl 命令传递 --namespace&#xff08;或 -n&#xff09;选项。如果不指定命名空间&#xff0c;kubectl 将在当前上下文中配置的默认命名空间中执…

java进阶||jdk进阶之循环

从18年学java到现在除了各种各样的数据类型和集合烧不了要遍历这些变量, for循环这时就少不了啦(当然还有8后引入的神器泛型) 先来看一段精髓业务代码, 使用了多个新特性当然也少不了循环和分支判断 代码较长解析在后面 private CommonPage<List<Object>> handle…

Apache Doris (六十二): Spark Doris Connector - (2)-使用

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. 将编译jar包加入本地Maven仓库

【重学C语言】一、C语言简介

【重学C语言】一、C语言简介 什么是编程语言&#xff1f;编程语言 C语言发展史C语言标准变迁开发软件CLion安装步骤 VIsual Studio安装步骤 Clion 和 VS2022 绑定 电脑常识 什么是编程语言&#xff1f; 人类语言&#xff1a;语言就是人类进行沟通交流的表达方式&#xff0c;应…

【小工具】pixi-live2d-display,直接可用的live2d的交互网页/桌面应用

效果&#xff1a; <script src"https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js"></script> <script src"https://cdn.jsdelivr.net/gh/dylanNew/live2d/webgl/Live2D/lib/live2d.min.js"></script> <…

【Android Studio】APP练手小项目——切换图片APP

本项目效果&#xff1a; 前言&#xff1a;本项目最终实现生成一个安卓APP软件&#xff0c;点击按钮可实现按钮切换图片。项目包含页面布局、功能实现的逻辑代码以及设置APP图标LOGO和自定义APP名称。 关于Android Studio的下载与安装见我的博文&#xff1a;Android Studio 最新…

v-if控制div内容显示,克隆这个div但是v-if没有效果

问题描述&#xff1a; 我的子页面打印的时候通过isPdf来隐藏“选择参加人员”按钮。 我子页面有个el-dialog&#xff0c;el-dialog里面有个大的div它的id为app-pre-meet-add&#xff0c;在子页面我通过isPdf来显示我想要的内容。现在我在父页面先通过this.$refs.child.control…

服务器组网方案

在当今数字化时代&#xff0c;服务器组网方案不仅是企业信息管理的关键&#xff0c;更是支撑业务运作的核心架构 。为了实现高效的数据处理和存储&#xff0c;服务器组网方案成为企业不可或缺的一部分。本文将深入探 讨服务器组网方案的核心要素和实施策略&#xff0c;明确其在…