AI-Markov Models and Hidden Markov Models
前面讲的 BN 是静态的概率推断,而在这里我们考虑在时间上的推移,并且网络的形式更为简单了。时间上的推断在实际中的应用非常广泛,如 Speech recognition, Robot mapping, Medical monitoring。
Markov Models
一个时间点的状态可能取决于前面的所有节点,而马氏模型的假设是该状态仅和前一时间点的状态有关。 \[
P(X_t|X_1...X_{t-1})=P(X_t|X_{t-1})
\] 马氏链的几个要素
State: value of X at a given time
Initial probabilities: the prior probability distribution of X
Transition probabilities (dynamics): specify how the state evolves over time
对于转移概率,我们有静态假设 Stationary assumption: transition probabilities the same at all times
在这种情况下 ...
AI-Adversarial Search
博弈 Game 的分类维度
Deterministic or stochastic?
One, two, or more players?
Zero sum?
Perfect information (can you see the state)?
Adversarial Search
对抗搜索 Adversarial Search 关注的是 perfect information, deterministic, two players, zero-sum, alternate turns 的博弈。典型的例子有 Tic-tac-toe, chess, Go, Gomoku 等。
在双人博弈的场景下,由于是零和游戏一方分数为正,则另一方则必为相应的负数。这样的话,我们可以给场上的局势统一「打分」,一方欲求最大化该分数,而另一方意图最小化该分数。例如对 MAX 节点来说 \[
V(s)=\max_{s'\in successor(s)}V(s')
\] 这样的话,我们给出 Minimax Search 的定义:
A state-space search tree. P ...
AI-Bayes Network
贝叶斯网络,我们分成了表示和推断两个课时;另外,因此它和后面的 HMM 等模型密切相关,因此需要熟练掌握。
Preliminaries for Probabilistic Reasoning
概率推断 Probabilistic Reasoning 在很多地方都有用,如 Diagnosis, Speech Recognition, Tracking ovjects, Robot mapping, Genetics, Error correcting codes 等。这一部分复习概率论相关内容,不加说明均以有限离散情况为例
Random Variables
Joint and Marginal Distributions
\[
P(t)=\sum_s P(t,s)
\]
Conditional Distribution
\[
P(a|b)={P(a,b)\over P(b)}
\]
Product Rule, Chain Rule, Bayes’ Rule
\[
P(y)P(x|y)=P(x,y)\\
P(x_1,...,x_n)=\prod_i P(x_i|x_1...x_ ...
AI-Constraint Satisfaction Problems
在搜索算法中,我们关心的是从初始节点到目标节点的一条路径;而在约束满足问题中,我们没有初始状态,只关心 goal 而不在乎 path。
Planning: sequences of actions
Identification: assignments to variables
Constraint Satisfaction Problems (CSPs) are specialized for identification problems
我们可以把 CSP 看成是特殊的搜索问题。对于一般的搜索问题来说,State is atomic or indivisible, known as a “black box” without internal structure,而在 CSP 中 State is represented as a feature vector;在搜索问题中 Goal test can be any function over states,而CSP 中 Goal test is a set of constraints to identify the all ...
AI-Search
首先,我们 定义一个搜索问题:
a state space 状态空间
a successor/result function (with actions, costs) 转移方程
a start state 开始状态
a goal test 结束检测
例如对于一个 Pacman 世界来说,状态空间就是 Pacman 所在的位置、豆子的状态所决定的;而后继函数可以包括了我们的动作以及所需要的代价(在这里每一方向上的代价都是 1);我们从一个起始状态去搜索如何到达目标状态。
Note:对于实际的编程来说,最重要的应该是状态的表示,一个好的状态表示可以减少算法复杂度;为此,除了 World State 之外,还可以定义 Local State。
对于一个搜索问题来说,我们可以把不同的状态之间用后继函数连接起来,构成图(state space graph),节点表示状态有向边表示后继函数,注意这里每一个状态都只有一个;然而,在实际的操作中,树(search tree)则更为常见也更容易理解,它和图的区别在于,同一个状态可以对应着搜索树的不同节点,即 state 可重复。
搜索算法可分为无 ...
Hexo 搭建博客 & 基础配置
【又是一篇旧文,记录使用 Hexo+Github Pages 配置博客的过程,正如当时就坦言的:「由于自己能力有限而且也确实太懒,在过程中参考了网上很多教程,多把自己用到的部分直接转了过来,在文中有链接说明,侵删」;更直白的讲,这里仅仅是把自己配置过程中参考的有用信息摘录了下来,只能算作「笔记」,但考虑还是花了很多心血或许可以帮到有需要的人,暂且存留下来。】
hexo 文档:https://hexo.io/zh-cn/docs/
live 2D https://github.com/EYHN/hexo-helper-live2d
Cards 主题 https://github.com/ChrAlpha/hexo-theme-cards
相关概念
什么是 Hexo
这是一套使用第三方主题模板+自己的博客文章(.md文件)+ 网站信息配置,通过Node.js进行本地连接混合生成一套静态网站的工具链套件
也就是说,通过Hexo创建的博客是一个仅提供在线浏览功能的静态博客,不存在后台编辑功能,添加新博客时需要在自己开发机上编写新博客文章(.md文件),再次生成一个新版本网站,上传并替换, ...
NAS + WordPress 使用记录
【这算是我的第一次建站尝试,使用的是最为大众熟知的 WordPress,不过由于种种原因换了很多平台,之后有机会再做记录吧;兜兜转转,现在主要的方案放在了 CNblog 上,提供了更为省心并且体验不错的服务,主要是对于 Markdown 的支持非常好。】
20201126 更新:最近又重新安了一次 WordPress,经历了这么多之后回过头来,一切变得简单了起来,虽然 WordPress 对我来说还是太复杂了……成功完成了安装实现了基本的功能,之后的时间专心学习的创作吧~尽量不去折腾了。这一次的安装,参见 群晖NAS手动安装配置官方WordPress博客教程。
安装 WordPress
安装之前:服务器LNMP环境搭建
想要运行Wordpress网站程序,必须要有对应的软件,也就是服务器环境,比如我们常说的LNMP就是 Linux + Nginx + Mysql + PHP 环境,这是WordPress运行的基础。
方案一:使用 宝塔面板 这款工具帮助搭建WordPress运行环境
方案二:自己搭建,因为在群晖下我们可以很方便的安装这些软件,因此在 DSM 界面进行安装,以下详解:
...
AI-MDP
一个马尔可夫决策过程可由以下五元素定义:
State \(s\in S\)
Actions \(a\in A\)
Transition func \(T(s,a,s')=P(s'|s,a)\)
Reward func \(R(s,a,s')\)
Decay factor
其中,转移函数和奖励函数被称为 model,另外奖励也可能简化为 \(R(s,a)\) 或 \(R(s')\)的形式。
相较于之前的搜索策略(模型是没有随机性),在 MDP 中我们多了随机性。对于一个 MDP 问题来说,我们的目标是根据给定的 T 和 R(这里给定了 model,而在下面的 RL 中我们需要去学习这个模型), 对于每个 state 寻找一个对应的 action,即给出一个 policy \(\pi*\) (从 state 到 action 的 mapping) 使得期望 utility(reward) 最大化。
由于是一个序列化的过程,我们需要对于这一系列的 reward 以一定的权重进行综合。对于一个必然会结束的问题来说,可以直接加总;但更多时候我们面临的是一个无穷 ...
AI-Reinforced Learning
在 MDP 中,我们给出了 model(即转移 T 和奖励 R 的具体形式),然而,这种情况显然是理想的,要解决现实中的问题,我们一般不能得到 model,因此,就进入到了这个专题——强化学习 RL。 和 MDP 中的概念类似,这里有状态集 S,动作集 A,对于我们的每个 \((s,a)\) 环境会给出一个回报 r ,并转移到新的状态 \(s'\),注意,我们并不知道 R 和 T 的具体形式,只能获得这一系列的 \(s,a,r,s'\) 序列,基于此,我们要训练出决策 \(\pi(s)\)。
Model-based RL
在 model-baesd 中,我们仍未放弃模型,相较于 MDP,我们通过数据训练出一个估计的模型,并利用这个模型使用 MDP 的方法来学习,例如 value iteration, policy iteration 等。 具体来说,我们的观测是一系列的 episode,即从一个初始状态出发,经过一些动作,最终到达了一个终止状态,这一幕就结束了。
基于这些 episodes,我们可以用极大似然的方法近似估计 Transition model, Rewa ...
SC-Bootstrap, Jackknife
这篇来谈谈 Bootstrap 和 Jackknife。先来一个总括:在之前的 MC in Statistic Inference 中,我们假定已知了 population 的分布,并基于此进行样本生成,对于估计的 se、MSE 、置信水平进行估计,或做假设检验;然而这种方法的应用显然有点窄——很多情况下,我们是不知道总体分布,甚至我们能采集到的样本就只有这些,限于种种原因无法采集更多的样本——那么,在不知道总体分布,或者样本量较少的情况下,我们如何对于上述这些进行估计呢?这里就用了 Bootstrap 方法,本质是上一种重抽样的方法:既然我们只知道这些数据,那么我们就把这些数据看做整体(Empirical dist.),基于这些数据再进行多次抽样并计算得我们想要的内容(更加充分运用了这些数据)。补充:1. 我们也把 MC in Statistic Inference 中的方法叫做参数 Bootstrap(因为它也涉及到了重新的多次抽样,不过是从 population 中抽取的);而这里的方法则叫做非参数 Bootstrap,我们一般讲的 Bootstrap 就是这里的;2. Jack ...
SC-EM
关于 EM 算法比较一般的形式可以参看以下的内容:
wiki wiki 写的太清楚了,有机会重新写一些吧
刘建平的 Blog
https://www.csuldw.com/
而这里我还是按照老师讲统计计算时候的思路进行笔记,可能和上述在形式上有一定的区别。
首先是算法要解决的问题,主要有两类:1. 存在删失数据 censored data (最典型的如医学上存活时间,或者是跟踪调查的时间,我们可能在一个时间点截止了,那么剩下的样本我们只知道其值大于一个数,但这个随机变量具体的取值我们不清楚),可分为左/右/双边删失;2. 隐变量 latent variables,我们无法观测到的变量,例如在 mixed model 中的混合系数(注意,我们必须要对这个变量有一定的了解,比如混合模型中成分的数量)。
一般情况下,我们希望用 MLE 对于参数进行估计,但在这两种情况下,我们没法得到似然函数的形式;然而,若我们把缺失/隐变量加入到模型中,似然函数的形式就明确下来了——然后,我们只需要使用期望将缺失/隐变量消去即可。
Idea: Reeplace a difficult likelihoo ...
关于错排问题
错排问题,这个问题的背景可能有多种表述方式,将其形式化,可表为:将 1 至 n 这 n 个数字排列,使得每个数字不出现在其所在序号的位置上,问所有可能的排列数。详见 wiki
对于这一问题的「官方」解法是这样的:考虑编号为 1 的数字,显然它有 \(n-1\) 个可能的位置。假定它出现在 i 位置上,那么分两种情况考虑:
\(i\) 号数字出现在 1 位置上,则问题缩减为 \(n-2\) 个数字错排的情况;
\(i\) 号数字出现在非 1 位置上。这里出现了一个精妙的想法:对于 \(i\) 号数字来说,它「不允许」出现在 1 位置上,而其他的各元素 \(2, 3, ..., i-1, i+1, ..., n\) 不允许出现在各自的编号位置上——所以,\(i\) 号元素个其他元素的地位是等价的——问题化归为 \(n-2\) 个数字错排的情况。
综上,可以得到递推公式,\(D(n)=(n-2)(D(n-1)+D(n-2)), n\ge 3\)。当然,初始条件为 \(D(1)=0, D(2)=1\)。
另一种也比较容易想到的方法是这样的:对于所有可能的排列,减去其中出现矛盾的情况。
若 ...
实批精读 讨论课
讨论课 1
为什么康德放弃了在《道德形而上学奠基/原理》中写道的要做一个“纯粹实践理性批判”的计划,取而代之的是“实践理性批判”?
对此,康德在《实践理性批判》的序言和前言中进行了解答:「它应当阐明的只是有存粹实践理性,并为此而批判理性的全部实践能力。( Its business is to show that there is pure practical reason, and for this purpose it criticizes the entire practical faculty of reason.) 如果它在这一点上成功了,那么就不需要批判这个存粹能力本身……因为,如果理性作为存粹理性现实地是实践的,那么它就通过这个事实而证明了它及其概念的实在性。」(5:3)
「这样一来,我们将要探讨的就不是一种存粹实践的理性的批判,而只是一般的实践的理性的批判。因为存粹理性一经被阐明,就不需要任何批判了。」(5:17)
所谓「批判」,即对形而上学原则的来源和可能性的探求。在这里,康德只是想说明存在存粹实践理性,人类在思想、情感、行动的过程中潜藏、体现着实践理性。
另外,对于理 ...
实批精读 期末论文:两种因果律的区分及先验自由下的道德对象
康德在《实践理性批判》中区分了自然因果性和自由因果性,这种区分源于自然必然性和自由之间的矛盾,本文将重点围绕他是如何解决两者之间的矛盾进行展开;此外,在自由和理性的前提下,他颠覆性地基于道德法则建立了善与恶的概念,从而确立了纯粹实践理性的对象。以下将在对《实批》进行文本分析的基础上,就上述问题以及解决思路,以及善恶的概念进行简要分析。
我们看来自然必然性和自由之间会出现什么样的矛盾:邓晓芒先生将自然界中的因果规律译为自然必然性,这种必然性意味着只要有某种原因,必然会产生某个结果,其强调的是一种非或然的关系,而这种关系正是自然科学之所以成立的基石。然而,从另一方面来说,我们似乎相信人是具有自由的,即人具备某种选择去做什么的权力;但矛盾在于,倘若我们的行动如同在知性世界中那样遵循着某种确定性的因果规律,因因相续,那么这种选择似乎就无从谈起了。也就是说,如果我们的行动完全取决于这种因果关系,那么人的自由就被取消了:「因为,从必然性中所得出的结论是,任何时间、因而在一个时间点上采取的任何行动,都必然是以在先行的时间中发生过的事件为条件的。」「既然过去了的时间不再在我的控制之下」,「我在我行动的 ...
实批精读 期中论文:康德善良意志浅析
善良意志是康德在《道德形而上学奠基》中提出的一个重要概念,其引出了后文对于理性目的的论述和义务的概念,本文试图通过对《奠基》一书第一部分的解读,对这一概念进行一定的阐释。
另外,需要指出的是,康德道德哲学是从通俗的对善的理解一步步深入的,从本书的结构就可以看出,他想从普通的道德理性知识中抽取出通俗的道德哲学,进一步建立道德的形而上学,最终通过对纯粹实践理性的批判探讨道德形而上学何以成为可能。虽然最终过渡到了对于纯粹理性的批判,但其出发点还是在于日常的道德理性知识,而善良意志的概念正是在这一部分中提出来的,以此来确立行为的道德准则,因此我们可以从一个比较直观的角度来理解这一概念。
康德在《奠基》一书第一章篇首就提出了「善良意志」的定义:「在世界之内,一般而言甚至在世界之外,除了一个善的意志之外,不可能设想任何东西能够被无限制地视为善的。」(4:393) 1 注意到,这里给出的只是一个笼统的定义,为了明确这一概念,康德首先将一些普通意义上被视为善的东西排除在外,这包括:1. 知性、机智、判断力等属于精神的才能的东西;2. 勇气、果断、坚韧等属于气质的属性;3. 权利、财富、荣誉等幸福的赠予 ...
《实践理性批判》导读 课程笔记
这是大三时候的「《实践理性批判》导读」课程的笔记,算是自己接触到正经的「哲学」的第一门课程,课程容量不算多,但老师讲课很棒也学到了很多关于哲学的思想和概念,在此整理补发。
第一周
课程介绍
伦理学分类:规范伦理学、元伦理学、应用伦理学
规范伦理学的三大形态:功利主义、义务论、德性(美德)伦理
德性:亚里士多德的中道、实践智慧、幸福
义务:强调与原则和规则的一致的行动,而不管结果;区别于德性论,德性伦理注重内在的动机而不是外部义务或责任,关注个人的性格特质。
康德道德哲学的特征
终身道德哲学的「先验」部分
自主概念作为伦理学的核心
人类能动者既有其本体的一面,也有现象的一面
道德作为绝对命令向人类能动者展现自身,并且正是这个绝对命令,连同其他关于世界的事实和我们具化的行动能力 agency 而衍生了那些具体的道德义务
道德产生了「最高的善」这一概念
第二周
概念辨析:
先验:先于经验而使经验(知识)成为可能的
先天:独立于经验便可以知道的
超验:超出经验所能知晓范围的
现象界 与 本体界
假言命令 与 定言命令(不论你的欲望如何,你都必须服从的命令。道德责任是从纯粹理性中衍生出 ...
SC-复习提纲
1 Methods for Generating Random Variables
The Inverse Transform Method
The Acceptance-Rejection Method
根据一个参考的分布生成;
注意接受的概率徐取决于概率分布的比值 c,因此选取的参考分布的好坏决定了算法的效率
Transformation Methods
Sums and Mixtures:随机变量的和或者混合是一种特殊类型的变换
理解:sum 是直接把多个随机变量加起来;而 mixture 则是把分布函数「加起来」;具体的实现的话,就是按照不同 组分(参数不同的随机变量)的权重,从各自的分布中去抽样,组合起来即可。
一个例子:A Poisson–Gamma Mixture Is Negative-Binomially Distributed,参见 https://gregorygundersen.com/blog/2019/09/16/poisson-gamma-nb/
2 Methods for Generating Random Vectors
Multivar ...
计算思维 课程大纲
这学期选的一门模块课,选用教材为 不插电的计算机科学 复习主要过一遍 PPT,这本教材网上有边免费的英文版,不过总体的难度较小,不看也罢。
以下来整理一下这门课的主要内容。
1 二进制
数字,文字编码,图像,色彩的表示。在图像中提到了游程压缩。
2 编码与压缩
主要有霍夫曼编码,LZ 压缩
3 错误检测与纠正
主要讲了奇偶校验,用了棋盘作为例子,在左侧和下侧增加一行,保证每行、每列的白色棋子(0)的数量为偶数。
基于奇偶校验的 RAID5 等。注意此方法只能纠正一个错误。
另一种错误检测的例子为 ISBN 码,原理很简单,即对于每位数字赋予一个权重,最终得到一个校验位,来确保某一位数字出现出错的时候能够被发现。身份证的末位也是此原理。注意,此方法只能检测而不能纠正错误。
还讲了纠错编码。汉明距离为在一个编码系统中,一个字符的编码与另一个字符的编码之间的最小编辑距离(需要修改多少位)。一个汉明距离为 3 的编码,可纠正一个错误,发现 2 个错误。(那么问题来了,如何判断是错误了 1 位还是 2 位呢?)
4 搜索
简单的搜索算法:线性搜索;二分搜索;哈希搜索。
5 排序
排序分了两章讲。 ...
RSS 与稍后读软件横向比较
框架:RSS + 需要的发送到稍后阅读 + 其他网页分享到 Pocket/Instapaper + Evernote 最终归档。
目前配置:RSS 服务使用 Inoreader,阅读器则使用 Reeder4,稍后读软件使用 Instapaper。
【20201119:这是之前简写的关于 RSS 和稍后读软件的横向比较笔记,现在看来文笔生涩很多问题也没有讲清楚,但是问题的探讨还是比较有意义的,因此整理发送出来。目前所使用软件还是这里提到的三点,不过在使用的流程上有了一定的优化。 另外,关于时间和信息管理,参见 谈谈时间与信息管理 一文。】
不同 RSS 服务比较
尝试过使用 IFTTT 自动将在Reeder4中star的文章自动同步到Evernote(注意,在 Reeder 中 star 的文章实际上是使用了各家 RSS 服务的功能,即在对应的 RSS服务 (如 Inoreader)进行 star 。然后,主流的三家 RSS 服务(Inoreader, Feedly, Newsblur)中前两者连接 IFTTT 需要开通会员,而 Newsblur 实测分享后格式混乱(丢失所有标点空白符 ...
概率论基础(二)随机变量
本部分主要介绍常见的随机变量及其关系。主要内容有:
随机变量的概念
常见离散随机变量
常见连续随机变量
随机变量函数的分布
在上一节从经验直观出发,引入随机事件及其概率的概念之后,为进一步研究随机现象,我们需要引入随机变量的概念。
补充了随机变量函数的分布这一部分内容
什么是随机变量
顾名思义,随机变量就是其值随机会而定的变量,正如随机事件是其发生与否随机会而定的事件。
机会表现在实验结果,一个随机试验有许多可能的结果,出现哪一个要看机会,即有一定的概率。到底是哪一个,要等掷骰子以后才知道。因此,又可以说,随机变量就是实验结果的函数。关键在于实验前后之分:前,我们不能预制其取值,“随机”;试验后,取值就确定了。
随机变量的反面是“确定性变量”,其取值遵循某种严格的规律的变量。
随机事件这个概念实际上是包含在随机变量这个更广的概念之内。也可以说:随机事件是从静态的观点来研究随机现象,而随机变量则是一种动态的观点。一如数学分析中的常量和变量的区分那样,变量概念是高等数学有别于初等数学的基础概念。同样,概率论能从一些孤立事件的概率发展为一个更高的理论体系,基础就是随机变量。
...