参考资料
1. 神经元
神经元是神经网络的基本结构,是最小的神经网络。神经元有多个输入和一个输出


输入x:代表样本特征值,如 [房屋面积,房屋价格,社区评分]
连接(Connection)是图中的边。每一个连接上都有一个权重(Weight)
信号处理函数分为两部分
- 权重加权。每个输入信号x1, x2, x3,对应的权重分别为w1, w2, w3,对应相乘相加。再加上内部强度(也叫偏置bias),用
b表示 - 激活函数。用
a=σ(z)表示
计算公式为:
用向量表示为:
w可以解理为斜率,b可以解理为截距
z被代入到激活函数 a=σ(z) 得到神经元的输出,这里的 a 表示神经元的激活状态
注意到这里的σ(z)还没有具体展开。 σ(z)被称为激活函数,具体有很多种,在整个神经网络中不同层的神经元可以使用不同的激活函数
1.1. 多分类
单个神经元的决策边界是一条直线,只能解决二分类问题
如果想要解决三分类问题,就要两个神经元,因为两个神经元决策边界是两条直线

扩展w,w从向量变成了矩阵
2. 激活函数
σ(z)激活函数有好几种,常见的有以下几种:
sigmoid函数(知名度最高)
tanh双曲正切函数
ReLU(Rectified Linear Unit)线性整流函数
Leaky ReLu函数
先记住以下几点:
- 几乎所有的情况下 Tanh 都要比 Sigmoid 要好
- 默认用 ReLu 就很好
至于为什么是这样,需要阅读好多论文才能懂,暂时先记住
3. 神经网络
3.1. 什么是神经网络
定义:在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN)或类神经网络,是一种模仿生物神经网络的结构和功能的计算模型,用于对函数进行估计或近似。
多个神经元组成的网络就是神经网络
一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好
3.2. 神经网络的特点
整个神经网络分为:输入层,隐藏层,输出层。一般说L层神经网络,指的是有L个隐层,输入层和输出层都不计算在内的
- 输入层的神经元的个数取决于输入向量的维度(样本数)
- 输出层的神经元的数量等于与每个输入相关联的输出的数量。例如手写数识别,每张图片只可能对应数字0~9,所以输出层神经元数量为10
- 每个连接都有个权值
- 同一层神经元之间没有连接
- 第N层与第N-1层的所有神经元连接,也叫全连接(full connection)
3.3. 神经网络的种类
基础神经网络:单层感知器,线性神经网络,BP神经网络,Hopfield神经网络等
进阶神经网络:玻尔兹曼机,受限玻尔兹曼机,递归神经网络等
深度神经网络:深度置信网络,卷积神经网络,循环神经网络,LSTM网络等
3.4. 神经网络的组成
结构(Architecture)例如,神经网络中的变量可以是神经元连接的权重
激励函数(Activity Rule)大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。
学习规则(Learning Rule)学习规则指定了网络中的权重如何随着时间推进而调整。(反向传播算法)