神经网络初探——读《深度学习的数学》总结
学习是一个系统通过某种过程或者方式提升自身的某个或某些性能的过程,它本身包含的是一种自动化和可控化的含义。那么如何能让不具备智能的机器去学习呢?在模拟大脑神经元的工作原理后,看来我们已经找到了通往机器学习的一种方法,它叫做神经网络。
神经网络是一种看似不可理解的复杂学习方法,这里包含着许多数学的知识。在阅读《深度学习的数学》一书之后,我想,我对神经网络有了一定的了解,当然是片面、粗浅的。
-
神经网络与大脑神经元之间十分的相像,这里十分强调“阈值”一词;
-
最简单的神经网络是层级结构的,每一层的每一个神经单元都是一个函数(也称之为激活函数),为了后面计算的方便,这里的激活函数常常使用的是可到的有限函数,比如sigmoid函数。
-
神经网络的参数很多:各个相连接的神经单元之间的传递权重,各个神经单元的阈值(我们在使用数学表达式常常使用的是偏置),还有误差方向传播时的学习率等。
-
**数据驱动:**输入的每一个数据实例都将对神经网络的参数选择产生影响,在一步步反馈中,我们对神经网络的参数进行优化,进而达到神经网络模型训练的目的。关于模型的普适性,会不会出现过拟合,训练集、测试集的划分等等都先不作考虑。
-
神经网络擅长做的是分类。这是许多问题解决的基础,这决定了神经网络开启了机器学习的新纪元。
-
关键在于模型的训练:这里着重介绍两种方法:1.梯度下降法;2.误差反向传播法;
1、梯度下降法。
在对模型进行优化的过程中,我们必然要选择一种进行优化的标准。使用训练集的作用就是,使用其标签,求取标签值与分类值的误差,不管使用何种方式。这里我们使用一种常用的叫法——代价函数。
神经网络中比较常用就是交叉熵的方法:https://blog.csdn.net/tsyccnh/article/details/79163834
梯度下降的方法就是在找最陡的山坡。
[外链图片转存失败(img-ZSiXMyy6-1565957168518)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\1565956280415.png)]
具体推导可见:https://blog.csdn.net/pengchengliu/article/details/80932232
2、误差反向传播法
https://blog.csdn.net/ViatorSun/article/details/82696475
附关于激活函数的讲解:
icle/details/82696475
附关于激活函数的讲解:
https://blog.csdn.net/ViatorSun/article/details/82418578