《人工智能概论》课程重点总结

news2024/9/25 13:26:03

目录

遗传算法相关参数问题

种群规模、迭代次数、交叉率、变异率对算法的影响

A*算法中open表和close表的作用

为什么A*算法中open表是增长的

启发式函数h(n)取值的影响

A*算法可以找到最优解的条件

模式识别系统的组成

有监督学习和无监督学习的区别

模型评估三大原则

查准率和查全率

KNN中K值选取的影响

回归问题和分类问题的区别

线性回归问题机器学习的步骤

模型训练时batch和epoch的含义

sigmoid函数和ReLU函数的区别

神经元模型

BP学习算法的正向传播和反向传播

BP算法的流程

CNN中卷积层和池化层的作用

CNN中的关键技术

CNN优于全连接神经网络的地方

GAN的工作流程

遗传算法相关参数问题

编码方式

  • 二进制编码:把问题的解表示为由0和1组成的位串,每一位对应一个基因。二进制编码简单易用,但可能存在汉明悬崖问题,即相邻整数的二进制代码之间有很大的汉明距离,导致交叉和变异难以跨越。
  • 格雷编码:把问题的解表示为由0和1组成的位串,但每两个相邻的数用格雷码表示,其对应的码位只有一个不相同,从而可以提高算法的局部搜索能力。格雷编码可以避免汉明悬崖问题,但需要额外的编码和解码过程。
  • 实数编码:把问题的解表示为实数或浮点数,可以直接对应问题的参数空间,不需要编码和解码过程。实数编码适合处理连续优化问题,但需要设计特定的交叉和变异算子。
  • 排列编码:把问题的解表示为一种排列或序列,每个位置对应一个基因。排列编码适合处理组合优化问题,如旅行商问题,但也需要设计特定的交叉和变异算子。

选择方法

  • 轮盘赌选择法:这是一种最简单也最常用的选择法,它根据个体的适应度值与总适应度值的比例来分配选择概率,即适应度值越高的个体被选中的概率越大。具体步骤如下:
    • 将种群中个体的适应度值叠加,得到总适应度值
    • 每个个体的适应度值除以总适应度值得到个体被选择的概率
    • 计算个体的累积概率以构造一个轮盘
    • 产生一个[0,1]之间的随机数,根据轮盘确定被选中的个体
  • 锦标赛选择法:这是一种通过多轮比较来确定被选中个体的方法,它可以有效地控制选择压力和保持多样性。具体步骤如下:
    • 随机从种群中抽取k个个体,其中k是一个预设的参数,通常为2或3
    • 比较这k个个体的适应度值,选择最高者作为赢者
    • 将赢者复制到新种群中,重复以上步骤直到新种群满员

交叉策略

  • 单点交叉:在两个个体的染色体上随机选择一个交叉点,然后交换该点后面的部分基因。
  • 两点交叉:在两个个体的染色体上随机选择两个交叉点,然后交换这两个点之间的部分基因。

变异策略

  • 位反转变异:在一个个体的染色体上随机选择一个或多个基因位,然后将其取反,即0变为1,1变为0。
  • 交换变异:在一个个体的染色体上随机选择两个基因位,然后交换它们的值。
  • 插入变异:在一个个体的染色体上随机选择一个基因位,然后将其插入到另一个随机位置上,原来位置后面的基因位依次向前移动一位。
  • 逆转变异:在一个个体的染色体上随机选择一个子串,然后将其逆序排列。
  • 均匀变异:在一个个体的染色体上逐位比较基因,以一定概率改变不同的基因。

