前几节链接
目录
神经网络
非线性假设
下面是一个例子:
当我们用x1和x2进行预测时可以得到不错的效果,但是在实际当中,特征不仅仅只有几个。假设有100个特征,倘若用这100个特征来构建一个非线性模型,特征组合的数量将会十分惊人。而当特征太多的时候,无疑会增加计算机的工作量。与此同时,特征太多也会导致过拟合的发生。那么是否可以适当的减少一些特征呢?答案是否定的,如果减少特征,可能会导致模型拟合不出某些特定的情况。而这个时候则需要用到神经网络。
模型表示
首先来看一看人类大脑中的神经网络是怎样的。
上图是神经网络的基本单位神经元,注意它含有许多输入(树突),但只有一个输出(轴突)。而神经网络就是有大量的神经元互相连接构成的。
下面是一个神经元模拟逻辑单元的模型:
黄色圆圈就是一个类似神经元的东西,然后我们可以通过树突(x到黄圈之间的线)来传输一些信息,在神经元运算之后输出。有时候还会加入偏置单元x0,但是因为x0=1,所以需要根据具体情况再决定是否加入它。
接下来就是神经网络,第一层为输入层,第三层为输出层。中间的是隐藏层,因为在有监督训练中我们只能看到输入输出,并不知道中间的值,所以叫隐藏层。一般只要不是输入输出层,我们都可以称之为隐藏层。
那么神经网络具体是怎么运行的呢?
下面引入一些标记来描述模型:
表示第j层的第i个激活单元,所谓激活单元指的就是一个神经元经过输入再输出的值。
表示从第j层映射到第j+1层时的权重矩阵 。图示如下: