高级人工智能课程笔记

课程部分笔记,依据《人工智能 一种现代化方法》第三版

智能概述

Rational Decisions理性决策
rational理性意味着最大化期望效用maximize your expected utility
An agent is an entity that perceives and acts.感知和行动(决策)的主体
A rational agent selects actions that maximize its (expected) utility.

智能:能够理性的思考和行动,理性意味着
人工智能:人类通过算法使机器能够想人类一样理性思考和理性行动
逻辑推理:从一般性的前提出发,通过推导即“演绎”,得出具体陈述或个别结论的过程。是从一般到特殊的推理。例如所有乌鸦是黑的,这个鸟是乌鸦,则它是黑色的,区别于归纳推理(数学归纳法属于演绎推理)

utility function 是否clear(下棋是clear的)

一个问题的形式化定义:状态、动作、转移模型、目标测试、路径消耗

搜索search

Uninformed Search

Uninformed Search Methods无信息搜索(仅用到问题定义本身的信息)
包括DFS、Breadth FS、Iterative Deepening、UCS

完备complete、最优optimal

State Space Graphs and Search Trees状态空间图和搜索树。状态空间图中,每个状态只出现一次,树中的叶子结点是图中的一条完整路径。如果图中存在环路,那么树是无穷大的。

展开讲搜索树

DFS在搜索树中不完备,在图中完备,但都不是最优的
树搜索中的Depth-First Search (DFS)深度优先搜索不是完备或完全的complete(仅当不存在环路,即对应搜索树深度有限时可找到可行解,这可行解也不会是最优,leftmost),是针对搜索树来说的。如图,是一个状态空间图和搜索树,可行解是G,DFS总是先扩展最深的结点(当存在环时,搜索树则深不见底,无法跳出);且不是最优的,找到的是“leftmost” solution。时间复杂度O(b^m)

Breadth First search,是完备的且是最优的(当边权为1时,准确来说是相等时)(总是扩展,最浅层的结点,当探索到可行解时,距离最短),时间复杂度O(b^s)

把问题描述为搜索树,当解在右边,且靠近搜索树的顶层时,BFS更优;当解在左边,且远离顶层(靠近底层),DFS更优。

迭代深入搜索Iterative Deepening:结合了DFS的空间优势和BFS的时间优势

以上三个算法(尤其是BFS)都是求解边权为1的图,即最短路、最短步数(图中任意连接的两点距离视为1),而不是最小花费或代价cost
在这里插入图片描述

Uniform Cost Search代价一致搜索:扩展累积代价(起点到当前结点)最小的结点,完备的且最优的(会回溯,找到可行解后继续找),但仍然是无信息的盲目搜索,会在每一个方向上进行扩展。
BFS用于找到每个边的权值是一样的图的最短路径,如果图中每个边的权值不一样了,就用到了UCS。
在这里插入图片描述

Informed Search

Informed Search有信息搜索(用到问题给予算法的额外信息 )
包括Heuristics Greedy Search(也叫贪心搜索、最佳优先搜索best first?,只用启发式信息)、A* Search、Graph Search f(n)=g(n)+h(n)

Heuristic: A function that estimates how close a state is to a goal

贪心搜索不是完全的且不是最优的

A是代价一致搜索(考虑当前节点到起点的累积代价g)和贪心搜索(考虑当前结点到目标的代价h)的结合。f(n) = g(n) + h(n)。启发式函数需要是admissible Admissible(对树),即启发式函数的估计代价小于等于真实代价。(对启发式函数极端情况的分析)。当h=0,即UCS,h=0满足admissible,印证了UCS是最优的(特殊的A搜索)。

描述不同搜索算法间的区别(例如代价一致搜索与A*的区别),五个角度分析:
1.描述算法本身
2.有信息还是无信息
3.实现结构:FIFO等
4.时空复杂度
5.完备性、最优性分析

可能让设计一个admissible的heuristic,不在位的棋子数、曼哈顿距离