种群规模、迭代次数、交叉率、变异率对算法的影响

  • 种群规模:种群规模是每代个体的固定总数,即初始解的个数。种群规模过小会导致搜索空间不足,陷入局部最优解;种群规模过大会导致计算量增加,收敛速度变慢。一般来说,种群规模应该根据问题的复杂度和搜索空间的大小来确定,一般取10到100之间的值。
  • 迭代次数:迭代次数是指遗传算法进行多少代的进化。迭代次数过少会导致搜索不充分,无法找到较好的解;迭代次数过多会导致计算时间增加,收敛速度变慢。一般来说,迭代次数应该根据问题的难度和收敛情况来确定,一般取50到500之间的值。
  • 交叉率:交叉率是指每代中进行交叉操作的个体比例。交叉操作是遗传算法中最重要的操作,它可以产生新的个体,增加种群的多样性,从而提高搜索能力。交叉率过低会导致搜索能力不足,陷入局部最优解;交叉率过高会导致搜索能力过强,破坏优秀个体,降低收敛速度。一般来说,交叉率应该根据问题的特点和搜索空间的大小来确定,一般取0.6到0.9之间的值。
  • 变异率:变异率是指每代中进行变异操作的基因比例。变异操作是遗传算法中辅助交叉操作的操作,它可以引入新的基因,增加种群的多样性,从而跳出局部最优解。变异率过低会导致搜索能力不足,陷入局部最优解;变异率过高会导致搜索能力过强,破坏优秀个体,降低收敛速度。一般来说,变异率应该根据问题的特点和搜索空间的大小来确定,一般取0.01到0.1之间的值。

A*算法中open表和close表的作用

A*算法是一种启发式搜索算法,它可以在图中找到从起点到终点的最短路径。A*算法使用了两个列表,分别是open表和close表

open表是一个优先队列,它存储了所有已经被评估过启发函数值但还没有被扩展成后继节点的节点。启发函数值是一个估计值,表示从当前节点到目标节点的代价。A*算法每次从open表中选择一个启发函数值最小的节点,称为当前节点,然后将其从open表中移除,并将其加入到close表中。

close表是一个集合,它存储了所有已经被访问过的节点。这样可以避免重复访问同一个节点,提高搜索效率。A*算法每次扩展当前节点的所有后继节点,计算它们的启发函数值,并检查它们是否已经在open表或close表中存在。如果不存在,就将它们加入到open表中;如果存在,就比较它们的启发函数值,如果新的值更小,就更新它们的值,并修改它们的父节点为当前节点。¹²

这个过程一直重复,直到找到目标节点或者open表为空为止。如果找到目标节点,就沿着父节点指针回溯得到最短路径;如果open表为空,就说明没有可行的路径。¹²

open表和close表的作用是帮助A*算法按照启发函数值的顺序搜索图中的节点,并记录已经访问过的节点,从而找到最短路径。

为什么A*算法中open表是增长的

Open表是增长的,因为每次扩展一个节点时,都会把它的相邻可达节点加入到Open表中(除非它们已经在Closed表中或者是障碍物)。这样,Open表中的节点数量会随着搜索过程而增加,直到找到终点或者没有可扩展的节点为止。

启发式函数h(n)取值的影响

h(n) 比重大:降低搜索工作量,但可能导致找不到最优解;

h(n) 比重小:一般导致工作量加大,极限情况下变为盲目搜索,但可能可以找到最优解。

A*算法可以找到最优解的条件

启发函数必须是一致的(admissible):启发函数不能高估从当前节点到目标节点的距离。也就是说,该函数估计的距离不能大于实际距离。如果启发函数是一致的,则 A* 搜索算法保证能够找到最短路径。

图形结构必须不包括环路(acyclic):A* 算法只适用于图形结构不包括环路的问题。因为对于含有环路的图形结构,启发函数可能会导致算法在环路中无限循环下去。

模式识别系统的组成

举例:掌纹识别

有监督学习和无监督学习的区别

有监督学习和无监督学习是机器学习中的两个重要概念。

有监督学习需要有标签数据作为训练数据,而无监督学习则不需要。

有监督学习的目标是通过已知的标签数据来预测未知数据的标签,而无监督学习的目标是发现数据中的模式和结构

模型评估三大原则

奥卡姆剃刀:在性能得到满足的情况下,模型越简单越好

数据集划分时的样本采样原则:训练集、测试集和验证集的分布应尽量一致

测试集使用原则:训练阶段不要以任何理由偷看测试集;对测试集的反复评估也是一种隐蔽地偷看行为

