一、神经网络
神经网络是模仿大脑神经元,建立的模型。模型中的每个神经元都是一个单独的【学习模型】,这些神经元也叫做激活单元(activation unit)
Sigmoid函数在之前的逻辑回归中有写到,这里就不多写了,在上述图中,它将左边输入的和参数θ相乘后作为输入,经过自身的计算得到结果 h 0 ( x ) h_0(x) h0(x),在神经网络中,参数又可被成为权重(weight)。
二、前向传播算法
这里直接上三层神经网络(每一层添加了偏置单元)。
x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3成为输入层, a 1 , a 2 , a 3 a_1,a_2,a_3 a1,a2,a3成为隐藏层,最后一层成为输出层。
每次通过权重计算之后,需要用激活函数计算
θ m n i \theta_{mn}^i θmni表示第i层参数矩阵,m对应第i+1层激活,n对应第i层激活单元
a i ( j ) a_i^{(j)} ai(j)表示的是第i层第j个激活单元
g ( z ) g(z) g(z)表示激活函数
输出层表达式:
从上面的图和公式可以看出,从输入层开始,不断的通过参数矩阵的运算,最后到输出层,这样的一个过程就叫前向传播算法。
神经网络和逻辑回归/线性回归的比较:
我们可以把神经网络中的隐藏层的激活单元看成是输入特征的更加高级的特征值,这些特征值可以通过之后的反向传播不断优化,调整,而逻辑回归中我们只能限制的使用原始特征(相当于神经网络的输入层)
2.反向传播算法
反向传播算法思想:
- 将训练集数据输入到神经网络的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;
- 由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
- 在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛
ω j k