zoukankan      html  css  js  c++  java
  • 神经网络(6)---一些神经网络学习复杂非线性问题的例子(2)

    如何实现逻辑非(negation)

    上次我们实现了逻辑与与逻辑或运算,现在来看看逻辑非运算的实现

      

    如左上图所示,我们只有一个x1输入,还有一个bias unit(+1),如果我们将weights设为10,-20的话,则我们的hΘ(x)=g(10-20x1)。计算右上角的表格可以得出函数的值与逻辑非函数的值是一至的。

    cells include negation的基本思想是将你想要取反的那个变量的weight设为很大的负,如上例所示的用-20去乘x1,则会对x1取反.

    右边的一个图为逻辑运算(NOT x1) AND (NOT x2)

    实现XNOR(同或)

    我们可以通过组合x1 AND x2, (NOT x1) AND (NOT x2) , x1 OR x2这三个单个的神经系统来组成x1 XNOR x2.

    x1 XNOR x2的正负取值如最右上的那个坐标系所示,很显然如果要将它的正负取值分割开来的话,它的分割曲线是nonlinear的。

    如左下图所示,我们将第一个神经单元用红色的表示,这个红色的是一个逻辑与,得到中间hidden layer层的a1(2),第二个单元用蓝色的表示的,是一个(NOT x1) AND (NOT x2),输出是a2(2),第三个单元是用绿色的表示的,是一个x1 OR x2,最后的输出设备是hΘ(x)的值与XNOR的值一至。这样我们一层一层的运算,从input layer到hidden layer再到output layer计算出了XNOR所要得到的效果。这说明当我们将几个简单的神经元进行组合时能组成complex function,一层一层递进的compute more complex function

    上图是一个较复杂的神经网络,layer2得到比layer1复杂的features,layer3得到比layer2复杂的features,layer 4进行logistiv regression得到最后的output即hΘ(x),这就是我们之前提到的forward propagation(传播)

    总结

    1 神经网络可以由简单的神经元组合,通过一层一层的forward propagation,来处理复杂的非线性问题,如之前介绍的对手写数字(图片)的识别

    2 二进制上的任何逻辑运算可以由神经网络近似的表示

    ,

  • 相关阅读:
    TDH-hbase shell 常用命令
    WebService之基于REST机制的实现实例(Java版)
    大牛地址
    Solr的SolrCloud与Master-slave主从模式对比
    solr亿万级索引优化实践-自动生成UUID
    Solr查询中涉及到的Cache使用及相关的实现【转】
    05-spectral 图机器学习之谱分解
    03-motifs 图机器学习之motif和结构角色
    04-communities 图机器学习之社区
    02-gnp-smallworld 图机器学习之最小世界
  • 原文地址:https://www.cnblogs.com/yan2015/p/4995972.html
Copyright © 2011-2022 走看看