美文网首页
深度学习应用:学习XOR

深度学习应用:学习XOR

作者: 心水 | 来源:发表于2019-01-21 21:24 被阅读58次

    《深度学习》这本书提到一个深度学习实例,挺有意思的。

    XOR函数(异或逻辑)是两个二进制x1和x2的运算,x1和x2相同,则输出0,x1和x2不同则输出1。XOR函数提供了我们想要学习的目标函数y = f'(x),我们的模型给出了一个函数y = f(x;θ),并且我们的学习算法会不断调整参数θ来使f尽可能接近f'。

    XOR函数一共就4个数据:
    1.(0,0)= 0
    2.(1,1)= 0
    3.(1,0)= 1
    4.(0,1)= 1

    如果用二维坐标系表示,就长成下面这样:


    深度学习应用:学习XOR

    如果用线性模型y = w1 x1 + w2 x2 + b进行学习,会得到w1=w2=0, b=0.5,因为不可能画一条线能把上图的四个点都连起来。

    那怎么办呢?我们可以引入神经网络:

    具体来说,这个网络有一层隐藏层,它包含两个神经元,这个网络有一个通过函数f1(x;W,c)计算得到的隐藏单元的向量h。h随后被用作第二层的输入。第二层就是这个网络的输出层。输出仍然只是一个线性模型,只不过现在它作用于h而不是x。网络现在包含链接在一起的两个函数:

    h = f1(x; W, c)和y=f2(h;w,b),完整的模型是f(x; W, c, w, b)= f2 (f1 (x))。图示如下: 深度学习应用:学习XOR

    那么f1应该是哪种函数呢?大多数神经网络使用这样的函数形式:

    h = g(WTx + c)

    其中W是线性变换的权重矩阵,c是偏置。g是一个激活函数g(z) = max{0, z}

    虽然感觉挺有意思的,但是还是有些术语不是很懂,需要补充很多基础知识。

    相关文章

      网友评论

          本文标题:深度学习应用:学习XOR

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