一、神经网络(Neural NetWorks)的基本结构

  神经网络是由神经层(layer)搭建起来的。由输入层,隐藏层、输出层组成。输入层就是特征的输入;隐藏层有多层,包含神经网络自生成的新特征(输入特征的多次项组合);输出层为预测结果。简单的神经网络如下图所示:

  

  其中$a_{i}^{j}$表示第j层第i个节点,每一条带箭头的线,都有不同的权重参数,相当于之前讲过的模型参数θ,表示符号为$Theta_{ik}^{j}$,含义为:第j层第k个节点指向(j+1)层第i个节点的权重。在计算第(j+1)层节点时,往往加入$a_{0}^{j}$,作为偏置,其值为1。基于神经网络可以写出各节点、输出与输入的关系式:

  $a_{i}^{j}=function(sum_{k=0}^{n} Theta _{ik}^{j-1}a_{k}^{j-1}) $

  其中function可以是逻辑回归中的逻辑函数,也可以像线性回归直接将求和结果作为输出。下面给出节点的列向量形式和权重的二维矩阵形式:

  

  根据这两个列向量,我们可以将关系式以矩阵形式给出:

  $a^{j}=Theta^{j-1}a^{j-1}$

  对于上面图中例子,可以用矩阵表示输入与输出的关系,为了跟图中统一,输入层视作第一层,输出层为第3层:

  $a^{2}=Theta^{1}x$

  $a^{3}=Theta^{2}a^{2}$

  $h_{Theta}(x)=a^{3}$

 

 

 

二、神经网络的二分类实例

  神经网络之所以能很好地解决非线性回归,在于它可以创造并选择最好的多项式。对于网络第一层(输入层),每个节点都是一次项,第二层是二次项,第n层是n次项。也就是说正常情况下神经网络层数越多,功能也就越强大。神经网络自动调节权值,来强化某个多项式的作用,或弱化某个多项式的影响。来看一个神经网络实现逻辑回归的例子:

  

  对于与运算,当输入全为1是,结果为10,根据逻辑函数,其概率应该接近于1;当输入不全为1时,结果小于-10,其概率接近于0。或非、或运算也是这个道理。在实际应用中,我们只要给出一堆训练数据,神经网络就可以学会这些权值,而不用人工调节。再来看同或运算,输出与输出层不变,隐藏层可以看做神经网络自己添加了一个新节点(实际上是强化),这样通过两个隐藏节点就可以实现比与或非复杂的运算,而这一切都是神经网络自己学习所得。

 

 

 

三、神经网络的多分类

  在《机器学习笔记(二)》中曾讨论过多元逻辑回归,当时的思想是维护多个假设函数,然后最终比较各个函数算出来的概率大小。在神经网络中,我们重新定义解决多分类的方法。

  

  如上图,表示了四分类的网络结构,输出层共四个节点,分别代表各分类的结果(0/1),实际上这张网络也是维护了4个假设函数。不同于之前的定义,这里将结果用列向量来表示。网络的目标是使输出层尽可能符合所给的列向量$y^{i}$。

 

  

  

  

  

  

  

  

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/kensporger/p/11873398.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!