机器学习 Week4 - Coursera Machine Learning

神经网络(Neural Network)

动机(Motivation)

非线形假设(Non-linear Hypothesis)

如果有非常多的特征来构建多项式方程,即使两两组合的特征就会非常大, 不便于计算

例子: 通过图片像素判断汽车。 即使是50*50 像素的图片, 如果加入两两组合的特征, 就会多将近3百万个特征。

神经和大脑 (Neurons & Brain)

神经网络的算法来自对大脑学习的模仿。

神经网络(Neural Network)

模型表达

每一个神经元都可以被认为是一个处理单元/神经核(processing unit/ Nucleus),它含有许多输入/树突input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。

神经网络模型

神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。

简单来说就3部分: 第一层成为输入层(Input Layer),最后一层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)

模型参数

$a_i^{(j)}$ 表示第j层的第i个激活单元(activation unit)

$\Theta^{(j)}$ 代表从第 j 层映射到第 j+1 层时的权重的矩阵

例如: $\Theta^{(1)}$代表从第一层映射到第二层的权重的矩阵。其尺寸为:以第 j 层的激活单元数量为行数,以第 j+1 层的激活单元数为列数的矩阵。

上图所示的神经网络中的$\Theta^{(1)}$尺寸为 4*3。

正向传播 (FORWARD PROPAGATION)

相对与使用循环来编码,利用向量化的方法会使得计算更为简便



神经网络示例:二元逻辑运算符(BINARY LOGICAL OPERATORS)

假设 $\theta$值如下:

可以被视为作用同于逻辑与(AND)

多类分类 (Multiclass Classification)

如果我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该有 4个值。例如,第一个值为 1 或 0 用于预测是否是行人,第二个值用于判断是否为汽车。