查准率和查全率

  • 查准率是指预测为正例的样本中,真正为正例的比例。它反映了预测结果的准确性,即避免将反例误判为正例。提高查准率的方法是增加预测为正例的门槛,只有当样本的正例概率很高时才将其判为正例,这样可以减少假正例(false positive)的数量,但同时也会增加假反例(false negative)的数量,即将正例误判为反例。
  • 查全率是指真正为正例的样本中,预测为正例的比例。它反映了预测结果的完整性,即尽可能地覆盖所有的正例。提高查全率的方法是降低预测为正例的门槛,只要样本有一定的正例概率就将其判为正例,这样可以减少假反例(false negative)的数量,但同时也会增加假正例(false positive)的数量,即将反例误判为正例。

因此,查准率和查全率是一种权衡关系,提高一个往往会降低另一个,反之亦然。不同的任务或场景可能对查准率和查全率有不同的偏好或要求,例如,在垃圾邮件过滤中,我们更倾向于提高查准率,避免将正常邮件误判为垃圾邮件;而在疾病诊断中,我们更倾向于提高查全率,避免将患病者误判为健康者。

KNN中K值选取的影响

回归问题和分类问题的区别

回归问题和分类问题的区别在于输出变量的类型。 定量输出称为回归,或者说是连续变量预测; 定性输出称为分类,或者说是离散变量预测。

分类问题通常适用于预测一个类别(或类别的概率)而不是连续的数值。

回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等。

线性回归问题机器学习的步骤

1定义一个带有未知参数的函数(模型)

2定义损失函数

3基于优化方法得到最优参数

模型训练时batch和epoch的含义

在深度学习中,batch是指每次训练模型时,同时输入多个样本进行训练的一种方式。batch size是指每个batch中包含的样本数。batch size越大,训练速度越快,但内存消耗也越大;batch size越小,训练速度越慢,但内存消耗也越小。

epoch是指将所有训练数据都过一遍的训练过程。在每个epoch中,模型会对所有训练数据进行一次前向传播和反向传播,并更新模型参数。epoch数是指将所有训练数据都过一遍所需要的次数。

sigmoid函数和ReLU函数的区别

sigmoid函数和ReLU函数的主要区别在于它们的形状和性质。sigmoid函数在输入值较大或较小时,输出值接近于0或1,而在输入值接近于0时,输出值接近于0.5。这意味着sigmoid函数在输入值较大或较小时,梯度会变得很小,从而导致梯度消失问题。ReLU函数则不存在这个问题,因为它在输入值为负时,梯度为0,在输入值为正时,梯度为1。这使得ReLU函数更容易训练,并且可以加速收敛速度。

另外,ReLU函数还具有稀疏性和非线性特性。稀疏性是指ReLU函数可以使一部分神经元的输出为0,从而使得神经网络更加稀疏;非线性特性是指ReLU函数可以引入非线性因素,从而使得神经网络更加灵活。这些特性使得ReLU函数在深度学习中被广泛使用,并且已经被证明比sigmoid函数更有效。

神经元模型

BP学习算法的正向传播和反向传播

正向传播:输入信息由输入层传至隐层,最终在输出层输出。

反向传播:修改各层神经元的权值,使误差信号最小

BP算法的流程

CNN中卷积层和池化层的作用

在卷积神经网络(CNN)中,卷积层和池化层都是用于提取图像特征的。卷积层通过使用卷积核来提取图像的局部特征,而池化层则通过对卷积层输出的特征图进行下采样来减少特征图的大小池化层可以帮助减少过拟合,提高模型的泛化能力

CNN中的关键技术

局部链接

权值共享:所有卷积模板都相同

多卷积核

CNN优于全连接神经网络的地方

卷积层相比于全连接层有以下优势:

  1. 参数共享:卷积层的参数共享可以大大减少需要学习的参数数量,提高模型的泛化能力。相对于全连接层,卷积层需要学习的参数数量更少,因此更容易训练,而且更不容易过拟合。
  2. 空间局部性:卷积层能够捕获输入数据中的空间局部性信息。在图像识别任务中,相邻像素之间的关系非常重要,卷积层能够利用这种关系来提取图像特征,而全连接层则无法捕获这种信息。
  3. 计算复杂度:由于参数共享和空间局部性,卷积层的计算复杂度比全连接层低。在处理大规模数据时,卷积层更加高效。
  4. 模型泛化能力:卷积层能够学习到输入数据的局部特征,因此具有更好的模型泛化能力。相对于全连接层,卷积层更容易处理输入数据中的噪声和变形。
  5. 可解释性:卷积层的输出可以看做是输入数据的特征图,因此更容易解释模型的预测结果。相对于全连接层,卷积层更容易理解和可解释。

