机器学习笔记10:神经网络模型,前向传播计算 木灵的炼金工作室

至此,我们完成了广义线性回归模型的论述。但是我们应当注意到,广义线性回归模型在面对多变量多项式情况下的难题:以二次多项式模型为例,在单变量情况下,预测函数可以写为:

\[h(x) = \theta_0 + \theta_1 x + \theta_2 x^2\]

而变量变为2个时,可以写为

\[h(x) = \theta_0 + \theta_1 x_1^2 + \theta_2 x_1 x_2 + \theta_3 x_2^2\]

很容易证明,随着变量数的提升,预测函数的项目数会呈现指数增长,故在面对属性变量数目极度膨胀的实际情况时(例如图像识别,每一个像素点的RGB值就是3个属性值),故我们认为,传统的广义线性回归模型不适合这样的情景。

1943年,心理学家W·Mcculloch和数理逻辑学家W·Pitts在分析、总结神经元基本特性的基础上首先提出神经元的数学模型。 这种数学模型非常类似一个标准的Logistic分类器:每一个神经元有$n$个输入端,提供$n$个输入值;同时有$m$个输出端,同时给出$1$个输出值;这些输出值是由一个纯线性的Logistic分类器给出的概率值,因此,每一个神经元都输出一个经Logistic函数转化过的概率。这些神经元分层连接,第$i$层的神经元的输入端与每一个$(i-1)$层的输出端相连。第一层的输入端接样例输入,最后一层的输出端即为最终的预测函数值。

前向传播,向量表示

约定用这样的符号来描述第$k$层第$i$个神经元的Logisitc输出值:$a_i^{(k)}$,用这样的符号来表示第$k$层第$i$个神经元的第$j$项线性系数:$\Theta_{ij}^{(k)}$.

我们特别约定,每一层均存在一个不接受任何输入的偏置单元 $a_0^{(k)}$,它的输出值确定为$1$,用于对应Logisitic回归中的常数项$\Theta_{i0}^{(k)}$.

如果用$g$来表示Logisitc映射,那么,每一层的输出矩阵即可描述为:

\[A^{(i)}=g(\Theta^{(i-1)}A^{(i-1)})\]

反复执行上述式子至最后一层神经元,我们即可得出这个模型的预测值。这样的算法被称为前向传播计算。


Copyright AmachiInori 2017-2021. All Right Reserved.
Powered By Jekyll.
amachi.com.cn