第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达

文章目录

  • Neural Networks: Representation
    • Motivations
      • Non-linear Hypotheses非线性假设(函数)
      • Neurons and the Brain神经元和大脑
    • Neural Networks
      • Model Representation I 模型表示I
      • Model Representation II
    • Applications
      • Examples and Intuitions I 例子和直观感觉I
      • Examples and Intuitions II
      • Multiclass Classification 多元分类

Neural Networks: Representation

Motivations

Non-linear Hypotheses非线性假设(函数)

第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第1张图片
左边是样本点的分布,只有x1和x2两个特征。右边是逻辑回归用的假设函数。

  • 如果样本增加特征,则逻辑回归需要的特征项还要更多。
  • 如果样本增加特征,逻辑回归只选x1,x2,…x100的平方,则构造的分类器不准确。

第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第2张图片
计算机看到“图像”是一个数据矩阵,它们表示了像素的强度值(每个像素的亮度).

第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第3张图片
我们训练一个逻辑回归算法根据pixel1和pixel2来分类汽车和非汽车。如果图像是50x50的像素,所以特征向量的维数将为N=2500,特征向量包含了所有像素的亮度值。计算机存储每个像素点的灰度值(色彩的强烈程度),在0-255之间。这是灰度图的情况,如果我们使用RGB图像,每个像素点包含红黄蓝子像素,N=7500.逻辑回归需要的二次项的个数太大了

Neurons and the Brain神经元和大脑

神经网络起源于算法想要模仿人类大脑,广泛地应用于80s和90s早期,但由于各种原因,在90s后期减少。神经网络最近才东山再起。其中一个原因是神经网络是一个计算量有些偏大的算法,现在的计算机能够支撑起这么规模的计算。

大脑可以处理视觉,听觉,触觉等信息,如果为每一种感觉编写算法则成千上万种。科学家根据神经重接实验,说明了人体有一块脑组织可以处理光、声或触觉信号。受到这个启发,也许只需存在一种算法就可以处理光、声或触觉信号。大胆假设,如果把任何传感器输入到大脑,大脑就会自学习处理这些数据。

Neural Networks

Model Representation I 模型表示I

第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第4张图片

  • 神经元的输入神经是树突(Dendrite)
  • 神经元的输出神经是轴突(Axon)用来给其他神经元传递信号或传递信息

总而言之,神经元是一个计算单元,它从输入神经接受一定数目的信息, 并做一些计算,然后将结果通过轴突传送到其他节点或者大脑其他神经元。
第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第5张图片
x1,x2,x3是输入,输出是 h θ ( x ) h_{\theta}(x) hθ(x).有时候,我们也会加入x0(bias unit偏置神经元,常常为1)。逻辑函数称为激活函数(activation function),激励函数是对非线性函数g(z)的另一个术语称呼。 θ \theta θ是模型参数,也称为权重(weights)。
第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第6张图片

  • a i ( j ) a_{i}^{(j)} ai(j) :第j层的第i个神经元激活函数的输出结果
  • θ ( j ) {\theta}^{(j)} θ(j):控制第j层到第j+1层的函数映射的一个权重矩阵
  • θ ( j ) {\theta}^{(j)} θ(j)的维度: s j + 1 × ( s j + 1 ) s_{j+1} \times (s_{j}+1) sj+1×(sj+1) ,因为第j 层还有 θ 0 \theta_0 θ0,所以需要 θ 0 j \theta_0^{j} θ0j 与之相乘.

Model Representation II

前向传播(Forward propagation):从输入层的激励开始,然后进行前向传播给隐藏层并计算隐藏层的激励,然后再前向传播并计算输出层的激励。
第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第7张图片
a 1 ( 2 ) = g ( Θ 10 ( 1 ) x 0 + Θ 11 ( 1 ) x 1 + Θ 12 ( 1 ) x 2 + Θ 13 ( 1 ) x 3 ) a 2 ( 2 ) = g ( Θ 20 ( 1 ) x 0 + Θ 21 ( 1 ) x 1 + Θ 22 ( 1 ) x 2 + Θ 23 ( 1 ) x 3 ) a 3 ( 2 ) = g ( Θ 30 ( 1 ) x 0 + Θ 31 ( 1 ) x 1 + Θ 32 ( 1 ) x 2 + Θ 33 ( 1 ) x 3 ) h Θ ( x ) = a 1 ( 3 ) = g ( Θ 10 ( 2 ) a 0 ( 2 ) + Θ 11 ( 2 ) a 1 ( 2 ) + Θ 12 ( 2 ) a 2 ( 2 ) + Θ 13 ( 2 ) a 3 ( 2 ) ) a_1^{(2)} = g(\Theta_{10}^{(1)}x_0 + \Theta_{11}^{(1)}x_1 + \Theta_{12}^{(1)}x_2 + \Theta_{13}^{(1)}x_3) \\a_2^{(2)} = g(\Theta_{20}^{(1)}x_0 + \Theta_{21}^{(1)}x_1 + \Theta_{22}^{(1)}x_2 + \Theta_{23}^{(1)}x_3) \\ a_3^{(2)} = g(\Theta_{30}^{(1)}x_0 + \Theta_{31}^{(1)}x_1 + \Theta_{32}^{(1)}x_2 + \Theta_{33}^{(1)}x_3) \\ h_\Theta(x) = a_1^{(3)} = g(\Theta_{10}^{(2)}a_0^{(2)} + \Theta_{11}^{(2)}a_1^{(2)} + \Theta_{12}^{(2)}a_2^{(2)} + \Theta_{13}^{(2)}a_3^{(2)}) \\ a1(2)=g(Θ10(1)x0+Θ11(1)x1+Θ12(1)x2+Θ13(1)x3)a2(2)=g(Θ20(1)x0+Θ21(1)x1+Θ22(1)x2+Θ23(1)x3)a3(2)=g(Θ30(1)x0+Θ31(1)x1+Θ32(1)x2+Θ33(1)x3)hΘ(x)=a1(3)=g(Θ10(2)a0(2)+Θ11(2)a1(2)+Θ12(2)a2(2)+Θ13(2)a3(2))
对于第二层的第k个节点,它是这样算:
z k ( 2 ) = Θ k , 0 ( 1 ) x 0 + Θ k , 1 ( 1 ) x 1 + ⋯ + Θ k , n ( 1 ) x n z_k^{(2)} = \Theta_{k,0}^{(1)}x_0 + \Theta_{k,1}^{(1)}x_1 + \cdots + \Theta_{k,n}^{(1)}x_n zk(2)=Θk,0(1)x0+Θk,1(1)x1++Θk,n(1)xn
总之,上面的图像就是一个前向传播的过程,中间变量
Z ( j ) = θ j − 1 a j − 1 Z^{(j)} = \theta^{j-1} a^{j-1} Z(j)=θj1aj1
在图形上这样理解:以第二层为例, Z ( 2 ) = θ ( 1 ) a ( 1 ) Z^{(2)} = \theta^{(1)}a^{(1)} Z(2)=θ(1)a(1),即第一层x1,x2,x3(x0=1)和对应节点之间连线相乘得到 Z ( 2 ) Z^{(2)} Z(2) .

