大脑中的神经元

我们的大脑都充满了上图所示的神经元,神经元有一个细胞体(cell body),还有一些input wires,专业词汇叫做树突(dendrite),它们从其它地方接收输入信息,神经元还有一个output wire,专业词汇叫做轴突(Axon),用来给其它的神经元发送信号。简单说来,神经元就是一个计算单元,它从input wires那儿接收输入,经过一些计算后,然后能过output wire(轴突)将输出传送给其它神经元。

大脑中的一系列神经元是如何交流的

神经元之间是通过小脉冲电流(spikes)来进行交流的,如果一个神经元想要发送信息,它发送的是小脉冲电流,通过轴突传送给与其连接的其它神经元的树突,这个神经元接收到信息后,经过计算,再通过自己的轴突,将信息传送给其它的神经元。

我们的知觉与肌肉也是这样工作的,如果你想要移动你的一块肌肉,你的神经元将电流传给你的肌肉,导致肌肉收缩。我们的眼睛也可以传递电流给我们大脑中的神经元的树突,这样引起人体的知觉。

Neuron Model: Logistic Unit(单个的神经元)

中间的红色的小圆圈可以看做the body of neuron,feed the neuron a few inputs通过input wires,然后the neuron做一些计算,然后输出值在output wire.做的计算是hΘ(x)=1/(1+e-ΘTx).

当我们画一个神经网络时,有时我们只画x1,x2,x3这三个结点,有时我们会另外增加一个x0的结点,这个x0结点有时称为the bias unit(neuron),因为x0=1,有时候我们会画上它,有时候不画,取决于对具体的问题来说哪个更方便。

在神经网络的另一个专业词汇是sigmoid(logistic) activation function:它是g(z)=1/(1+e-z).

Θ参数在神经网络中有时称为weights of a model = parameters of model.

神经元网络

神经网络是一系列的神经元紧紧结合在一起,在这个神经网络里面,第一层也称为input layer,最后一层也称为output layer,它是一个输出最后结果的神经元;中间的第二层称为the hidden layer,任何不是input layer和output layer的层都叫做hidden layer。

神经网络是如何计算的

我们用ai(j)表示activation of unit i in layer j。a1(2)表示the activation of the first unit in layer 2.activation是指它会接收输入然后进行输出。

Θ(j)为我们的参数,它为一个weights的矩阵,控制function mapping from layer j to layer j+1.

a1(2)的值,a2(2)的值,a3(2)的值计算如上图所示,这儿我们有3个input units和3个hidden units,Θ(1)的维度是3*4的矩阵。

一般来说,如果我们在第j层有sj个units,在j+1层有sj+1个units,则Θ(j)的维度是sj+1*(sj+1)。

最后一个结点的计算如上图所示的hθ(x),Θ(2)表示参数矩阵,控制第2层到第三层的计算.

神经网络(3)---如何表示hypothesis,如何表示我们的model的更多相关文章

  1. Stanford机器学习笔记-4. 神经网络Neural Networks (part one)

    4. Neural Networks (part one) Content: 4. Neural Networks (part one) 4.1 Non-linear Classification. ...

  2. (5keras自带的模型之间的关系)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署

    ​ ​其中: 1.VGG 网络以及从 2012 年以来的 AlexNet 都遵循现在的基本卷积网络的原型布局:一系列卷积层.最大池化层和激活层,最后还有一些全连接的分类层. 2.ResNet 的作者将 ...

  3. Python之TensorFlow的卷积神经网络-5

    一.卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度 ...

  4. 用Keras搭建神经网络 简单模版(六)——Autoencoder 自编码

    import numpy as np np.random.seed(1337) from keras.datasets import mnist from keras.models import Mo ...

  5. (转)word2vec前世今生

    word2vec 前世今生 2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效 ...

  6. NLP之——Word2Vec详解

    2013年,Google开源了一款用于词向量计算的工具--word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练:其次,该工具得到的训 ...

  7. word2vec前世今生

    word2vec前世今生 2013年,Google开源了一款用于词向量计算的工具--word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地 ...

  8. word2vec预训练词向量

    NLP中的Word2Vec讲解 word2vec是Google开源的一款用于词向量计算 的工具,可以很好的度量词与词之间的相似性: word2vec建模是指用CBoW模型或Skip-gram模型来计算 ...

  9. Word2Vec详解

    Word2Vec详解 word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练:其次,该工具得到的训练结果--词向量(word embedding),可以很好地度量词与词之间的相似性.随着 ...

随机推荐

  1. python实践项目一:Collatz函数

    要求1:编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2, 并返回该值.如果 number 是奇数, ...

  2. Stream知识点总结及源码阅读

    上次[http://www.cnblogs.com/webor2006/p/7795596.html]对Stream进行了简单的学习,这次继续学习Stream,还是结合java8 in action这 ...

  3. go创建模块化项目

    比如我要创建一个xxx-system,里面可能有多个子模块,步骤如下: 1.mkdir xxx-system 2.cd xxx-system 3.在xxx-system目录下创建一系列的service ...

  4. 数据库的ACID和CAP

    传统数据库的ACID分别是:         A(Atomicty)原子性         B(Consistency)一致性         I(Isolation)独立性         D(Du ...

  5. (二)spring初次遇见shiro

    文章目录 集成 Spring 集成中的坑 shiroFilter 的工作原理 权限配置细节 集成 Spring pom.xml 添加shiro相关的依赖 我使用的版本是 ${version.shiro ...

  6. 【HC89S003F4开发板】 7ASM&C混合编程

    HC89S003F4开发板ASM&C混合编程 一.前言 在配套资料里有实现ASM&C混合编程的说明文档,这里来实现这个功能. 二.实现ASM&C混合编程 1.打开 Keil 工 ...

  7. java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决

    不能实例化activity有如下三种情况: 1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改 ...

  8. 基于【 建造者模式】一 || 网关zuul过滤器封装

    一.springcloud的zuul网关拦截 1.黑名单拦截 2.参数验签 3.Api接口权限验证 二.网关拦截实现方式 1.继承ZuulFilter方法,实现业务逻辑 @Component @Slf ...

  9. iOS - UIWebView和WKWebView的比较和选择-作为H5容器的一些探究

    一.Native开发中为什么需要H5容器 Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了 ...

  10. 【转载】Sqlserver限制最大可使用内存

    在Sqlserver的使用过程中,我们会发现随着运行时间的增长,Sqlserver占用的系统也越来越大,查了网上的相关资料说,Sqlserver在查询完相应数据后,为了下一次查询的性能,并不会马上释放 ...