首页 > 其他分享 >人工智能学习总结_1

人工智能学习总结_1

时间:2024-01-20 17:37:55浏览次数:29  
标签:总结 opt 人工智能 学习 算法 搜索 最优 节点

人工智能

一、人工智能绪论、基础

(1)人工智能、基因工程、纳米科学被认为是21世纪的三大尖端技术。

(2)人工智能的典型应用领域:交通、服务机器人、医疗健康、教育、公共安全、工作就业、娱乐。

二、搜索

(1)单智能体搜素:规划

  • 盲目搜索
  • 启发式搜索
  • 局部搜索

(2)多智能体搜索:零和博弈

  • 极大极小搜索
  • Alpha-Beta剪枝搜索

2.1无信息搜素(盲目搜索):

(1)相关术语

QQ图片20231209164022

(2)没有先验知识,按照事先确定的排序搜索。

​ ① 深度优先搜索:优先选择当前能够到达最深的节点(栈)

​ ② 宽度优先搜索:优先选择当前能够到达最浅的节点(队列)

QQ图片20231205211721

2.2有信息搜索:启发式搜索。

​ (1) 贪婪搜索:选择当前代价估计最小的节点,用优先队列存储候选节点。

​ (2)A* 搜索:选择当前代价估计 f 值最小的节点,用优先队列存储候选节点。

​ ① f (s) = g(s) + h(s)

​ ② 实际代价函数 g(s):起始节点到达节点s的代价值

QQ图片20231205214944

2.3局部搜索

(1)简介

​ ① 用于处理 “ 只关心算法返回状态是否达到目标而非其到达目标路径” 的问题。

​ ② 优点: 不需要维护搜索树;占用内存小(不用存储路径);在连续且状态空间很大的问题通常都可以找到足够好的解;以时间换精度。

(2)k-opt 算法

​ ① 局部最优搜索算法,常见的有 2-opt,3-opt,k-opt。

​ ② 2-opt 算法:核心在于随机选择一个区间段优化,优化只是针对当前状态而非全局。

​ ③ 算法步骤:

​ 参考链接:[2-opt算法]写给媳妇儿的算法(二)——2-opt算法解决商旅问题 - 简书 (jianshu.com)

QQ图片20231209135648

​ ④ 优缺点: 简单灵活,易于实现;容易陷入局部最优而无法达到全局最优,解的质量与最初解的选择和领域结构密切相关。

(3)爬山法

① 一种局部择优的贪心搜索算法,本质是梯度下降法, 核心是不断移动至邻域内最优点。

QQ图片20231209154522

② 算法问题:容易陷入局部最优解;高地问题—搜索到达高地后无法确定搜素最佳方向,会产生随机走动使得效率降低;山脊问题—搜索可能在山脊两面来回震荡使得前进步伐很小。

③ 算法优势:避免了遍历全部节点;需要多次随机初始化后返回评估值最优的解,达成效率与最优性的平衡。

④ 结合爬山法和随机游走有概率摆脱局部最优。

(4)模拟退火法

① 用温度控制搜索的随机程度:温度高能量大,粒子行为活跃,选择下一个状态的策略更接近随机游走;温度低能量下降,粒子热运动减弱,选择策略更倾向选择更优。

② 算法伪码

QQ图片20231209154506

(5)遗传算法

① 实现对最优化问题解的参数空间进行高效搜索。

QQ图片20231209154449

② a. 种群中每个个体即一个解(不一定最优),个体的编码成为基因型。

​ b. 选择种群中部分个体来培育下一代种群。(通过交叉过程)

​ c. 适应度函数:用来衡量种群中每个个体的优劣程度(适应度越高越容易被选中)

​ d. 变异:在种群演化中引入一定多样性,使基因型有一微小概率产生随机变化。

2.4 对抗搜索

(1)简介

​ ① 相关术语

QQ图片20231209153237

​ ② 两个智能体的零和博弈:双方收益的和为零,即必有一方获胜或双方打平的博弈。(围棋、国际象棋、猜拳游戏…)

​ ③ 博弈树:由初始状态 s0 、动作集合 A 、收益函数 U(p) 生成。节点表示博弈的一个状态,叶节点表示博弈结果。收益函数确定博弈结束双方的胜负情况。

