最简单的神经网络

作者: DonkeyJason | 来源:发表于2018-07-21 09:53 被阅读0次

目前为止,我们接触的感知器的输出非 0 即 1,输出单元的输入经过了一个激活函数 f(h) 在此处就是指阶跃函数。

image.png image.png

阶跃激活函数

输出单元返回的是 f(h) 的结果,其中 h 是输出单元的输入:
h=∑​i​​w​i​​x​i​​+b
下图展示了一个简单的神经网络。权重、输入和偏置项的线性组合构成了输入 h,其通过激活函数 f(h),给出感知器最终的输出,标记为 y。

image.png

神经网络示意图,圆圈代表单元,方块是运算。

这个架构最酷的一点,也是使得神经网络可以实现的原因,就是激活函数 f(h) 可以是 任何函数,并不只是上面提到的阶跃函数。
例如,如果让 f(h)=h,输出等于输入,那网络的输出就是:
y=∑​i​​w​i​​x​i​​+b
你应该非常熟悉这个公式,它跟线性回归模型是一样的!
其它常见激活函数还有对数几率(又称作 sigmoid),tanh 和 softmax。这节课中我们主要使用 sigmoid 函数:
sigmoid(x)=1/(1+e​−x​​)

image.png

sigmoid 函数

sigmoid 函数值域是 0 到 1 之间,它的输出还可以被解释为成功的概率。实际上,用 sigmoid 函数作为激活函数的结果,跟对数几率回归是一样的。
这就是感知器到神经网络的改变,在这个简单的网络中,跟通常的线性模型例如对数几率模型相比,神经网络还没有展现出任何优势。

image.png

如你之前所见,在 XOR 感知器中,把感知器组合起来可以让我们对线性不可分的数据建模。

但是,如你所见,在 XOR 感知器中,虽然把感知器组合起来可以对线性不可分的数据建模,但是却无法对回归模型建模。
你一旦开始用连续且可导的激活函数后,就能够运用梯度下降来训练网络,这就是你接下来将要学到的。

简单网络练习

接下来你要用 NumPy 来计算一个简单网络的输出,它有两个输入节点,一个输出节点,激活函数是 sigmoid。你需要做的有:

  • 实现 sigmoid 激活函数
  • 计算神经网络输出

sigmoid 函数公式是:
sigmoid(x)=1/(1+e​−x​​)

指数你可以使用 NumPy 的指数函数 np.exp。

这个网络的输出为:
y=f(h)=sigmoid(∑​i​​w​i​​x​i​​+b)
要计算加权求和,你可以让元素相乘再相加,或者使用 NumPy 的 点乘函数.

simple.py
solution.py

import numpy as np

def sigmoid(x):
# TODO: Implement sigmoid function
return 1/(1 + np.exp(-x))

inputs = np.array([0.7, -0.3])
weights = np.array([0.1, 0.8])
bias = -0.1

# TODO: Calculate the output
output = sigmoid(np.dot(inputs, weights) +bias)

print('Output:')
print(output)

相关文章

  • 最简单的神经网络

    最简单的神经网络 准备训练数据 随机生成50个数据,用作训练数据 最简单的神经网络拟合,y=ax+b,所有设置y为...

  • 神经网络和深度学习(Neural Networks and De

    @[toc] 1.1欢迎 1.2 什么是神经网络 最简单的神经网络 1.3 用神经网络进行监督学习 CNN:适合于...

  • 前馈神经网络

    前馈神经网络 前馈神经网络,又称FNN(Feedforward Neural Network),是一种最简单的神经...

  • 深度学习基础知识学习笔记

    教材选用《动手学深度学习》,李沐等著; 单层神经网络 单层神经网络是最简单的神经网络,有线性回归(linear-r...

  • 使用PyTorch从零开始构建Elman循环神经网络

    本文以最简单的RNNs模型为例:Elman循环神经网络,讲述循环神经网络的工作原理,即便是你没有太多循环神经网络(...

  • 前馈神经网络

    前言 从这一节就开始接触最简单最朴素的神经网络了,叫做前馈神经网络。在这种神经网络中,各神经元从输入层开始,接收前...

  • 最简单的神经网络

    目前为止,我们接触的感知器的输出非 0 即 1,输出单元的输入经过了一个激活函数 f(h) 在此处就是指阶跃函数。...

  • 神经网络体系搭建(一)——神经网络

    本篇是神经网络体系搭建的第一篇,解决体系搭建的前四个问题,详见神经网络体系搭建(序) 神经网络 最简单的神经网络 ...

  • 自动编码器【转】

    查看原文 1 简介 Deep Learning最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身...

  • 最简单的神经网络实现

    假设要解决这个问题: 写一个程序, 判断 0, 1, 2, 3 ... 9 这10个数的奇偶性 如果是传统算法, ...

网友评论

    本文标题:最简单的神经网络

    本文链接:https://www.haomeiwen.com/subject/zvxvpxtx.html