综上所述,卷积层相比于全连接层具有更好的模型泛化能力、更高的计算效率和更好的可解释性,适用于处理图像、音频等二维或三维数据。

GAN的工作流程

生成对抗网络(GAN)是一种深度学习模型,由两个神经网络组成:生成器和判别器。生成器的作用是生成与训练数据相似的新数据,而判别器的作用是区分真实数据和生成器生成的数据。GAN 的训练过程是交替训练这两个网络,直到生成器生成的数据能够以假乱真,并与判别器的能力达到一定均衡。GAN 的工作流程如下:

  1. 初始化生成器和判别器的参数。
  2. 从训练集中抽取 n 个样本,以及从噪声分布中采样得到 n 个噪声样本。
  3. 固定生成器,训练判别器,使其尽可能区分真假。
  4. 固定判别器,训练生成器,使其尽可能欺骗判别器。
  5. 多次更新迭代后,最终辨别器无法区分图片到底是来自真实的训练样本集合,还是来自生成器 G 生成的样本即可,此时辨别的概率为0.5,完成训练。

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

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

相关文章

Baklib推荐:关于建设企业知识管理的有效方法

随着信息化和互联网技术的不断发展,企业面临着海量的信息和知识,如何有效地管理和利用这些信息和知识已经成为了企业发展的关键问题之一。企业知识管理是指企业利用信息技术手段,对企业内部的知识进行系统化、集成化、共享化管理,…

MPSOC(ZU9EG/ZU15EG)PCIE架构高性能数据预处理 FMC载板设计资料

板卡概述 PCIE707 是一款基于 PCIE 总线架构的高性能数据预处理 FMC载板,板卡具有 1 个 FMC(HPC)接口,1 路 PCIe x4 主机接口、 1 个 RJ45 千兆以太网口、2 个 QSFP 40G 光纤接口。板卡采用 Xilinx 的高性能 UltraScale MPSOC 系…

「蓝桥杯」积木大赛