(2)极大极小搜索

​ ① 使用极小极大搜索算法在博弈树中递归求解时,两位玩家分别交替使用使收益极小和极大的动作。

​ ② 算法伪码:

QQ图片20231209154356

​ ③ 算法优缺点:能找到最优策略;需要展开整个搜索树,对大部分问题而言不可行,搜索树太大了。

(3)Alpha-Beta剪枝搜索

​ ① 基本思想:如果当前节点已知对手存在一策略可使自己收益减少,则玩家一定不会选择该节点,故无需继续搜索该节点后续节点,被称为 “剪枝”。

​ ② 引入两变量,Alpha 表示MAX玩家当前最优值,Beta 表示 MIN玩家当前最优值,若某节点 Alpha >= Beta,说明该玩家当前最优策略(Beta)劣于之前已有最优策略(Alpha),进行剪枝。

​ ③ 算法伪码

QQ图片20231209160637

(4)蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)

​ ① 一种概率和启发式驱动的搜索算法,结合了经典的树搜索实现和强化学习的机器学习原理。

QQ图片20231209164633

​ ② 主要步骤

  • 选择:目标是找到没有被搜索过的叶节点,具体规则由多项式上置信树算法(PUCT)决定。(该算法会根据算式给每个子节点算分,不断递归选择分数最高节点至到达一个叶节点)

    ​ 节点选择规则(Upper Confidence Boundary, UCB):

    image-20231209165027855
  • 拓展:将新的子节点加入树

  • 模拟:新结点用快速走子策略走到底,得到一个胜负结果。(按照普遍的观点,快速走子策略适合选择一个棋力很弱但走子很快的策略)

  • 回溯:把模拟结果加到它的所有父节点上。

  • 最后的决策

三、机器学习

(1)人工智能 > 机器学习 > 深度学习

image-20231209170058026

3.1 监督学习

​ (1)机器学习的重要分支,本质上是根据数据中的例子进行学习:

QQ图片20231209170416

​ 想要使函数 f ( x i ) ≈ y i :约等号是由于严格等于有时候是不可能的;y 可能包含噪声。

​ (2)监督学习目标:找到一个好的 f 。使用优化寻找 , f 应具有好的泛化性。

QQ图片20231209171040

​ ① 确保好的泛化性的方法:调优。(将训练数据集分成训练集+调优集。用训练集来找 f ,用调优集来测试)

​ ② 交叉调优

QQ图片20231209171633

(3)监督学习框架

​ ① 确认目标问题

