吃瓜学习

Posted 王多头发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吃瓜学习相关的知识,希望对你有一定的参考价值。

 【吃瓜之旅】本系列是针对datawhale《吃瓜教程-西瓜书和南瓜书》的学习笔记。本次是对西瓜书第五章的个人学习总结。本次学习的是神经网络,因为之前深度学习学过这里的相关内容,以及西瓜书第三章的铺垫。本章相对比较好理解~不过也拓展了一些知识,除了介绍神经元、感知机、多层网络、BP算法,也介绍了一些其他的神经网络开了开眼,BP成功的背后也有很多神经网络模型,也许他们也有绽放的一天吧。本章也介绍了老朋友深度学习。打算学完这本书,把代码录一遍就投入花书的世界。加油加油,本次学习快结束了。不过这样的生活才刚开始。

目录

第五章:神经网络

5.2 感知机与多层神经网络

5.3 误差逆传播算法

5.4 全局最小与局部最小

5.5 其他神经网络

5.6深度学习


第五章:神经网络

5.1神经元模型

本节介绍了神经网络模型中最小组成部分,神经元模型。神经网络是通过计算机和神经科学交叉学科研究的成果。最小单元神经元模型类似神经,在接收外部信号后将信号传递到其他神经元。神经元模型(M-P神经元):当神经元模型在接收外部数据后,对每个数据属性接受的权重不同,以W标记。同时需要通过神经元的阈值,经过“激活函数”后对通过的信号进行反馈。

这里的激活函数情况是(a)所示,但由于这样的阶跃函数存在不连续,不光滑的特点。为了激活函数更容易处理,选择sigmoid函数,保证输出区间在(0,1)。

5.2 感知机与多层神经网络

值得注意的是这里的数据前提书线性可分,也就是二维环境下有直线可以区分样本,

这里将w转x-θ变为w转x  由于将θ看做亚节点

看完感知机的概念后回到那个线性不可分的问题,也就是如下图所示的异或问题,你没办法找到一条直线去解决:

这里就需要我们采用多层神经网络去处理。

以上为解决异或问题的多层神经网络。有了多层神经网络,就可以解决更复杂的问题。但是多层神经网络的参数计算也更困难,该如何计算呢?

5.3 误差逆传播算法

误差逆传播算法就是鼎鼎大名的BP算法,也就是深度学习的鼻祖吧。最成功的深度学习算法,理论上可以解决所有分类和回归问题。不过……

革命尚未成功,同志仍需努力!

回到BP模型:

通过对上图的推到,得到bp网络每个参数的梯度计算方法,也就是知道每个参数的优化方向。在训练模型时,不断训练E,在学习率η控制下使其得到最小值。

上图就是上述推导后用法的计算图,也就是BP算法的计算图。

书上介绍了两种BP算法  累计和标注,标准对每个X都会做一次更新参数,而累计对训练数据做完后再更新参数。一般建议先累计,到差不多后做标准BP。

对于神经网络也会带来过拟合问题,以下是过拟合定义:

解决过拟合采用如下两个方法:

  1. 早停
  2. “正则化”

 

5.4 全局最小与局部最小

一般我们计算可能到局部最小,因为η学习率的存在,可能得到一个损失函数最低的参数组后不会再变动。可能跳不出这个坑。但是大家还是没有放弃找到全局最小,这里给出三种解决办法:

5.5 其他神经网络

这里介绍了几种别的神经网络,感觉后面可能用得到:

5.5.1RBF

RBF特点就是需要一个中心,用于聚类。

5.5.2 ART

ART是自己和自己竞争的模型,可以做到学且不忘。

5.5.3 SOM

SOM特点就是高维向二维无监督抽象,感觉不错也可以用于无监督聚类。

5.5.4 级联相关网络

级联相关网络,特点就是自己给自己分层。

 5.5.5 Elman

这个Elman就是RNN,对于时间序列和语言处理有很好的效果。

5.5.6 Boltzmann机

Boltzmann机是输入和输出互相训练隐藏层,好奇怪的计算。是基础退火算法的升级版。可以求得全局最优的一种BP替代方法,但是计算消耗较大。不过我觉得国内量子计算发展的可以,这个东西将来可能也会替代BP这样的网络吧。这块做了解学习啦。

5.6深度学习

这里主要说了深度学习中随着层数增加较少过拟合问题,但是计算复杂度也变多。

引出“预训练+微调”的方法及“权共享”的方法提升网络计算效率。

玉汝于成,功不唐捐。

 

以上是关于吃瓜学习的主要内容,如果未能解决你的问题,请参考以下文章

吃瓜教程——datawhale10月组队学习

Datewhale一起吃瓜 Task5啃瓜第六章

Datewhale一起吃瓜 Task5啃瓜第六章

机器学习吃瓜教程学习笔记1

吃瓜教程——datawhale10月组队学习

吃瓜教程——datawhale10月组队学习