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

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. 文件上传速度查询方法(watch工具)

    由于业务迁移,需要将大量文件拷贝到目标机器上的/mnt目录,在拷贝过程中,想要查看上传的速度,做法如下:[root@mail01 ~]# du -sh /mnt5.6G /mnt[root@mail0 ...

  2. PHP设计模式 - 桥接模式

    将抽象部分与它的实现部分分离,使他们都可以独立的变抽象与它的实现分离,即抽象类和它的派生类用来实现自己的对象 桥接与适配器模式的关系(适配器模式上面已讲解): 桥接属于聚合关系,两者关联 但不继承 适 ...

  3. spring框架学习(四)——注解方式AOP

    注解配置业务类 使用@Component("s") 注解ProductService 类 package com.how2java.service; import org.spri ...

  4. spring框架学习(二)——注解方式IOC/DI

    什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分 ...

  5. Pandas的基础操作(一)——矩阵表的创建及其属性

    Pandas的基础操作(一)——矩阵表的创建及其属性 (注:记得在文件开头导入import numpy as np以及import pandas as pd) import pandas as pd ...

  6. D03-R语言基础学习

    R语言基础学习——D03 20190423内容纲要: 1.导入数据 (1)从键盘输入 (2)从文本文件导入 (3)从excel文件导入 2.用户自定义函数   3.R访问MySQL数据库 (1)安装R ...

  7. git add提交时关于 LF will be replaced by CRLF in 问题出现的原因以及解决方式

    最近在新创建的github项目中add新框架代码时,出现了LF will be replaced by CRLF in的问题,以下为问题截图 查阅资料才知道,LF和FRLF是两种不同的换行格式,这个警 ...

  8. 使用交叉验证法(Cross Validation)进行模型评估

    scikit-learn中默认使用的交叉验证法是K折叠交叉验证法(K-fold cross validation):它将数据集拆分成k个部分,再用k个数据集对模型进行训练和评分. 1.K折叠交叉验证法 ...

  9. Python接口自动化基础---cookie绕过登录

    使用fiddler获取登录cookie 对比登录前和登录后的cookis 登录前 登录后: 获得cookie之后,使用cookie访问,就可以获取登录态: import requests url='h ...

  10. thinkPHP5.0 使用PHPExcel导出Excel文件

    首先下载PHPExcel类.网上很多,自行下载. 我下载的跟composer下载的不太一样.我下载的是   下载存放目录.jpg 而composer下载的是:   composer下载.jpg 本篇使 ...