知识获取
信息抽取:从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。
1.命名实体识别
1.1 基于词典的方法
典型方法包括正向匹配方法,反向匹配方法。原理:按照一定的策略将待分析的汉字串与一个充分大的词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。
1.2 基于统计的方法
生成式方法,首先建立学习样本的生成模型,再利用模型对预测结果进行间接推理,如HMM。
判别式方法,基于由字构词的命名实体识别理念,将NER问题转化为判别式分类问题(序列标注问题),如Maxent,SVM,CRF,CNN,RNN,LSTM+CRF。CRF做解码善于捕捉近距离的标签依赖,LSTM可以捕捉长距离的标签依赖。
1.3 基于大模型的方法
难点1: 任务形式差距。命名实体识别通常建模为序列标注任务,而大模型往往用于完成文本
生成任务。难点2: 大模型存在较为严重的幻觉问题。
2.关系知识抽取
关系抽取:旨在自动识别由一对概念和联系这对概念的关系构成的相关三元组。如CEO(比尔盖茨,微软)。
3.事件知识抽取
事件是发生在某个特定的时间点或时间段、某个特定的 ...
知识计算
一. 命题逻辑
1.1 基本概念
知识库:KB,
利用形式化语言定义的句子的集合。
逻辑:用于表示信息的形式化语言。
语法:句子的形式化结构。
语义:语句在每个可能模型中的真值。
模型: m, m是语句 \(\alpha\) 的一个模型,表示语句在模型m
中为真,也称m 满足 \(\alpha\)。
逻辑:用于表示信息的形式语言。
逻辑蕴涵:某语句在逻辑上跟随另一个语句,如
\(\alpha \models \beta\),当且仅当在
\(\alpha\) 为真的模型中,\(\beta\) 也为真,即 \(M(\alpha) \subseteq
M(\beta)\)。同样的,对于知识库 \(KB
\models \alpha\),则有 \(M(KB)
\subseteq M(\alpha)\)。如果算法i 可以根据KB推导出 \(\alpha\),记为 \(KB\vdash _i \alpha\)。
可靠性:只能生成被蕴含的语句。即永远不会返回一个错误的结果。
完备性:生成所有被蕴含的语句。即返回的结果总能覆盖所有正确的解。
命题逻辑:应用一套形式化规则对以符号表示的描述性陈述进行推理 ...
搜索
知识点:
经典搜索算法:基于路径的搜索的问题。如盲目搜索,启发式搜索。
局部搜索算法:最优化问题,没有初始状态,也没有终止状;并不需要到达这些解的路径。如爬山法,元启发算法。
元启发式算法是启发式算法的改进,它是随机算法与局部搜索算法相结合的产物。如禁忌搜索算法(Tabu Search),模拟退火算法(Simulated annealing),遗传算法(Geneticalgorithm)。
对抗搜索算法:也被称为博弈搜索,在一个竞争的环境中,智能体(agents)之间通过竞争实现相反的利益,一方最大化利益,另外一方最小化这个利益。如mini-max算法,Alpha-Beta算法、蒙特卡洛树。
1.搜索算法基础树搜索:
结点:n.state, n.parent, n.action(父节点生成该节点时所采取的行动), n.path-cost(从初始状态到达该结点的路径消耗g(n))
搜索策略:节点扩展到顺序
策略评价标注:完备性(是否能找到存在的解),时间复杂度,空间复杂度,最优性
复杂度表示:分支因子b,搜索树的中节点的最大分支树;深度d,目标结点所在的最浅深度;m,状态空间中 ...
深度强化学习
强化学习从深度学习角度出发的挑战:
强化学习的奖励信号是有延迟的,而深度学习的输入输出是直接联系的
强化学习的序贯决策序列有很高的相关性,而深度学习的假设数据是独立同分布
强化学习的数据分布是会随着学习发生变化的,而深度学习的假设是底层分布固定的
1. DQN算法
1.1 DQN
Deep Q-learning: DQN, Approximate $Q^*(s,a)$ by DQN,$Q(s,a;w)$
经历回放(experience replay): 在每个时间步t 中,DQN先将智能体获得的经验$(S_t, A_t, R_t, S_{t+1})$存入回放缓存中,然后从该缓存中均匀采样小批样本用于 Q-Learning 更新。主要作用是解决数据的相关性和非静态分布问题。
DQN2015的改进:增加目标网络。目标网络通过使用旧参数生成 Q-Learning 目标,使目标值的产生不受最新参数的影响,从而大大减少发散和震荡的情况。
1.2 Double-DQN, DDQN
Double DQN 是对 DQN 在减少过拟合方面的改进。这是由于DQN对动作值函数的max操作会引入 ...
连续状态系统基于模型的强化学习
对于大规模的MDP问题,不希望使用查表(Table Lookup)的方式,通过函数近似来估计实际的价值函数的方式,既节约了资源,又能达到泛化的效果。
$\hat{v}(s,w) = v_\pi (s)$
$\hat{q}(s,a,w) = q_\pi (s,a)$
$\hat{\pi}(a,s,w) = \pi (a|s)$
函数近似器
特征的线性组合
神经网络
决策树
最近邻方法
傅立叶/小波变换
1. 价值函数近似, Value Fuction Approximation, VFA
近似函数逼近的类型:
input: s, output: $\hat{v}(s,w)$
input: s, output: $\hat{q}(s,a,w)$
input: s, output: $\hat{q}(s,a_1,w),\dots,\hat{q}(s,a_m,w)$
1.1 线性函数近似
近似价值函数: $\hat{v}(s,w)=x(s)^Tw$
目标函数: 均方误差。由于实际的价值函数不可知,用样本近似期望损失。
1.2 神经网络值函数近似
参看 深度强化学习 部分。
...
强化学习基础知识
知识点:马尔科夫决策过程,动态规划。
马尔科夫决策过程
马尔科夫过程: 一个具备马尔科夫性质的离散随机过程。
马尔科夫性: 下一时刻的状态只与当前状态有关。即$P[S_{t+1}|S_{1},…,S_{t}]=P[S_{t+1}|S_{t}]$
马尔科夫奖励函数: 把马尔科夫过程从 <S, P> 拓展到 <S, P, R, γ>。其中P 为状态转移矩阵,R 和 γ 分别表示奖励函数和奖励折扣因子。折扣因子越大,代表了智能体对长期性能指标考虑的程度越高(远视);折扣因子越小,代表了智能体对长期性能指标考虑的程度越低(近视)。
回报: 回报是一个轨迹的累积奖励,$G_{t} = R_{t+1} + \gamma R_{t+2} = \sum_{k=0}^{\infty } \gamma ^{k}R_{t+k+1}$
价值函数:状态s的期望回报,$V(s) = E[G_{t}|S_{t}=s]$。
马尔科夫决策过程: 马尔可夫奖励过程的立即奖励只取决于状态(奖励值在节点上),而马尔可夫决策过程的立即奖励与状态和动作都有关。即把马尔科夫过程从 <S, P, R ...
基于策略梯度的强化学习
强化学习可分为两大类:
value-based method(DP,MC,TD)
通过价值函数求解最优策略,求解出来的策略是确定性的,虽然可以通过$\epsilon$-贪心策略来获取一定的随机性。要求动作空间离散。
policy-based method
适用场景:随机策略;动作空间连续。
优点:具有更好的收敛性质。
缺点:通常会收敛到局部最优而非全局最优;评估一个策略通常不够高效并且具有较大的方差。
1.基本原理
由于策略实际上是一个概率分布,可以将策略参数化 $\pi(a|s,\theta)$ ,其中$\theta$ 是策略的参数。通过这种方式,可以将可见的已知状态泛化到未知的状态上。
1.1 策略目标函数
在片段式的环境中,使用每个经历片段(episode)的平均总回报。在连续性的环境中,使用每一步的平均奖励。
希望能够找到最大化$J(\theta)$的$\theta$,属于最优化问题,求解方法如下:
不使用梯度的方法(Hill climbing, Simplex, 模拟退火, 遗传算法)
使用梯度的方法更高效(梯度下降, 共轭梯度, 拟牛顿法)
1.2 策 ...
无模型强化学习
知识点
1.无模型价值学习评估
蒙特卡洛方法
时序差分学习
TD(𝝀)
2.无模型策略优化控制
蒙特卡洛策略迭代
时序差分策略迭代(SARSA)
Q值迭代 (Q-learning)
1. 无模型价值学习评估
1.1 蒙特卡洛方法
蒙特卡洛方法是一种基于样本的方法,不需要知道环境的所有信息。只需基于过去的经验就可以学习。具体来说,给定一个策略
π,通过对 π 产生的回报取平均值来评估状态价值函数。这样就有两种估算方式:
首次蒙特卡罗(First-Visit Monte
Carlo)和每次蒙特卡罗(Every-Visit Monte
Carlo)。首次蒙特卡罗只考虑每一个回合中第一次到状态 s
的访问,而每次蒙特卡罗就是考虑每次到状态 s 的访问。
注意的是,和动态规划不同的是,蒙特卡罗不使用自举(Bootstrapping),也就是说,它不用其他状态的估算来估算当前的状态值。
离线学习:智能体从预先收集好的数据中进行学习。
在线学习:智能体通过与环境实时交互来获取知识和经验。
1.2 时序差分学习
时序差分学习方法同蒙特卡洛方法一样是不基于模型的,不需要马尔可夫决策过程 ...
how to build up a blog
登录root用户
1su root
切换路径
1cd /Users/lwl/Blog
博客文章发布
12345hexo new "title" # 新建文章# 编辑对应的markdown文件hexo g # 渲染md文件为博客页面hexo s # 执行后打开http://localhost:4000/预览hexo d # 预览并编辑无误后再部署,也可以直接部署
有时部署会失败,此时尝试下面命令清除缓存后再执行部署命令。
1hexo clean
更换端口
1hexo s -p 8888 # 示例
释放端口
12lsof -i :端口号 # 查找占用指定端口的进程ID(PID)kill -9 进程ID