机器学习-吴恩达笔记4

作者: 皮皮大 | 来源:发表于2019-11-27 23:27 被阅读0次

在本章节中主要讲解的是神经网络的基础知识:

  • 非线性假设

  • 神经元和大脑

  • 模型表示

  • 特征和直观理解

  • 多类分类问题

非线性假设Non-linear Hypotheses

线性回归和逻辑回归的缺点:特征太多的时候,计算负荷会非常大

假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是否是一辆汽车),一种方法是我们利用很多汽车的图片和很多非汽车的图片,然后利用这些图片上一个个像素的值(饱和度或亮度)来作为特征。

QCQ1HA.png QCQcCV.png

假设采用的是50*50像素的小图片,将所有的像素视为特征,则有2500个特征。

普通的逻辑回归模型不能处理的,需要使用神经网络


神经元和大脑

QClMGV.png

模型表示

模型表示1

每个神经元是可以被认为一个处理单元/神经核processing unit/Nucleus,主要包含:

  • 多个输入/树突(input/Dendrite)

  • 一个输出/轴突(output/Axon

神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络

MxiT4P.png
  1. 神经网络模型建立在很多神经元之上,每一个神经元又是一个个学习模型

  2. 神经元称之为激活单元activation unit;在神经网络中,参数又可被成为权重(weight

  3. 类似神经元的神经网络

MxkdoR.png

神经网络

下图是逻辑回归模型作为自身学习模型的神经元示例

QC1BYq.png

类似神经元的神经网络结构

QC3J41.png
  • x_1,x_2,x_3​是输入单元,将原始数据输入给它们

  • 几个比较基础的概念

    • 输入层:数据节点所在的层

    • 网络层:输出​h_i连同它的网络层参数​w,b

    • 隐藏层:网络层中间的层

    • 输出层:最后一层

    • 偏置单元:bias unit,每层加上偏置单元

    上面模型的激活单元和输出分别表示为:

    QCYGqO.png

    三个激活单元:
    a^{(2)}_1 = g(\Theta^{(1)}_{10}x_0+\Theta^{(1)}_{11}x_1+\Theta^{(1)}_{12}x_2+\Theta^{(1)}_{13}x_3)

a^{(2)}_2 = g(\Theta^{(1)}_{20}x_0+\Theta^{(1)}_{21}x_1+\Theta^{(1)}_{22}x_2+\Theta^{(1)}_{23}x_3)

a^{(2)}_3 = g(\Theta^{(1)}_{30}x_0+\Theta^{(1)}_{31}x_1+\Theta^{(1)}_{32}x_2+\Theta^{(1)}_{33}x_3)

**输出的表达式为:**

h_{\Theta}^{(x)} = g(\Theta^{(2)}_{10}a^{(2)}_0)+g(\Theta^{(2)}_{11}a^{(2)}_1)+g(\Theta^{(2)}_{12}a^{(2)}_2)+g(\Theta^{(2)}_{13}a^{(2)}_3)

> 将特征矩阵的每行(一个训练实例)喂给了神经网络,最终需要将整个训练集都喂给神经网络。

这种从左到右计算的算法称之为:前向传播法FORWARD PROPAGATION

模型标记的记忆方法

  • a^{(j)}_i表示的是第j层的第i个激活单元

  • \theta^{(j)}代表从第j层映射到第j+1层的权重矩阵;例如:上图所示的神经网络中\theta^{(1)}的尺寸为 3*4。其尺寸具体表示为

    • 以第j 层的激活单元数量为行数

    • 以第 j+1层的激活单元数+1为列数的矩阵

模型表示2

(FORWARD PROPAGATION ) 相对于使用循环来编码,利用向量化的方法会使得计算更为简便。
x= \begin{bmatrix} x_0\\ x_1\\ x_2\\ x_3\\ \end{bmatrix}

z^{(2)}= \begin{bmatrix} z_1^{(2)}\\ z_2^{(2)}\\ z_3^{(2)}\\ \end{bmatrix}
其中

z^{(2)}=\Theta^{(1)}x

就是上面三个激活单元式子中的括号里面部分

a^{(2)}=g(z^{(2)})

将输入x看成是a^{(1)}​,则

z^{(2)}=\Theta^{(1)} a^{(1)}

a^{(2)}=g(z^{(2)})

z^{(3)}=\Theta^{(2)} a^{(2)}

那么输出h可以表示为

h_{\Theta}(x)=a^{(3)}=g(z^{(3)})

QC02nI.png QC02nI.png

特征和直观理解

神经网络中,单层神经元(无中间层)的计算可用来表示逻辑运算,比如逻辑与(AND)、逻辑或(OR)

实现逻辑”与AND”

x_1 x_2 h
0 0 0
0 1 0
1 0 0
1 1 1
QCry3F.png

实现逻辑"或OR"

x_1 x_2 h
0 0 0
0 1 1
1 0 1
1 1 1
QCsFDs.png

实现逻辑“非not”

QC5cvt.png

多类分类问题

当输出中不止有两中分类时,比如使用神经网络算法来识别路人、汽车、摩托车等。

QCIpG9.png
  • 输入向量有3个维度,两个中间层

  • 输出层有4个神经元表示4中分类,也就是每一个数据在输出层都会出现​,且​中仅有一个为1,表示当前类

TF中解决办法

上述多类分类问题和TF中手写数字问题类似,解决办法如下:

  • 将输出设置为​d_{out}个输出节点的向量,​d_{out}与类别数相同

  • 让第​i \in [1,d_{out}]个输出值表示当前样本属于类别i的概率P

  • 如果属于第​类,索引为​的位置设置为1,其余为0!!!!

  • 下图中:对于所有猫的图片,数字编码是0,one-hot编码为[1,0,0,0];其他类推

QpgRT1.png
  1. 手写数字图片数据

总类别数是10,即输出节点总数值d_{out}=10​,假设某个样本的类别是i,即图片中的数字是​i,需要一个长度为10的向量​y,索引号为​的位置设置为1,其余是0。

  • 0的one-hot编码是[1,0,0,0,….]

  • 1的one-hot编码是[0,1,0,0,….]

  • 其余类推

相关文章

  • 引言

    这个文集是Coursera上吴恩达教授授课的《机器学习》课程的课程笔记与总结,下面是课程的链接:吴恩达教授机器学习...

  • 《吴恩达 - 机器学习》笔记

    学习资源 b站:机器学习(Machine Learning)- 吴恩达(Andrew Ng)网易:吴恩达《机器学习...

  • 内容整理(持续更新)

    机器学习基础 视频教程:吴恩达机器学习-网易云公开课笔记地址:机器学习笔记作业练习:https://github....

  • 30行python代码实现最简单的神经网络

    这篇文章算是看了吴恩达老师的deeplearning视频的课后笔记吧,感谢吴恩达老师致力于机器学习、深度学习的普及...

  • 5.machine_learning_LR_Softmax

    机器学习逻辑回归与softmax 补充阅读资料: 吴恩达老师机器学习课程笔记[https://github.com...

  • 机器学习笔记

    学习记录,从小白做起。 传统给机器学习 先来镇楼的,吴恩达机器学习:吴恩达机器学习 OCTAVE版本下载:http...

  • 吴恩达机器学习课程

    吴恩达机器学习课程

  • 机器学习-吴恩达笔记4

    在本章节中主要讲解的是神经网络的基础知识: 非线性假设 神经元和大脑 模型表示 特征和直观理解 多类分类问题 非线...

  • 机器学习相关资料整理

    初学机器学习,将部分资料整理在此,逐渐完善。 视频资源 吴恩达机器学习 介绍:吴恩达老师关于机器学习的入门级视频...

  • 吴恩达deep_learning_week4.1_Deep_Ne

    吴恩达deep_learning_week4_Deep_Neural_Network 标签: 机器学习深度学习 本...

网友评论

    本文标题:机器学习-吴恩达笔记4

    本文链接:https://www.haomeiwen.com/subject/attvwctx.html