​ ② 创建数据集(包含成千上万的输入输出数据点 xi ,yi

​ ③ 针对问题选择一个好的机器学习模型 f

​ ④ 定义一合适的损失函数 L 度量 f (X) 和 Y 的距离

​ ⑤ 以损失函数为指标,使用优化算法寻找 f 的参数组合

​ ⑥ 确定 f 具有好的泛化性

(4)其他相关概念

QQ图片20231209172718

(5)过拟合和欠拟合

QQ图片20231211145229

​ ① 过拟合: 函数表达能力太强;过拟合很容易使训练损失L train ≈ 0;泛化问题中测试损失 L test 可能很差(但是几乎从来没有发生过)。

​ ② 欠拟合: 函数表达能力不足;欠拟合给出一个很差的训练损失L train ; 一般没有泛化问题,因为 L test 同样差。

(6)无监督学习和半监督学习

​ ① 无监督学习:只有输入数据X,没有标签。(用于聚类、PCA、生成模型、异常检测、数据降维…)

​ ② 半监督模型: 只有一小部分数据有标签,其他的没有标签。

​ ③ 聚类: 把数据点分类,同一类的数据比较相似;形式分为聚合型、连通类聚类;没有唯一的解法(和损失函数密切相关)。(用于数据挖掘与数据分析、加速优化过程、推荐系统…)

(7)K means 聚类算法

​ ① 算法步骤

  • 确定好 k
  • 随机选择 k 个中心
  • 将每个点与离他最近的中心相连
  • 将每个聚类的点求平均算作新的中心
  • 重复 3、4步直到收敛

​ ② 算法一定会收敛的原因: 每个点到自己聚类中心的平均位置随着每一步迭代优化都在不断下降;n 个点分成 k 类分类方法有限。

标签:总结,opt,人工智能,学习,算法,搜索,最优,节点
From: https://www.cnblogs.com/robber-is-best/p/17976788

相关文章

  • 人工智能学习总结_3
    人工智能七、神经网络7.1概述(1)适用问题:用于处理更加复杂的输入和输出之间的非线性关系问题(2)特点:​ ①可以用来拟合非常复杂的函数(3)应用:图像分类、语音识别、机器翻译、自动驾驶7.2人工神经网络设计(1)人工神经元:线性模型+激活函数(2)人工神经网络设计的三方面​ ①神经......
  • 人工智能学习总结_2
    人工智能四、线性回归4.1线性回归(1)线性回归特点:解释性强,简单,泛化能力稳定。(2)特征:输入的不同维度叫做特征。如果特征本身很重要,线性回归就很有效,但是挑选特征是非常困难的。(神经网络本质就是自动挑选、学习特征的机器)(3)最小化损失函数的方法:梯度下降法梯度下降法的计算4......
  • 学习笔记——KMP模式匹配
    KMP模式匹配KMP算法能够在线性时间内判定字符串\(A\left[1\simN\right]\)是否是字符串\(B\left[1\simM\right]\)的字串,并求出字符串\(A\)在字符串\(B\)中各次出现的位置。详细来讲,KMP算法分为两步。对字符串\(A\)进行自我匹配求出一个数组\(next\),\(next\lef......
  • Check for balanced parentheses using stack【1月20日学习笔记】
    点击查看代码//Checkforbalancedparenthesesusingstack#include<iostream>#include<stack>//stackfromstandardtemplatelibrary(STL)#include<string>usingnamespacestd;boolarepair(charopening,charclosing){ if(opening=='(&#......
  • 关于SQL-case when最全面的学习笔记
    原文zhuanlan.zhihu.com/p/110198759?from_voters_page=truecasewhen推荐学习书籍:1、SQL基础教程6-32、SQL进阶教程1-1casewhen是SQL语法中提供的标准的条件分支。条件分支在MYSQL中即为IF函数,不同的数据库都会提供自己的一些函数,但是CASEWHEN更加通用。CASE语句......
  • 深度学习-神经网络原理-39
    目录1.神经网络算法是有监督的学习算法,2.分类3.训练4.代码进入新的内容,深度学习啦万事万物的产生不是一下子就变出来的,学术上也是,一点点的进步才催生出一门新的学科或者技术,神经网络用于机器学习也不例外,前面的机器学习的内容,线性回归,逻辑回归,多分类,决策树,以及各种集成学习......
  • 学习总结
    可以使用Vue作为前端框架,同时使用Python作为后端开发语言来实现你的想法。Vue是一个流行的JavaScript前端框架,它可以帮助你构建交互性强、响应式的用户界面。你可以使用Vue来创建页面布局、处理用户输入、进行数据绑定等等。而Python作为一种多用途的编程语言,也在后端开发领域非......
  • 1.20学习进度
    1.standaloneHA的运行原理:为解决单点故障问题,spark由两种方案:基于文件系统的单点恢复(只能用于开发或测试环境)、基于zookeeper的standbymaster(可以用于生产环境);基于zookeeper做状态的维护,开启多个master进程,一个作为活跃,其他的作为备份,当活跃进程宕机,备份master进行接管第五章1.......
  • 【scikit-learn基础】--『监督学习』之 空间聚类
    空间聚类算法是数据挖掘和机器学习领域中的一种重要技术。本篇介绍的基于密度的空间聚类算法的概念可以追溯到1990年代初期。随着数据量的增长和数据维度的增加,基于密度的算法逐渐引起了研究者的关注。其中,DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise)是......
  • 使用树莓派学习Linux驱动 硬件环境评估
    1.现有设备surface,树莓派3B 简介优点缺点树莓派+鼠标键盘显示屏开发方便需要购买小/静音键盘需要购买显示屏显示屏小了用着不舒服,大了太贵树莓派不需要显示屏!将来还要刷机不带桌面的核心系统surface+usb转串口只需要购买usb转串口线,成本低速......