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

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是输入,输出是.有时候,我们也会加入x0(bias unit偏置神经元,常常为1)。逻辑函数称为激活函数(activation function),激励函数是对非线性函数g(z)的另一个术语称呼。是模型参数,也称为权重(weights)。

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

  • :第j层的第i个神经元激活函数的输出结果

  • :控制第j层到第j+1层的函数映射的一个权重矩阵

  • 的维度: ,因为第j 层还有,所以需要 与之相乘.

Model Representation II

前向传播(Forward propagation):从输入层的激励开始,然后进行前向传播给隐藏层并计算隐藏层的激励,然后再前向传播并计算输出层的激励。


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

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)}) \\

对于第二层的第k个节点,它是这样算:

总之,上面的图像就是一个前向传播的过程,中间变量

在图形上这样理解:以第二层为例,,即第一层x1,x2,x3(x0=1)和对应节点之间连线相乘得到 .

最后,输出层只有一个节点,这有点像**之前讲过的逻辑回归

Applications

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

一个AND的例子,后面有一个OR的例子就不列出来了。


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

Examples and Intuitions II

课中给出了几个的权重,代表着不同的逻辑运算:
\begin{align*}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} \\\end{align*}
可以通过组合这些传参数实现同或运算(XNOR)

再第一层和第二层,我们使用矩阵,这个矩阵的值由AND和NOR的对应的值组成:

在第二层和第三层。我们使用矩阵,这个矩阵使用了OR的值:

综合,

XNOR运算符使用带有两个节点的隐藏层!下面总结以上算法

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

Multiclass Classification 多元分类

为了将数据分类为多个类别,我们让假设函数返回一个值的向量。假设我们想将数据分类为四个类别之一。我们将使用以下示例查看如何完成此分类。该算法将图像作为输入并相应地对其进行分类:


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

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


y

我们针对一组输入得出的假设可能类似于:

上面例子的结果得到的分类是第三种东西——Motocycle.

你可能感兴趣的:(第4周学习笔记-Neural Networks: Representation神经网络表述-Coursera机器学习-吴恩达)