积木大赛 题目描述 春春幼儿园举办了一年一度的"积木大赛"。今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为 1 的积木组成,第 i 块积木的最终高度需要是 h_i 。 在搭建开始之前,没有任何积木(可…

Vue3中双向数据绑定与Pinia实践+JS数据引用的循环修改问题

Vue3 Pinia VUE3虽然出了很久了,但是很少深入研究,目前项目上遇到了一些问题,所以做个Note解决一下疑问: v-bind/v-model怎么与Pinia进行结合Object/Array数据大量处理时,为何有的修改不生效组合API与选项API选择 (…

赛道冠军为AI狂飙:实在智能即将重归福州,亮相第六届数字中国建设峰会

2023年4月26日至30日,第六届数字中国建设峰会将在福建省福州市举行。本届峰会以“加快数字中国建设,推进中国式现代化”为主题,由国家网信办、国家发展改革委、科技部、工业和信息化部、国务院国资委、福建省人民政府共同主办。 作为我国信息…

代码随想录算法训练营第二十五、二十七天 | 细节很多、树枝去重和树层去重的区分是难点、分割

216.组合总和III 文档讲解:代码随想录 (programmercarl.com) 视频讲解:和组合问题有啥区别?回溯算法如何剪枝?| LeetCode:216.组合总和III_哔哩哔哩_bilibili 状态:能做出来。和上一题没什么区别。思路直接…

SpringCloud微服务的熔断、限流、降级是怎么回事?

概述: 在开发公司商城项目时,由于采用的是微服务架构,每个模块之间使用OpenFeign组件进行通信,在遇到高并发时,为了保证系统的可用性和 可靠性,我们使用了阿里的Alibaba的Sentinel组件进行降级、限流和熔断…

vue2实现高德地图 JSAPI 2.0轨迹回放组件(MoveAnimation)

vue2实现高德地图 JSAPI 2.0轨迹回放组件(MoveAnimation) 声明: 本人是做java后端的,组件抽取不是很规范请大家见谅 前提: 需要注册高德开放平台,之后创建应用并且开通Web端(JS API)平台,然后拿到securityJsCode和key 实现效果: 1. 基础抽取 注意: 将securityJsCode和key修改为…

OpenGL(四)——纹理

目录 一、前言 二、纹理环绕方式 三、纹理过滤 3.1 邻近过滤 3.2 线性过滤 3.3 多级渐远纹理 四、加载、创建纹理 4.1 数据输入 4.2 生成并加载纹理 4.3 应用纹理坐标 4.4 顶点着色器配置纹理 4.5 片段着色器配置纹理 4.6 显示纹理 五、纹理单元 一、前言 为每个…

云原生技术概谈

云原生技术概谈 说起“云原生技术”,大家可能有点懵,只闻其声,不明其意。但是云原生背后典型的几个公司或者技术产品的名称可能大家经常听到: 比如容器技术的代表公司docker;容器编排技术开源产品kubernetes&#xff0…

推荐算法实战项目:DeepCross 原理以及案例实战(附完整 Python 代码)

本文要介绍的是由斯坦福大学联合Google的研究人员发表的论文《Deep & Cross Network for Ad Click Predictions》中提出的Deep&Cross模型,简称DCN。 DCN模型是Wide&Deep的改进版本,其中Deep部分的设计思路与Wide&Deep没有发生本质的变化…

计算机视觉的应用3-批量图片风格迁移之素描图片生成的应用

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用3-批量图片生成素描图片的应用,将一张图像转换为素描风格的图像的其实是模拟了人类视觉在观察物体时受到的光照条件。素描风格的图像在灰度值上表现出明暗交替的效果,这种效…

【干货】一文说透分布式一致性协议(下)

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 作者:大能老师 | 慕课网讲师 前情提示:如需阅读“一文说透分布式一致性协议(上)”&#…

对多个点进行直线拟合操作

在图像处理中,通常会遇到根据给定的点集(比如轮廓)拟合出一条直线的情形。 import numpy as np import matplotlib.pyplot as plt import cv2def Cal_kb_linear_fitline(pointLocs):loc np.array(pointLocs) # loc 必须为矩阵形式&#xff…

二分类结局变量Logistic回归临床模型预测(二)——基线特征及三线表绘制(二)

本节讲的是二分类结局变量的临床模型预测,与之前讲的Cox回归不同,https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/124088364https://lijingxian19961016.blog.csdn.net/article/details/1300…

蓝牙耳机哪款性价比高一些?2023年性价比最高的蓝牙耳机推荐

随着科技的进步,蓝牙耳机已然成为我们生活中的一部分,无论是通勤、追剧、运动或者玩游戏,大都会用到蓝牙耳机。那么,哪款蓝牙耳机的性价比高一些?相信大多数人在选择产品的时候,都会看性价比。接下来&#…

手把手带你写一份优秀的开发求职简历(五)技术能力如何凸显优势

前言 前面的几小节,把个人信息和教育背景的模块做了讲述,这两个模块处于简历的第一屏最顶部,可以说HR会第一眼看见,所以很重要,同时也通过一些讲述告诉求职者从这些方面如何扬长避短,抓住HR的招聘心理。 …

Android基于JNA集成调用第三方C/C++的so库

Android基于JNA集成调用第三方C/C的so库 (1)引入JNA。 基于JNA开源项目,JNA对Android NDK的封装,简化Android层JNI集成调用C/C的so库。 GitHub - java-native-access/jna: Java Native AccessJava Native Access. Contribute to…

为AI造“楚门世界” 人类围观对话机器人社交、谈恋爱

不满足于跟ChatGPT聊天,技术狂人开始为对话机器人创造“楚门的世界”,从上帝视角围观AI如何“吃饭”、社交、谈恋爱...... 最近,一位神秘人创建了一个AI社交网站Chirper,人类不能参与,只能围观上万名AI在这里的聊天和…

社交技能讲座笔记

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 感谢张鹏老师做了一堂实用的社交技能讲座。我特地做了一些笔记(其中包含我的一些理解): 1.整理好外观,让别…