最后,输出层只有一个节点,这有点像**之前讲过的逻辑回归
h Θ ( x ) = a ( j + 1 ) = g ( z ( j + 1 ) ) h_\Theta(x) = a^{(j+1)} = g(z^{(j+1)}) hΘ(x)=a(j+1)=g(z(j+1))

Applications

Examples and Intuitions I 例子和直观感觉I

一个AND的例子,后面有一个OR的例子就不列出来了。
第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第8张图片

Examples and Intuitions II

课中给出了几个 θ \theta θ的权重,代表着不同的逻辑运算:
A N D : T h e t a ( 1 ) = [ − 30 20 20 ] N O R : T h e t a ( 1 ) = [ 10 − 20 − 20 ] O R : T h e t a ( 1 ) = [ − 10 20 20 ] AND:\\ Theta^{(1)} = \begin{bmatrix}-30 & 20 & 20\end{bmatrix} \\NOR:\\Theta^{(1)} = \begin{bmatrix}10 & -20 & -20\end{bmatrix} \\OR:\\Theta^{(1)} = \begin{bmatrix}-10 & 20 & 20\end{bmatrix} AND:Theta(1)=[302020]NOR:Theta(1)=[102020]OR:Theta(1)=[102020]
可以通过组合这些传参数实现同或运算(XNOR)
[ x 0 x 1 x 2 ] → [ a 1 ( 2 ) a 2 ( 2 ) ] → [ a ( 3 ) ] → h Θ ( x ) \begin{bmatrix}x_0 \\ x_1 \\ x_2\end{bmatrix} \rightarrow\begin{bmatrix}a_1^{(2)} \newline a_2^{(2)} \end{bmatrix} \rightarrow\begin{bmatrix}a^{(3)}\end{bmatrix} \rightarrow h_\Theta(x) x0x1x2[a1(2)a2(2)][a(3)]hΘ(x)
再第一层和第二层,我们使用 θ ( 1 ) \theta^{(1)} θ(1)矩阵,这个矩阵的值由AND和NOR的对应的值组成:
Θ ( 1 ) = [ − 30 20 20 10 − 20 − 20 ] \Theta^{(1)} =\begin{bmatrix}-30 & 20 & 20 \\ 10 & -20 & -20\end{bmatrix} Θ(1)=[301020202020]
在第二层和第三层。我们使用 θ ( 2 ) \theta^{(2)} θ(2)矩阵,这个矩阵使用了OR的值:
Θ ( 2 ) = [ − 10 20 20 ] \Theta^{(2)} =\begin{bmatrix}-10 & 20 & 20\end{bmatrix} Θ(2)=[102020]
综合,
a ( 2 ) = g ( Θ ( 1 ) ⋅ x ) a ( 3 ) = g ( Θ ( 2 ) ⋅ a ( 2 ) ) h Θ ( x ) = a ( 3 ) a^{(2)} = g(\Theta^{(1)} \cdot x) \\ a^{(3)} = g(\Theta^{(2)} \cdot a^{(2)}) \\ h_\Theta(x) = a^{(3)} a(2)=g(Θ(1)x)a(3)=g(Θ(2)a(2))hΘ(x)=a(3)
XNOR运算符使用带有两个节点的隐藏层!下面总结以上算法
第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第9张图片

Multiclass Classification 多元分类

为了将数据分类为多个类别,我们让假设函数返回一个值的向量。假设我们想将数据分类为四个类别之一。我们将使用以下示例查看如何完成此分类。该算法将图像作为输入并相应地对其进行分类:
第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达_第10张图片

我们可以将结果类集定义为y:
y

我们针对一组输入得出的假设可能类似于:
h Θ ( x ) = [ 0 0 1 0 ] h_\Theta(x) =\begin{bmatrix}0 \\ 0 \newline 1 \\ 0 \\\end{bmatrix} hΘ(x)=0010
上面例子的结果得到的分类是第三种东西 h θ ( x ) h_{\theta(x)} hθ(x)——Motocycle.

你可能感兴趣的:(机器学习,吴恩达-Coursera-ML,课程笔记,机器学习,课程笔记,吴恩达-Coursera,神经网络)