吴恩达-机器学习笔记(第四周)

第八、神经网络:表述(Neural Networks: Representation

8.1 非线性假设

  本节主要讲了为什么出现神经网络:
  线性回归&逻辑回归的缺陷-->特征过多,计算负荷过大-->利用神经网络解决
  e.g.假设要识别50x50像素的小图片,将所有像素视为特征,则会有 2500个特征,如果进一步将两两特征组合构成一个多项式模型,则会有约接近3百万个特征。普通的逻辑回归模型,不能有效地处理这么多的特征。这时候我们需要神经网络。

8.2 神经元和大脑

  本节介绍了背景知识,举例。
  神经网络的最初目:制造能模拟大脑的机器。
  神经网络是计算量有些偏大的算法-->技术支持-->计算机的运行速度的增快。

8.3 模型表示1

  下图是一个以逻辑回归模型,在神经网络中,参数又可被成为权重(weight)。


  下图是二层神经网络:

  左边为输入层(Input Layer)
x_1, x_2, x_3
input units(原始的各种特征)。右边为输出层(Output Layer),中间层成为隐藏层(Hidden Layers)。但是输入层通常不算成第一层。所以我们称该模型为二层模型。


  先只看模型的左边部分,该部分可看成三个逻辑回归模型。
x_1, x_2, x_3
是input units(原始的各种特征),
a_1, a_2, a_3
分别可看作是三次不同参数的逻辑回归结果。得到a[1]需要两步:①
z^{[1]}=w^{[1]T}X+b
;②
a^{[1]}=sigmoid(z^{[1]})

  再看右边。可以将a^{[1]}看作是更高级(更厉害)的特征输入,以和x一样的形式充当下一层的输入:①z^{[2]} = w^{[2]T}X+b;②a^{[2]} = sigmoid(z^{[2]})
  a_i^{[j]}代表第j 层的第 i 个激活单元。θ^{[j]}代表从第 j 层映射到第j+1 层时的权重的矩阵,例如θ^{[1]}代表从第一层映射到第二层的权重的矩阵。其尺寸为:以第 j+1层的激活单元数量为行数,以第 j 层的激活单元数加一为列数的矩阵。
  我们可以知道:每一个a都是由上一层所有的x和每一个x所对应的决定的。我们把这样从左到右的算法称为前向传播算法( FORWARD PROPAGATION )
  把x, θ, a 分别用矩阵表示,我们可以得到θ⋅X=a :

8.4 模型表示2

前向传播算法 ( FORWARD PROPAGATION )有两种形式:
可以利用如下的循环来编码:


也可以利用向量化:

  由于每个Layer我们都能得到一组更高级的特征值
a^{[i]}
,这些更高级的特征值远比仅仅将 x次方厉害,也能更好的预测新数据。 这就是神经网络相比于逻辑回归和线性回归的优势。

8.5 特征和直观理解1

  本质上,神经网络能够通过学习得出其自身的一系列特征。每层得到的a^{[i]}都是神经网络通过学习后自己得出的一系列用于预测输出变量的新特征。
  单层神经网络可以表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)。

AND 函数:


h_Θ (x)=g(-30+20x_1+20x_2 )

由于g(x)图像:



h_Θ (x)≈x_1 AND x_2

OR函数:

OR与AND整体一样,区别只在于的取值不同。

逻辑非(NOT):
8.6 样本和直观理解II

  当输入特征为布尔值(0或1)时,我们可以用利用8.5给出的三个单层网络,组合成更为复杂的神经网络以实现更复杂的运算。

e.g.要实现XNOR 功能(输入的两个值必须一样,均为1或均为0),即:
XNOR=(x_1 AND x_2) OR((NOT x_1 )AND(NOT x_2 ))

8.7 多类分类

  输入向量x有三个维度,两个中间层,输出层4个神经元分别用来表示4类,也就是每一个数据在输出层都会出现[a b c d]^T,且a,b,c,d中仅有一个为1,表示当前类。下面是该神经网络的可能结构示例:




神经网络算法的输出结果为四种可能情形之一:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容