机器学习实验报告完整
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Wij(l ) Wij(l ) bi(l ) J (W , b ) Wij(l )
(1) (1) (1) a1(2) f (W11 x1 W12 x2 W13 x3 b1(1) ) (2) (1) (1) (1) (1) a2 f (W21 x1 W22 x2 W23 x3 b2 ) (2) (1) (1) (1) a3 f (W31 x1 W32 x2 W33 x3 b3(1) ) (2) (2) (2) (2) (2) (2) hW ,b ( x ) a1(3) f (W11 a1 W12 a2 W13 a3 b1(2) )
AutoEncoder 实现手写数字识别
1 神经网络基本概念
1.1 概述
神经网络是一种模仿动物神经网络行为特征, 进行分布式并行信息处理的算 法数学模型。 这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连 接的关系,从而达到处理信息的目的。 神经网络由多个神经元构成,下图就是单个神经元的图 1 所示:
f ( z) 1 1 exp( z )
\* MERGEFORMAT (1)
图 2 sigmoid 函数图像
1.2 神经网络模型
神经网络就是将许多个单一的神经元联结在一起,这样,一个神经元的输出 就可以是另一个神经元的输入。例如,下图就是一个简单的神经网络:
图 3 神经网络示意图
我们用 ai( l ) 第 l 层第 i 单元的激活值(输出值) 。当 l 1 时, ai( l ) xi ,也就是 第 i 个输入值。对于给定的参数集合 W , b ,神经网络就可以按照函数 hW ,b ( x) 来计 算输出结果。以上述模型为例,计算步骤如下:
基于 AutoEncoder 原理和 L_BFGS 优化算法实现手写数字识别
目录
1 神经网络基本概念.......................................................................................................3 1.1 概述.......................................................................................................................3 1.2 神经网络模型......................................................................................................4 2 AutoEncoder 原理........................................................................................................ 5 2.1 反向传播算法......................................................................................................5 2.2 Softmax 回归........................................................................................................ 7 2.3 Stacked AutoEncoder............................................................................................9 2.4 微调过程..............................................................................................................9 2.5 Sparse AutoEncoder............................................................................................10 2.6 Denoise AutoEncoder......................................................................................... 11 3 L_BFGS 算法............................................................................................................. 11 3.1 基本原理.............................................................................................................11 3.2 算法流程.............................................................................................................16 3.3 算法收敛性分析:........................................................................................... 19 4 基于 AutoEncoder 的手写数字识别.........................................................................19 4.1 MNIST 数据库................................................................................................... 19 4.2 模型训练............................................................................................................20 4.3 模型测试............................................................................................................20 5 实验结果及分析:.................................................................................................... 20 5.1 AutoEncoder....................................................................................................... 21 5.2 Sparse AutoEncoder............................................................................................21 5.3 Denoise AutoEncoder......................................................................................... 22 5.4 实验结果汇总及分析....................................................................................... 23 6 参考资料.....................................................................................................................25
含 m 个样例。对于单个样例 ( x, y) ,其代价函数为:
J (W , b; x, y )Fra Baidu bibliotek
1 hW ,b ( x) y 2
2
\* MERGEFORMAT (5)
这是一个方差代价函数。给定一个包含 m 个样例的数据集,我们可以定义 整体代价函数为:
1 m nl 1 sl sl 1 J (W , b) J (W , b; x ( i ), y ( i )) ( w ji( l )) 2 m i 1 2 l 1 i 1 j 1
图 4 单隐层神经网络
自编码神经网络的主要参数是连接权重 W 和偏置 b , 我们尝试利用自编码神 经网络学习一个 hW ,b ( x) x ,也就是说我们尝试逼近一个恒等函数,从而使得输
ˆ 接近于输入 x 。假设我们有一个固定样本集 {( x (1) , y (1) ), , ( x ( m) , y ( m) )} ,它包 出x
\* MERGEFORMAT (2) 我们用 zi( l ) 表示第第 l 层第 i 单元输入加权和(包括偏置) ,这样我们对上式 就可以得到一种更加简洁的表示法:
z (2) W (1) x b (1) a (2) f ( z (2) ) z (3) W (2) a (2) b (2) hW ,b ( x ) a (3) f ( z (3) )
图 1 神经元模型
这 个 神 经 元 是 以 x1 , x2 , x3 以 及 截 距 1 为 输 入 值 的 运 算 单 元 , 其 输 出 为
hW ,b ( x) f (W T x) f ( i Wi xi b) ,其中函数 f () 被称作“激活函数” 。在本次试
3
验中,我们选用 sigmoid 函数作为激活函数 f ()
\* MERGEFORMAT (3)
上述的计算步骤叫作前向传播。给定第 l 层的激活值 a (l ) 后,第 l 1 层的激活 值 a(l 1) 就可以按照下面步骤计算得到:
z (l 1) W (l ) a(l ) b(l ) a(l 1) f ( z (l 1) )
\* MERGEFORMAT (4)
2 AutoEncoder 原理
2.1 反向传播算法
自编码(AutoEncoder)神经网络是一种无监督的学习算法,它使用了反向 传播算法,让目标值等于输入值,例如输入值为训练样本集合 {x (1) , x (2) , x (3) } , 则我们的输出值 y ( i ) x ( i ) 。下图是一个自编码神经网络的示例:
2 nl 1 sl sl 1 1 m 1 ( hw,b ( x) y ) ( w ji ( l )) 2 m i 1 2 2 l 1 i 1 j 1
\* MERGEFORMAT (6)
以上公式中的第一项 J (W , b) 是一个均方差项。第二项是一个规则化项(也 叫权重衰减项) ,其目的是减小权重的幅度,防止过度拟合。 我们的目标是针对参数 W 和 b 来求其函数 J (W , b) 的最小值。为了求解神经 网络,我们将每一个参数 Wij(l ) 和 bi( l ) 初始化为一个很小的、接近于 0 的随机数, 之后对目标函数求最优解。 梯度下降法中每一次迭代都是按照如下公式对参数 W 和 b 进行更新:
(1) (1) (1) a1(2) f (W11 x1 W12 x2 W13 x3 b1(1) ) (2) (1) (1) (1) (1) a2 f (W21 x1 W22 x2 W23 x3 b2 ) (2) (1) (1) (1) a3 f (W31 x1 W32 x2 W33 x3 b3(1) ) (2) (2) (2) (2) (2) (2) hW ,b ( x ) a1(3) f (W11 a1 W12 a2 W13 a3 b1(2) )
AutoEncoder 实现手写数字识别
1 神经网络基本概念
1.1 概述
神经网络是一种模仿动物神经网络行为特征, 进行分布式并行信息处理的算 法数学模型。 这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连 接的关系,从而达到处理信息的目的。 神经网络由多个神经元构成,下图就是单个神经元的图 1 所示:
f ( z) 1 1 exp( z )
\* MERGEFORMAT (1)
图 2 sigmoid 函数图像
1.2 神经网络模型
神经网络就是将许多个单一的神经元联结在一起,这样,一个神经元的输出 就可以是另一个神经元的输入。例如,下图就是一个简单的神经网络:
图 3 神经网络示意图
我们用 ai( l ) 第 l 层第 i 单元的激活值(输出值) 。当 l 1 时, ai( l ) xi ,也就是 第 i 个输入值。对于给定的参数集合 W , b ,神经网络就可以按照函数 hW ,b ( x) 来计 算输出结果。以上述模型为例,计算步骤如下:
基于 AutoEncoder 原理和 L_BFGS 优化算法实现手写数字识别
目录
1 神经网络基本概念.......................................................................................................3 1.1 概述.......................................................................................................................3 1.2 神经网络模型......................................................................................................4 2 AutoEncoder 原理........................................................................................................ 5 2.1 反向传播算法......................................................................................................5 2.2 Softmax 回归........................................................................................................ 7 2.3 Stacked AutoEncoder............................................................................................9 2.4 微调过程..............................................................................................................9 2.5 Sparse AutoEncoder............................................................................................10 2.6 Denoise AutoEncoder......................................................................................... 11 3 L_BFGS 算法............................................................................................................. 11 3.1 基本原理.............................................................................................................11 3.2 算法流程.............................................................................................................16 3.3 算法收敛性分析:........................................................................................... 19 4 基于 AutoEncoder 的手写数字识别.........................................................................19 4.1 MNIST 数据库................................................................................................... 19 4.2 模型训练............................................................................................................20 4.3 模型测试............................................................................................................20 5 实验结果及分析:.................................................................................................... 20 5.1 AutoEncoder....................................................................................................... 21 5.2 Sparse AutoEncoder............................................................................................21 5.3 Denoise AutoEncoder......................................................................................... 22 5.4 实验结果汇总及分析....................................................................................... 23 6 参考资料.....................................................................................................................25
含 m 个样例。对于单个样例 ( x, y) ,其代价函数为:
J (W , b; x, y )Fra Baidu bibliotek
1 hW ,b ( x) y 2
2
\* MERGEFORMAT (5)
这是一个方差代价函数。给定一个包含 m 个样例的数据集,我们可以定义 整体代价函数为:
1 m nl 1 sl sl 1 J (W , b) J (W , b; x ( i ), y ( i )) ( w ji( l )) 2 m i 1 2 l 1 i 1 j 1
图 4 单隐层神经网络
自编码神经网络的主要参数是连接权重 W 和偏置 b , 我们尝试利用自编码神 经网络学习一个 hW ,b ( x) x ,也就是说我们尝试逼近一个恒等函数,从而使得输
ˆ 接近于输入 x 。假设我们有一个固定样本集 {( x (1) , y (1) ), , ( x ( m) , y ( m) )} ,它包 出x
\* MERGEFORMAT (2) 我们用 zi( l ) 表示第第 l 层第 i 单元输入加权和(包括偏置) ,这样我们对上式 就可以得到一种更加简洁的表示法:
z (2) W (1) x b (1) a (2) f ( z (2) ) z (3) W (2) a (2) b (2) hW ,b ( x ) a (3) f ( z (3) )
图 1 神经元模型
这 个 神 经 元 是 以 x1 , x2 , x3 以 及 截 距 1 为 输 入 值 的 运 算 单 元 , 其 输 出 为
hW ,b ( x) f (W T x) f ( i Wi xi b) ,其中函数 f () 被称作“激活函数” 。在本次试
3
验中,我们选用 sigmoid 函数作为激活函数 f ()
\* MERGEFORMAT (3)
上述的计算步骤叫作前向传播。给定第 l 层的激活值 a (l ) 后,第 l 1 层的激活 值 a(l 1) 就可以按照下面步骤计算得到:
z (l 1) W (l ) a(l ) b(l ) a(l 1) f ( z (l 1) )
\* MERGEFORMAT (4)
2 AutoEncoder 原理
2.1 反向传播算法
自编码(AutoEncoder)神经网络是一种无监督的学习算法,它使用了反向 传播算法,让目标值等于输入值,例如输入值为训练样本集合 {x (1) , x (2) , x (3) } , 则我们的输出值 y ( i ) x ( i ) 。下图是一个自编码神经网络的示例:
2 nl 1 sl sl 1 1 m 1 ( hw,b ( x) y ) ( w ji ( l )) 2 m i 1 2 2 l 1 i 1 j 1
\* MERGEFORMAT (6)
以上公式中的第一项 J (W , b) 是一个均方差项。第二项是一个规则化项(也 叫权重衰减项) ,其目的是减小权重的幅度,防止过度拟合。 我们的目标是针对参数 W 和 b 来求其函数 J (W , b) 的最小值。为了求解神经 网络,我们将每一个参数 Wij(l ) 和 bi( l ) 初始化为一个很小的、接近于 0 的随机数, 之后对目标函数求最优解。 梯度下降法中每一次迭代都是按照如下公式对参数 W 和 b 进行更新: