UFLDL教程

UFLDL 教程-深度神经网络 说明:本教程将阐述无监督特征学习和深度学习的主要观点。通过学习,你也将实现多个功能学 习/深度学习算法,能看到它们为你工作,并学习如何应用/适应这些想法到新问题上。 本教程假定机器学习的基本知识 第一章.稀疏自编码器 1. 神经网络 以监督学习为例,假设我们有训练样本集 ,那么神经网络算法能够提供一种复 杂且非线性的假设模型 ,它具有参数 ,可以以此参数来拟合我们的数据。 为了描述神经网络,我们先从最简单的神经网络讲起,这个神经网络仅由一个“神经元”构成,以 下即是这个“神经元”的图示: 这个“神经元”是一个以 及截距 为输入值的运算单元,其输出 为 ,其中函数 被称为 “激活函数”。在本教程中,我们选用 sigmoid 函数作为激活函数 可以看出,这个单一“神经元”的输入-输出映射关系其实就是一个逻辑回归(logistic regression)。 虽然本系列教程采用 sigmoid 函数,但你也可以选择双曲正切函数(tanh): 以下分别是 sigmoid 及 tanh 的函数图像 函数是 sigmoid 函数的一种变体,它的取值范围为 ,而不是 sigmoid 函数的 1 注意,与其它地方(包括 OpenClassroom 公开课以及斯坦福大学 CS229 课程)不同的是, 这里我们不再令 。取而代之,我们用单独的参数 来表示截距。 最后要说明的是,有一个等式我们以后会经常用到:如果选 , 也就是 sigmoid 函数,那么它的导数就是 (如果选择 tanh 函 数,那它的导数就是 ,你可以根据 sigmoid(或 tanh)函数的定义 自行推导这个等式。 神经网络模型 所谓神经网络就是将许多个单一“神经元”联结在一起,这样,一个“神经元”的输出就可以是另一 个“神经元”的输入。例如,下图就是一个简单的神经网络: 我们使用圆圈来表示神经网络的输入,标上“ ”的圆圈被称为偏置节点,也就是截距项 。 神经网络最左边的一层叫做输入层,最右的一层叫做输出层(本例中,输出层只有一个节点)。 中间所有节点组成的一层叫做隐藏层,因为我们不能在训练样本集中观测到它们的值。同时可以 看到,以上神经网络的例子中有 3 个输入单元(偏置单元不计在内),3 个隐藏单元及一个输出 单元。 我们用 来表示网络的层数,本例中 ,我们将第 层记为 ,于是 是输入层, 输出层是 。本例神经网络有参

文档评论(0)

1亿VIP精品文档

相关文档