首页 > 机器学习与高维信息检索 - Note 5 - (深度)前馈神经网络((Deep) Feedforward Neural Networks)及基于CVXOPT的相关实例

机器学习与高维信息检索 - Note 5 - (深度)前馈神经网络((Deep) Feedforward Neural Networks)及基于CVXOPT的相关实例

Note 5 - (深度)前馈神经网络((Deep) Feedforward Neural Networks)及相关实例

5.1 FNN的定义和动机

粗略地说,前馈神经网络(FNN)是一种特殊的函数类,在最小化任何一种预期损失方面都非常强大,但代价是要训练大量的参数。更确切地说,考虑一个输入变量X∈Rpmathcal{X} in mathbb{R}^{p}XRp 和一个函数类Fmathcal{F}F,我们想从中找出一个函数fff,使某个损失函数LLL的期望值最小。例如,考虑简单的损失函数L(f(X))=∥f(X)−X∥22L(f(mathcal{X}))=|f(mathcal{X})-mathcal{X}|_{2}^{2}L(f(X))=f(X)X22,用于旨在重建Xmathcal{X}X样本的自动编码器。这里,fff由编码器函数(映射到一个低维空间)和解码器函数(映射回原始数据空间)的连接组成。

监督学习的另一个例子是回归,我们有一个输入和输出变量的联合分布(X,Y)(mathcal{X}, mathcal{Y})(X,Y),目的是在Fmathcal{F}F中找到最佳fff,使L(f(X),Y)=∥f(X)−Y∥22L(f(mathcal{X}), mathcal{Y})=|f(mathcal{X})-mathcal{Y}|_{2}^{2}L(f(X),Y)=f(X)Y22的期望最小。我们在本节后面讨论多级分类。

如果Fmathcal{F}F中的所有函数都可以用一组参数来描述,比如说Θ∈RNThetain mathbb{R}^{N}ΘRN,如果给定一些训练用的样本,比如说nnn,那么这些学习问题就会产生一个最小化过程

Θ^=arg⁡min⁡Θ∈RN1n∑iL(fΘ(xi)).(5.)hat{Theta}=arg min _{Theta in mathbb{R}^{N}} frac{1}{n} sum_{i} Lleft(f_{Theta}left(mathbf{x}_{i} ight) ight) . ag{5.} Θ^=argΘRNminn1iL(fΘ(xi)).(5.)

许多应用中非常重要的一类函数是所谓的前馈神经网络(FNN)(F N N)(FNN)。前馈神经网络是线性函数1{ }^{1}1的串联。

φW:Rp→Rm,h↦Wh(5.)varphi_{mathbf{W}}: mathbb{R}^{p} ightarrow mathbb{R}^{m}, mathbf{h} mapsto mathbf{W h} ag{5.} φW:RpRm,hWh(5.)

1{ }^{1}1 这也包括仿射函数,因为我们可以简单地将额外的分量1附加到我们的输入向量上。

后面是所谓的激活函数,对一个向量进行分量操作。激活函数的例子有:线性整流函数(Rectified Linear Unit, ReLU)

σ(t):=max⁡{0,t},(5.)sigma(t):=max {0, t}, ag{5.} σ(t):=max{ 0,t},(5.)

和其他一些激活函数,见维基百科。通过对符号的轻微滥用,我们也用以下方式表示向量激活函数

σ:Rm→Rm,x↦[σ(x1)⋮σ(xm)](5.)sigma: mathbb{R}^{m} ightarrow mathbb{R}^{m}, quad mathbf{x} mapstoleft[egin{array}{c} sigmaleft(x_{1} ight) \ vdots \ sigmaleft(x_{m} ight) end{array} ight] ag{5.} σ:RmRm,xσ(x1)σ(xm)(5.)

一个前馈神经网络是一个函数

f:Rp→Ro,x↦σl∘φWl∘⋯∘σ1∘φW1(x),(5.)f: mathbb{R}^{p} ightarrow mathbb{R}^{o}, quad mathbf{x} mapsto sigma_{l} circ varphi_{mathbf{W}_{l}} circ cdots circ sigma_{1} circ varphi_{mathbf{W}_{1}}(mathbf{x}), ag{5.} f:RpRo,xσlφWlσ1φW1(x),(5.)

其中,像往常一样,∘circ&l

更多相关:

  • Note 6 核, 核方法与核函数 到目前为止,我们所讨论的机器学习算法的成功都依赖于对输入数据分布的假设。例如,PCA的效果越好,数据围绕线性子空间分布。或者在线性判别分析中,我们假设类的高斯分布,甚至有相同的协方差矩阵。 为了更好地考虑输入数据的其他更复杂的分布,扩展方法的一种方式是采用所谓的核方法。它允许概括所有基本上只有标...

  •   a.需求分析:   自动生成小学四则运算题目的命令行 “软件”,满足以下需求:    除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24运算符为 +, −, ×, ÷并且要求能处理用户的输入,并判断对错,打分统计正确率。要求能处理用户输入的真分数, 如 1/2, 5/12 等使用 -n 参...

  • 2. Stochastic Finite Horizon Problem 在这一节中主要介绍了随机DP算法来解决不确定性下的有限地范围问题,如Denition 1.4所述,它被表述为一个组合优化问题。众所周知,由于组合爆炸,它是一个极其困难的问题。为了从结构上缓解这种极端的复杂性,一种方法是对所有决策规则的空间进行建模,这样就可以在...

  • 先上实现了的C++代码: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn = 100; 7 int a[maxn],...