zoukankan      html  css  js  c++  java
  • 神经网络入门——9.简单神经网络

    最简单的神经网络

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

     
     

    阶跃激活函数

     

    输出单元返回的是 f(h)f(h) 的结果,其中 hh 是输出单元的输入:

    h = sum_i w_ix_i + bh=iwixi+b

    下图展示了一个简单的神经网络。权重、输入和偏置项的线性组合构成了输入 hh,其通过激活函数 f(h)f(h),给出感知器最终的输出,标记为 yy。

     

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

     

    这个架构最酷的一点,也是使得神经网络可以实现的原因,就是激活函数 f(h)f(h) 可以是 任何函数,并不只是上面提到的阶跃函数。

    例如,如果让 f(h) = hf(h)=h,输出等于输入,那网络的输出就是:

    y = sum_iw_ix_i + by=iwixi+b

    你应该非常熟悉这个公式,它跟线性回归模型是一样的!

    其它常见激活函数还有对数几率(又称作 sigmoid),tanh 和 softmax。这节课中我们主要使用 sigmoid 函数:

    mathrm{sigmoid}(x) = 1/(1+e^{-x})sigmoid(x)=1/(1+ex)

     

    sigmoid 函数

     

    sigmoid 函数值域是 0 到 1 之间,它的输出还可以被解释为成功的概率。实际上,用 sigmoid 函数作为激活函数的结果,跟对数几率回归是一样的。

    这就是感知器到神经网络的改变,在这个简单的网络中,跟通常的线性模型例如对数几率模型相比,神经网络还没有展现出任何优势。

     

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

     

    但是,如你所见,在 XOR 感知器中,虽然把感知器组合起来可以对线性不可分的数据建模,但是却无法对回归模型建模。

    你一旦开始用连续且可导的激活函数后,就能够运用梯度下降来训练网络,这就是你接下来将要学到的。

     

    简单网络练习

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

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

    sigmoid 函数公式是:

    mathrm{sigmoid}(x) = 1/(1+e^{-x})sigmoid(x)=1/(1+ex)

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

    这个网络的输出为:

    y = f(h) = mathrm{sigmoid}(sum_i w_i x_i + b)y=f(h)=sigmoid(iwixi+b)

    要计算加权求和,你可以让元素相乘再相加,或者使用 NumPy 的 点乘函数.

    import numpy as np
    
    def sigmoid(x):
        # TODO: Implement sigmoid function
        sigmoid=1/(1+np.exp(-x))
        return sigmoid
    
    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(weights,inputs)+bias)
    
    print('Output:')
    print(output)
    

      

  • 相关阅读:
    逻辑最复杂的MVVM模式实现
    剧本:博客园之天外飞仙
    本博客开始偏转方向,开始研究UDP在WCF下的实现
    Prism研究 目录
    Q & A category in Prism forums, with some answers and samples of mine.
    我眼中的SOA,以及在实际项目中的应用经验
    数据结构 C#描述 第三章 (更新)
    数据结构 C#描述 第四章
    数据结构 C#描述 第七章 (第一部分)
    数据结构 C#描述
  • 原文地址:https://www.cnblogs.com/fuhang/p/8927062.html
Copyright © 2011-2022 走看看