前向网络和反向传播(feedforward
and back-propagation)
激活函数 activation function
网络中每一层除了\(weight \times
x\)的形式,还需要将乘积结果投入一个激活函数中,普适性近似定理universal
approximation
theorem指出,一个只有两层计算单元的网络,第一层是非线性的,第二层是线性的,可以近似任意程度的连续函数。因此激活函数需要是一个非线性的函数。
前向网络中比较流行的的激活函数:
sigmoid:
\[
\sigma(x)=1 /\left(1+e^{-x}\right)
\]
ReLU: rectified linear unit
\[
\operatorname{ReLU}(x)=\max (0, x)
\]
softplus:丝滑版本的ReLU
\[
\operatorname{softplus}(x)=\log \left(1+e^{x}\right)
\]
Tanh
\[
\tanh (x)=\frac{e^{2 x}-1}{e^{2 x}+1}
\]
Note that the ...
Passive
reinforcement learning 被动增强学习
前提:
环境有限,完全可观测,就是说所有的规则都掌握,在环境里所有动作所带来的作用都能够被识别。
对于agent而言,有一个固定的动作执行策略\(\pi(s)\),即在某种环境状态下执行某种动作
agent 的目标是学习贴现效用函数\(U^\pi(s)\)(discounted utility
function) ,这里的\(s\)指的是状态,\(\pi\)是agent的执行策略
贴现效用函数\(U^\pi(s)\)(discounted utility
function) :从初始状态s开始执行策略\(\pi\) 的奖励之和的期望值
4x3 世界模型
使用一个4X3世界的Typical trials 做解释
image-20220425165114825
最上面3行是3个trails,即从(1,1)走到terminal
states的三组走法,概率转换模型为图b所示,这是一个MDP问题,即有概率转换模型、reward、以及状态效用值。
简而言之,被动增强学习是指在某个可被观测的环境中,age ...
2022年过年,在西安封城的这一个月里,不管是精神还是身体上都对自己是个非常大的考验。一切变化的都很突然,就好像一下子失去了所有的活力,自己的状态不由得又回到洛杉矶疫情那段艰难的时光。
还好,有你,我的女孩,在我最难受的时候给我鼓励,每天都陪我聊天,安慰我,虽然有时候你那安慰就跟着唱反调一样,但其实我知道你是引导着我向着好的方向去想,不让我坠入到低沉的情绪里面去。
场南四路girl,爱你!
[{"url":"https://images.zhengxiaodong.com/IMG_E0859.JPG","alt":"场南四路girl"},{"url":"https://images.zhengxiaodong.com/IMG_E0857.JPG","alt":"场南四路girl"},{"url":"https://images.zhengxiaodong.com/IMG_7847.JPG","alt":"看我高兴不"},{"url":"https://images.zhengxiaodong.com/IMG_7705.JPG","alt":"双人大头贴"},{"url" ...
Flocking
for Multi-Agent Dynamic Systems: Algorithms and Theory
In 1986, Reynolds introduced three heuristic rules that led to
creation of the first computer animation of flocking [5]. Here, are the
three flocking rules of Reynolds
Flock Centering: attempt to stay close to nearby flock mates;
和邻居接近
Collision Avoidance: avoid collisions with nearby flock mates;
不和邻居碰撞
Velocity Matching: attempt to match velocity with nearby flock mates
和邻居保持一致的速度
基本问题:
How do we design scalable flocking algori ...
第二章
拉普拉斯矩阵
Jordan form matrix and transformation matrix
特征值
和右特征向量 满足
Theorem 2.1 L has rank N-1, i.e., is nonrepeated, if and only if
graph G has a spanning tree
如果一个图G的拉普拉斯矩阵的秩是N-1,则 不重复的条件是 图G含有spanning tree,spanning
tree是指该图有不只一个子树包含图中所有的顶点
且有以下推论:
因为
所有的行自相加等于0,所以有
$$
$$
L c=0
$$
$$
其中,
是任意一个常数,这代表了每个矩阵必然含有特征值对应有特征向量,所以,即拉普拉斯矩阵的零空间里必含。
如果的维度是1,即拉普拉斯矩阵的秩为
,则是该拉普来说矩阵无重复的特征值,且所对应的是其零空间内唯一的特征向量。
⭐️拉普拉斯矩阵必然含有
⭐️如果图是强连接图,则图必有spanning
tree且其拉普拉斯矩阵的秩为
⭐️如果图有spanning tree,则
⭐️如果图有spanning ...
Eigenface
PCA有很多作用,比如在人脸识别领域,拾取人脸得关键特征。最著名的一个例子是所谓的eigenface。
顾名思义,eigenface就是脸的eigenvalue,即脸的特征(其实任意图片都有特征,但是使用一类图片比如人脸图片较为好比较)。
使用PCA提取人脸图片的特征,并且将其重新组成图片,过程如下。
获取张同一个人不同的人脸照片,比如192x168像素的照片,用灰度表示(比较简单,这样每一个pixel就只有一个值而不是3个值了)。
将每一张照片变成列向量,每一列代表一个照片,构成一个矩阵,即矩阵的维度是。
计算矩阵的每一行的平均值,得到一个
的列向量,然后将这个列向量扩充成矩阵,变成 的矩阵,每一列的值都相同,这个矩阵称之为均值矩阵 。
通过公式算出去平均值后的矩阵
将进行SVD分解得到 其中,矩阵就是eigenface矩阵,每一列就是每张照片的eigenface,每一张都记录了不同方面的信息
以上五步就可以的出来eigenface,下面发一个代码,以及本人靓照:
image-20210515230156788
使用eigenfaces可以拟合出来原图, ...
SVD 使用 correlations
方法计算
首先在说SVD之前回忆一波特征值分解:
特征值分解
特征值分解简单来说就是把矩阵分解成特征向量矩阵特征值形成的对角矩阵特征向量矩阵的逆的形式,即
其中 是 的特征向量
上式还可以写成这样,即原矩阵 特征向量矩阵 = 特征向量矩阵
特征值矩阵,特征值分解只能应用于方阵
SVD分解
关于一个向量
,首先将其看成是列向量的矩阵,且假设,()
则
是一个的矩阵
而这个矩阵就是矩阵中 相互之间的相关性。
解释完的含义就可以看SVD分解了
首先SVD的分解形式为:
其中 称之为的左奇异向量矩阵,称之为 的奇异向量矩阵, 和
都是共轭转置矩阵,即其本身乘以其共轭转置得到单位矩阵。
,
、 如果
不是复数矩阵。
称之为 的奇异值矩阵,其中
是对角矩阵,且每个奇异值的重要性按行顺序排列。
SVD分解可以是非方阵,也就是说任何矩阵都有其奇异值矩阵、左/右奇异向量矩阵,这和特征值分解是不同的。
SVD分解和特征值分解的关系
对和进行简化SVD分解可以分别得到
注:所谓简化SVD分解是matlab的一个函数svd(X,' ...
截取关键成分
最优硬分界线
在SVD分解中,选取合适的秩r作为分界线至关重要。这个分界线就是下图中如何划分和的关键。有一种方法是最优硬分界线,选取秩r大于该分界线的部分最为Truncated
SVD,往往最有效率。
fullsvd2truncatedsvd
那么最优硬分界线划分假设被分解的矩阵可以被分成两个部分: 其中 是高斯噪音,是噪音的magnitude。
如果,即是个方阵,而且$已知则硬分界线为:$ $$
如果,且 即是个非常细长的矩阵,则替换成 :
如果,而且$未知,则最优硬分界线为:$ $$
其中是奇异值的中位数, 由下式解出:
书中例子:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647clear all, close all, clc%% 造出来一个真实Xt = (-3:.01:3)';Utrue = [cos(17*t).*exp(-t.^2) sin(11*t)];Strue = [2 0; 0 .5];Vtrue = [si ...
使用SVD
奇异值分解进行regress回归
Truncated SVD
Truncated SVD见下图:
fullsvd2truncatedsvd
其中rem代表被截取后的剩余部分。
对于矩阵而言,我们将其分解为 的形式,其中,和都是酉矩阵,即其与自身的共轭转置相乘等于单位矩阵的矩阵(,)。
则是一个对角矩阵,对角线上的值都是矩阵的特征值。
这样对一个矩阵分解就叫做SVD分解(singular value decomposition)。
对于而言,如果矩阵并不是全秩的矩阵(意思是其所有的行或列并不是都不相关的
not independently related),矩阵的秩假设为(有最大个不相关的行或列),则 则代表了矩阵前列所构成的矩阵, 则代表了剩余部分,代表根据需要在前列中选择的一部分列构成的矩阵。
都是对应的奇异值的奇异向量,且 ,都是按照重要性排列其列向量的。
使用matlab实现对一个矩阵的SVD分解很简单:
1234567%%假设X是mxn的矩阵[U,S,V] = svd(X)%或者使用[U,S,V] = svd(X,'econ')%以及[U,S,V] = s ...
卡尔曼滤波介绍
卡尔曼滤波顾名思义是一种滤波方法,可以用于线性滤波和非线性滤波。卡尔曼滤波分为很多类,主要应用于线性滤波的是一般卡尔曼滤波,应用于非线性的有延申卡尔曼滤波(Extended
Kalman Filter) 、无损卡尔曼滤波(Unscented Kalman
Filter) 、以及粒子滤波器(Particle Kalman
Filter)。
这篇主要说一说啥是一般卡尔曼滤波。
卡尔曼滤波的基本模型
基本假设
假设现在有线性的离散时间系统:
\[
\begin{equation}\label{1}
\begin{aligned}
x_ {k} &=F_ {k-1} x_ {k-1}+G_ {k-1} u_ {k-1}+w_ {k-1}\\\\
\\\\
y_ {k} &=H_ {k} x_ {k}+v_ {k}
\end{aligned}
\end{equation}
\]
系统固有的
对于这个系统描述方程,各个矩阵的描述如下:
\(F_ {k-1}\):
系统转化矩阵,将系统状态从时刻间\(k-1\)转化到时刻\(k\)时的状态。
\(G_
{k-1}\): ...