吴恩达机器学习ppt_【吴恩达机器学习】第四周—前馈神经网络

84d196265969fb491f6e1453a12f1988.png

前言:

最近在学习深度学习,看了不少教程,发现还是吴恩达的比较适用于我。吴恩达机器学习公开课视频最早是斯坦福大学的课程视频(那个画面有点老),新版的视频在网易云课堂上可以随时学习。仅仅通过视频学习,可能会有点快,因为有的知识点需要反复推敲和回味。感谢github上一位朋友的精心整理,让我们可以配合讲义一起学习,讲义有HTML版、PDF版、Markdown版的:视频配合讲义看,事半功倍

本文包括接下来的系列文章,都会是吴恩达机器学习课程的个人学习总结,有很多文字和图片直接参考了PDF版的课程讲义,再次谢过提供讲义的朋友!

网易云课堂课程视频:

https://study.163.com/course/courseMain.htm?courseId=1004570029

课程同步配套讲义:

https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

原文发布在语雀文档上,效果更好看点:

第四周 · 语雀​www.yuque.com
2ab8a3aabc7707b425c9cbc04eefdc5d.png

第四周

1. 神经元

1.1 神经元

为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?每一个神经元都可以被认为是一个处理单元/神经核(processing unit/Nucleus),它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。

95bf0ee2687f4f45a338157683d3bb63.png

1.2 神经元间的沟通

神经元之间通过电信号进行沟通(微弱的电流)。所以如果神经元想要传递一个消息,它就会就通过它的轴突,发送一段微弱电流给其他神经元的树突。
接收到信号的神经元会对消息进行处理,处理后可能会通过自己的轴突再将信息传递出去给其他神经元。这就是神经元之间信号传递的简要概述。

2. 神经网络

神经网络是模仿大脑神经元,建立的模型。模型中的每个神经元都是一个单独的【学习模型】,这些神经元也叫做激活单元(activation unit)

2.1 Sigmoid神经元

以下示例为逻辑回归模型中常用的,sigmoid神经元的简单示例:

50219edcffaa2336e3b24910a74895c8.png

中间的神经元(激活单元)是一个sigmoid函数,它将左边输入的

和参数
θ相乘后作为输入,经过自身的计算得到结果
,在神经网络中,参数又可被成为
权重(weight)

2.2 三层神经网络

在Sigmod神经元的基础上,我们可以设计出一个简单的三层神经网络:

515bc83cc0d305f741390ae3c03a133d.png

作为神经网络的第一层,被称为
输入层(Input Layer),输入层中的每个节点即输入单元,每个输入单元即包含着原始的输入值,
作为中间单元,构成了神经网络的第二层,也称为中间层/
隐藏层(Hidden Layers),他们的作用是:负责将数据进行处理,然后呈递到下一层;最后一层被称为 输出层(Output Layer) 神经网络模型中,通常只有一个输入层,一个输出层,中间层/隐藏层可以有任意多个。所有层加起来构成了整个神经网络模型。每一层的输出变量都是下一层的输入变量。
对于上述模型,给每一层添加 偏差单位(bias unit)后,图像如下:

482f9bf85426badc843a796a54cec835.png

中间层激活单元的表达式:

2b04a531d0de19b79ca1d5ea270e78f9.png

fa72b36b633af8cb908042951be145fe.png

代表第i层的第j个激活单元;

右上角 j 代表是从第j层映射到第 j + 1层时权重的矩阵;右下角
mn代表该参数在 θ矩阵中的位置. 其中,θ 矩阵的形态m = 第 j + 1层激活单元数 ;n = 第 j 层激活单元数 + 1

例如:

第一层
θ参数矩阵的形态 3 x 4

m = 第二层激活单元数 = 3;n = 第一层激活单元数 3 + 1 = 4

第二层
θ参数矩阵的形态 1 x 4

m = 第三层激活单元数 = 1;n = 第二层激活单元数 3 + 1 = 4

输入层表达式:

4e96544c0b7e02de41276e9e14893581.png

分别用矩阵表示,我们可以得到:

输出层表达式:

6e5d07a700363660459c443aeda349cc.png

从式子里可以看出,对于每个

,都依赖上层的x以及x对应的参数θ,这样从左至右逐级依赖的算法模型,称为:
前向传播算法( FORWARD PROPAGATION ))

2.3 神经网络的优势

从2.2节我们可以看到,位于神经网络模型输出层的预测函数可以写作:

6e5d07a700363660459c443aeda349cc.png

我们可以把

看成更为高级的特征值,也就是
的进化体,虽然他们是由x决定的,但由于是梯度下降的,所以a是变化的,并且变化的越来越厉害,所以这些高级的特征值比普通的逻辑回归/线性回归模型中仅仅将x次方厉害,也能更好地预测新数据。
从本质上来讲,神经网络能够通过学习得出其自身的一系列特征。在普通的逻辑回归中,我们被限制为使用数据中的原始特征
.我们虽然可以使用一些二项式项来组合这些特征,但是我们仍然受到这些原始特征的限制。在神经网络中,原始特征只是输入层,在我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特征,而非输入层中的原始特征,我们可以认为第二层中的特征是神经网络通过学习后自己得出的一系列用于预测输出变量的新特征。
这就是神经网络模型相比于逻辑回归和线性回归的优势。

3.样本和直观理解

我们可以用一个单一的激活单元 + 不同的权重即可描三种二元逻辑运算符(BINARY LOGICAL OPERATORS) :逻辑与(AND)、 逻辑或(OR)、逻辑非(NOT)

我们只需要将假设函数

使用sigmoid函数即可:

249236d84fbd6b2d041c6b3aa8b232a9.png


从而:


要想实现逻辑与AND,我们可以分别设置

= -30,20,20,表达式

要想实现逻辑或OR,可以设置
分别 = -10,20, 20,

要想实现逻辑非NOT,更简单,只需要一个输入即可。可以设置
分别 = 10,-20,

4.多类分类

当我们要用神经网络模型来实现多分类,譬如训练一个模型来识别路人、汽车、摩托车和卡车。那么神经网络模型改如何构成?

假设我们的输入有三个维度、输出根据上述可知有4个分类,并且是4个互斥的分类。那么我们的神经网络模型可以设计成如下的形状:

e8cf6ff47d79097c51172c6e9bdb3586.png

即总共4层、中间有两层隐藏层的网络结构。结果是4 x 1维矩阵。
我们可以用

,
,
,
,

来分别表示输出:
路人、汽车、摩托、卡车。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值