开始讲图搜索,上面都是搜索树
图搜索的思想:never expand a state twice(扩展结点前,会检测是否探索过)
store the closed set as a set, not a list
一致性:类似三件不等式,沿途的代价是递增的。图搜索中,A最优需要启发式是一致的,树搜索中,A最优需要启发式可采纳性。
Consistency implies admissibility
A* uses both backward costs and (estimates of) forward costs
A* is optimal with admissible(对树搜索) / consistent heuristics(对图搜索)

约束满足问题CSP

CSP和搜索问题的区别
1.SP的状态是黑盒,是原子的或不可见的,CSP的状态是带值的变量(变量都有赋值,且满足所有约束,问题解决)
2.搜索解决的是到目标的动作序列,CSP解决的是对所有变量赋值,使满足所有约束
CSP可以大量剪枝,求解速度更快
求解CSP的方法:回溯搜索和局部搜索

回溯搜索算法=DFS+剪枝,当没有合法的值(约束限制)赋值给当前变量时就回溯,选择该变量值域中的另一个值

局部搜索,(书:从单个当前结点出发,而不是多条路径,一般不保留搜索路径)改进单一选项,直至不能改进,不是完全的且是局部最优,依赖于起点。但是更快,更低的内存开销
爬山法是贪心局部搜索、改进的方法模拟退火、遗传算法,跳出局部最优
和搜索不同的是,局部搜索的目标仅是最优状态,而搜索(DFS等)关注的是到达目标的路径(动作序列)
最小冲突的局部搜索被应用在CSP(将皇后移动在最小冲突的方格里

MDP

五元组(S,A,R,P,γ)
马尔可夫:将来状态与过去状态无关,只与当前状态无关,无后效性
对MDP:意味着动作的结果(转移的概率)只依赖当前状态

Why discount?
o Think of it as a gamma chance of ending the process at every step?
o Also helps our algorithms converge

求解MDP,用动态规划方法,分为值迭代和策略迭代两种。

值迭代方法

递归定义:
V ∗ ( s ) = m a x a    Q ⋆ ( s , a ) Q ∗ ( s , a ) = ∑ s ′ P ( s , a , s ′ ) [ R ( s , a , s ′ ) + γ V ⋆ ( s ′ ) ] V ∗ ( s ) = m a x a ∑ s ′ P ( s , a , s ′ ) [ R ( s , a , s ′ ) + γ V ⋆ ( s ′ ) ] V^*(s)=\underset{a}{max}\;Q^\star(s,a)\\ Q^*(s,a)=\sum_{s^\prime}P(s,a,s^\prime)[R(s,a,s')+\gamma V^\star(s')]\\ V^*(s)=\underset{a}{max}\sum_{s^\prime}P(s,a,s^\prime)[R(s,a,s')+\gamma V^\star(s')] V(s)=amaxQ(s,a)Q(s,a)=sP(s,a,s)[R(s,a,s)+γV(s)]V(s)=amaxsP(s,a,s)[R(s,a,s)+γV(s)]

  1. 初始时V0(s) = 0
  2. 对所有状态执行 V k + 1 ( s ) = m a x a ∑ s ′ P ( s , a , s ′ ) [ R ( s , a , s ′ ) + γ V k ( s ′ ) ] V_{k+1}(s)=\underset{a}{max}\sum_{s^\prime}P(s,a,s^\prime)[R(s,a,s^\prime)+\gamma V_k(s^\prime)] Vk+1(s)=amaxsP(s,a,s)[R(s,a,s)+γVk(s)]
  3. 重复2,直至收敛
    收敛后,可间接得到策略:
    π ∗ ( s ) = a r g m a x a ∑ s ′ P ( s , a , s ′ ) [ R ( s , a , s ′ ) + γ V k ( s ′ ) ] \pi^*(s)=\underset{a}{argmax} \sum_{s^\prime}P(s,a,s^\prime)[R(s,a,s^\prime)+\gamma V_k(s^\prime)] π(s)=aargmaxsP(s,a,s)[R(s,a,s)+γVk(s)]

在这里插入图片描述
存在的问题:

  1. It’s slow – O(S2A) per iteration
  2. The “max” at each state rarely changes
  3. The policy often converges long before the values
策略迭代
  1. Policy evaluation策略评估
    calculate utilities for some fixed policy (not optimal
    utilities!) until convergence
    V 0 π ( s ) = 0 V k + 1 π ← ∑ s ′ P ( s , π ( s ) , s ′ ) [ r ( s , π ( s ) , s ′ ) + γ V k π ( s ′ ) ] V_0^{\pi}(s)=0\\ V_{k+1}^{\pi }\leftarrow\sum_{s'}P(s,\pi(s),s')[r(s,\pi(s),s')+\gamma V_k^\pi(s')] V0π(s)=0Vk+1πsP(s,π(s),s)[r(s,π(s),s)+γVkπ(s)]
  2. Policy improvement策略改进
    update policy using one-step look-ahead with resulting converged (but not optimal!) utilities as future values
    π i + 1 ( s ) = a r g m a x a ∑ s ′ P ( s , a , s ′ ) [ R ( s , a , s ′ ) + γ V π i ( s ′ ) ] \pi_{i+1}(s)=\underset{a}{argmax} \sum_{s'}P(s,a,s')[R(s,a,s')+\gamma V^{\pi_i}(s')] πi+1(s)=aargmaxsP(s,a,s)[R(s,a,s)+γVπi(s)]
  3. Repeat steps until policy converges

converge (much) faster under some conditions,每一次迭代的时间复杂度O(S2)
Without the maxes, the Bellman equations are just a linear system

RL

unknown MDP

朴素贝叶斯

特征间相互独立

http://www.ruanyifeng.com/blog/2013/12/naive_bayes_classifier.html

其他

L11概率
计算后验概率,即由果求因,p(因是先验概率)
L12朴素贝叶斯分类,朴素的意思:特征间相互独立,贝叶斯网络
L13感知机和逻辑回归
L14优化和神经网络
L15 DL
2-D卷积(类似滤波器,用于提取图像的局部特征,功能不同的卷积核)、padding(使得卷积后大小和原图一样)、池化(去除冗余信息,降低输出数量,类似降维,原理是相同特征是聚在一起出现。一般是简单的最大值、最小值、均值实现)
NLP word2vec
用独热编码,向量太过于稀疏,同时只简单表示了单词在字典中的位置,没法体现单词之间的关联性。例如每个单词之间的距离都是欧式距离都是0,没法计算单词之间的相似性。
SUV
SVM通过升维解决分类问题。即将原始的低维中线性不可分的数据点通过核函数映射到高维空间,使得线性可分。寻找到一个超平面对样本分类,并且使不同类别间的间隔最大。
神经网络作为黑盒,端到端的学习,自动1特征,一般不需要人为的进行特征工程
SVM无法得到映射函数,且其核函数需要手工设计。
SVM有理论输出的是全局最优解,神经网络则不一定,例如对二分类问题,使用二元交叉熵作为损失函数,训练好的神经网络的输出可能完全和标签对应上,但大概率不能向SVM那样不仅分类成功还使两类的距离最大(最优结果)

Sigmoid,值域在(0,1)常作用于输出层,作为概率输出用于二分类。易产生梯度消失,即当x的绝对值较大时,该函数的梯度趋于0。其次,该函数的值域不是0均值,会产生偏移现象
Tanh双曲正切,相比于sigmoid,tanh值域是0均值,但同样存在梯度消失问题
Relu,常用作隐藏层的激活函数,在正区间解决了梯度消失问题,只有线性运算,计算速度快。但它也不是0均值。
relu存在多种变体,如leaky relu,selu等
Softmax,常作用于输出层用于多分类,相当于argmax的soft版本,即给非最大概率一个较小值,而不是用0来处理。输出每个类别的概率,和为1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值