大脑中的神经元

我们的大脑都充满了上图所示的神经元,神经元有一个细胞体(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. JAVA 读取xml格式的数据

    <?xml version="1.0" encoding="UTF-8"?> <column-enums> <type name= ...

  2. 多线程(11) — NIO

    Java NIO是new IO的简称,是一种可以替代Java IO的一套新的IO机制.它提供了一套不同于Java标准IO的操作机制,严格来说,NIO与并发并无直接关系,但是使用NIO技术可以大大提高线 ...

  3. (五)Spring Boot官网文档学习

    文章目录 SpringApplication SpringApplication 事件 `ApplicationContext ` 类型 访问传递给 `SpringApplication` 的参数 A ...

  4. Git使用总结(二):分支管理

    1.创建分支 a.直接创建 git branch dev(分支名) b.基于某个历史版本创建分支 git branch dev HEAD 2.查看分支 git branch -av 3.删除分支 gi ...

  5. Redis--list类型操作命令

    列表 list Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列 表的头部(左边)或者尾部(右边) 列表 list——基本命令 lpush 语法:lpush key valu ...

  6. 【Qt】Qt5.12编译MySQl5.7驱动(亲自测试成功)

    目录 00. 目录 01. 安装Qt5.12 02. 打开MySQL源码项目 03. 编译MySQL驱动代码 04. 修改mysql.pro文件 05. 编译之后得到对应的库 06. 拷贝动态库到指定 ...

  7. python pip命令安装相当于yum仓库

    进入pip目录: 创建pip.conf: 打开pip.conf [global] index-url=https://mirrors.aliyun.com/pypi/simple/ trusted-h ...

  8. 题解-APIO2019路灯

    problem \(\mathtt {loj-3146}\) 题意概要:一条直线上有 \(n+1\) 个点和 \(n\) 条道路,每条道路连通相邻两个点.在 \(q\) 个时刻内,每个时刻有如下两种操 ...

  9. 记一次纯sqlite数据库的小项目开发经历

    sqlite有哪些坑 1.支持的数据量级:根据SQLite的官方提示:http://www.sqlite.org/limits.htmlSQLIte数据库最大支持128TiB(140 terabyte ...

  10. VMware Workstation Pro 15 序列号

    VMware Workstation Pro 15 序列号: GA70H-8TYE2-H886P-04YZC-YVA84 YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 UG5J2-0ME ...