神经网络是如何一步步进行计算的,以及对计算过程的向量化

Z1(2),Z2(2),Z3(2) are just weighted linear combination of input value x1,x2,x3.上图右边灰色框里面的为Z(2),为3*1矩阵。

a1(2)=g(Z1(2))......a(2)为3*1的矩阵,对Z(2) 里面的每个元素应用g函数.

上述的计算我们可以分为两步,一步是计算Z(2),一步是计算a(2),如上图所示。

我们将input的x定义为a(1),所以将x写成a(1)(将其做为第一层的activations).

增加bias unit,a0(2)=1,则a(2)为4*1矩阵.

最后的结果,计算z(3),和a(3)=hΘ(x)=g(z(3)).

这个计算的过程也称为forward propagation,因为它的计算从input到output是一层一层推进(activation)的.我们将其计算过程向量化了,若我们按照右边绿色框中的进行计算的话,用矩阵与向量进行计算,这样计算更高效。

Neural network learning its own features

如果我们将左边的input遮住,只看右部分的话,和logistic regression很相似,如果我们只看右边蓝色部分的式子的话,我们会发现它和标准的logistic regression model是一样的(除了我们使用的是大写的Θ),但是这部分所做的就是logistic regression,但是它的input是由hidden layer(layer 2)计算后的输出,即这部分所做的和logistic regression是一样的,除了logistic regression输入是x1,x2,x3,而它的输入是a1(2),a2(2),a3(2).

a1(2),a2(2),a3(2)它们是自己learn function from input,从layer1到layer2的function是由Θ(1)来构成的,所以神经网络不是feed x1,x2,x3 to logistic regression,而是自己学习自己的features(a1(2),a2(2),a3(2)),然后将它们feed into logistic regression,并且取决于我们选择的Θ(1),你可以学习一些非常有趣复杂的features,然后你会得出一个better hypotheses(相比使用原始的x1,x2,x3或者x1,x2,x3的多项式来说),总之算法在选择参数上是灵活的,选择了参数后得到a1(2),a2(2),a3(2),然后再将它们feed into logistic regression(即最后一个结点).

神经网络结构

architectures是指神经网络的连接方式,上图是一种不同的neural network architecture, layer2可以接收来自layer1的输入,然后计算出复杂的features,layer3接收来自layer2的输入,计算出更为复杂的features,layer4接收layer3的输出计算出比layer3复杂的features,然后得到very interesting nonlinear hypotheses.

layer1是input layer,layer4是output layer,layer2和layer3是hidden layer,除了input layer和output layer之外的layer叫做hidden layer.

总结:

1,知道了什么叫做forward propagation(传播),从input layer到hidden layer再到output layer

2, 了解在计算中如何向量化来提高我们的计算效率

神经网络(4)---神经网络是如何帮助我们学习复杂的nonlinear hypotheses的更多相关文章

  1. 神经网络(1)--Non-linear hypotheses,为什么我们要学习神经网络这种算法来处理non-linear hypotheses

    神经网络(1)--No-linear hypotheses 为什么我们已经有了linear regression与logistic regression算法还要来学习神经网络这个另外的算法呢,让我们来 ...

  2. 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)

    项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...

  3. 秒懂神经网络---BP神经网络具体应用不能说的秘密.

    秒懂神经网络---BP神经网络具体应用不能说的秘密 一.总结 一句话总结: 还是要上课和自己找书找博客学习相结合,这样学习效果才好,不能单视频,也不能单书 BP神经网络就是反向传播神经网络 1.BP神 ...

  4. [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法

    前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...

  5. 学习笔记TF053:循环神经网络,TensorFlow Model Zoo,强化学习,深度森林,深度学习艺术

    循环神经网络.https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/re ...

  6. 深度学习原理与框架-Tensorflow卷积神经网络-卷积神经网络mnist分类 1.tf.nn.conv2d(卷积操作) 2.tf.nn.max_pool(最大池化操作) 3.tf.nn.dropout(执行dropout操作) 4.tf.nn.softmax_cross_entropy_with_logits(交叉熵损失) 5.tf.truncated_normal(两个标准差内的正态分布)

    1. tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')  # 对数据进行卷积操作 参数说明:x表示输入数据,w表示卷积核, stride ...

  7. 神经网络4_BP神经网络

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  8. 单层感知机_线性神经网络_BP神经网络

    单层感知机 单层感知机基础总结很详细的博客 关于单层感知机的视频 最终y=t,说明经过训练预测值和真实值一致.下面图是sign函数 根据感知机规则实现的上述题目的代码 import numpy as ...

  9. 洛谷P1038 神经网络==codevs1088 神经网络

    P1038 神经网络 题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神 ...

随机推荐

  1. 基于Mac的Appium环境搭建(java)

    一.jdk安装 1.下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.安装 3.配置环境变量: ope ...

  2. Markdown Html高级功能 测试用例

    插入音频 后台样式代码: #cnblogs_post_body .music { height: 140px; /*padding-bottom: 14.39%;*/ /* 16:9 */ posit ...

  3. [转帖]Linux教程(14)- Linux中的查找和替换

    Linux教程(14)- Linux中的查找和替换 2018-08-22 07:03:58 钱婷婷 阅读数 46更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  4. (一)线性表(linear list)

    文章目录 定义 特点 ADT (abstract data type) 定义 摘抄自 维基百科 线性表(英语:Linear List)是由 n(n≥0)个 数据元素(结点)a[0],a[1],a[2] ...

  5. Django之拾遗

    一.设计模式 1.1 MVC 模型(M)是数据的表述,非真正数据,而是数据接口. 视图(V)是你看到的界面,是模型的表现层,此外还提供了收集用户输入的接口. 控制器(C)控制模型和视图之间的信息流动. ...

  6. 协议——SPI

    SPI(Serial Peripheral interface)是由摩托罗拉公司定义的一种串行外围设备接口,是一种高速.全双工.同步的通信总线,只需要四根信号线即可,节约引脚,同时有利于PCB的布局. ...

  7. wait(),notify(),notifyAll()必须加锁的原因

    从语义方面解析为什么需要锁: 1.wait()方法会释放锁,如果没有先获得锁,那么如何释放? 从实际的作用: 为了预防饥饿线程的产生. 原因: // 线程A 的代码 while(!condition) ...

  8. mybatis 多个中间表查询映射

    最近项目用到中间表,则遇到如何联查映射的问题,之前一直都是一个表头,多个明细或者一对一这样的关系,没遇到这样的问题,所以趁机找了下资料解决了这个问题. 表结构设计如下: 主表: CREATE TABL ...

  9. Docker学习笔记(一)—— 概述

    1. Docker是个什么玩意 说Docker是什么之前,先来看一看Docker为什么会出现.我们知道,在学习过程中我们需要频繁地安装配置一些软件,不管是在Windows下还是在Linux,这些东西的 ...

  10. redis数据结构和常用命令

    redis常用数据结构 String 最简单的K_V,value可以是数字或者字符串,使用场景:微博数.普通计数,命令:get set incr(加1) decr(减1) mget(获取多个值),se ...