理论基础(1)【draft】神经网络
一、深度学习有哪些应用
- 图像:图像识别、物体识别、图片美化、图片修复、目标检测。
- 自然语言处理:机器创作、个性化推荐、文本分类、翻译、自动纠错、情感分析。
- 数值预测、量化交易
二、什么是神经网络
我们以房价预测的案例来说明一下,把房屋的面积作为神经网络的输入(我们称之为𝑥),通过一个节点(一个小圆圈),最终输出了价格(我们用𝑦表示)。其实这个小圆圈就是一个单独的神经元,就像人的大脑神经元一样。如果这是一个单神经元网络,不管规模大小,它正是通过把这些单个神经元叠加在一起来形成。如果你把这些神经元想象成单独的乐高积木,你就通过搭积木来完成一个更大的神经网络。
神经网络与大脑关联不大。这是一个过度简化的对比,把一个神经网络的逻辑单元和右边的生物神经元对比。至今为止其实连神经科学家们都很难解释,究竟一个神经元能做什么。
2.1 什么是感知器
这要从逻辑回归讲起,我们都知道逻辑回归的目标函数如下所示:
\[ \begin{aligned} & z=\theta_0+\theta_1 X_1+\theta_2 X_2 \\ & a=g(z)=\frac{1}{1+e^{-z}}\end{aligned} \]
我们用网络来表示,这个网络就叫做感知器:
如果在这个感知器的基础上加上隐藏层,就会得到下面我们要说的神经网络结构了。
2.2 神经网络的结构
神经网络的一般结构是由输入层、隐藏层(神经元)、输出层构成的。隐藏层可以是1层或者多层叠加,层与层之间是相互连接的,如下图所示。神经网络具有非线性切分能力。
一般说到神经网络的层数是这样计算的,输入层不算,从隐藏层开始一直到输出层,一共有几层就代表着这是一个几层的神经网络,例如上图就是一个三层结构的神经网络。
解释隐藏层的含义:在一个神经网络中,当你使用监督学习训练它的时候,训练集包含了输入𝑥也包含了目标输出𝑦,所以术语隐藏层的含义是在训练集中,这些中间结点的准确值我们是不知道到的,也就是说你看不见它们在训练集中应具有的值。
- 多隐藏层的神经网络比单隐藏层的神经网络工程效果好很多。
- 提升隐层层数或者隐层神经元个数,神经网络“容量”会变大,空间表达力会变强。
- 过多的隐层和神经元节点,会带来过拟合问题。
- 不要试图通过降低神经网络参数量来减缓过拟合,用正则化或者dropout。
参考文献
- https://github.com/NLP-LOVE/ML-NLP/tree/master/Deep%20Learning/10.%20Neural%20Network