【问题标题】:Basics: How does a neural network work? (Decision)基础知识:神经网络是如何工作的? (决定)
【发布时间】:2018-01-14 19:21:02
【问题描述】:

我知道有类似的问题。但我想知道简单的基础知识。

假设我有一些数据 (x,y) -> z 其中 z 可以是 0 或 1 和 x,y in [0,1]. 现在我想用这些数据训练一个神经网络,我想要的输出应该是 x,y 空间中的边界或直线或曲线,它将零与零分开(例如男性/女性或其他)。

所以,我想要一个隐藏层。我想我以某种方式了解如何为网络提供数据:

  1. X = (x,y) 把它喂到第一层
  2. 使用权重和偏差 atc 进行一些计算。
  3. 计算错误或损失函数
  4. 使用例如训练网络梯度下降(即更新权重等)
  5. 是的,我的问题来了:D

到底输出的是什么?使用给定的数据集,网络会尝试重现给定 x,y 的 z 值,对吗?那么,我如何获得拟合或决策边界或其他什么?最后在 x,y 空间中“绘制”的东西是什么?

我如何通过网络生成“新数据”,或者这不可能?

所以,我的主要问题是:输出是什么?以及如何处理输出?最后得到逻辑回归图的步骤是什么(可以在互联网上随处找到,但他们没有说他们最后绘制了什么:D)

【问题讨论】:

  • 我曾经请我的一个朋友用几句话解释一下神经网络。 “这就像一杯热茶”他说
  • 很好的例子,但对我的真正问题没有帮助:D。但我会记住这一点^^

标签: neural-network


【解决方案1】:

所以,在与一位朋友(他最近几天不在)讨论之后,我终于认为我明白了。

训练后,我可以将网络用作函数 F(x,y) 来做出新的预测。

要找到一个决策边界(X 空间中的超平面),我可以解决 x(y) 的 F(x,y) = 1/2 或反之亦然并绘制它。然后我就完成了:D

干杯,

马塞尔自言自语:D

【讨论】:

    【解决方案2】:

    让我们考虑一个著名的 XOR 问题的例子


    Training Data
    X | Y | Z
    0 | 0 | 0
    0 | 1 | 1
    1 | 0 | 1
    1 | 1 | 0
    

    现在创建一个神经网络,让我们假设 MLN (2,4,1)。 用你的训练数据训练它直到收敛。

    现在是决策边界图。

    创建测试数据

    **x** [0 0.01 0.02 0.03 .... 1] (100x1)
    **y** [0 0.01 0.02 0.03 .... 1] (100x1)
    

    然后为每个 (x, y) 对找到 z,(0,0) (0.01,0) (0.02,0)...(0,0.01) (0,0.02) ,所以 z 将是 100x100 矩阵。

    对于 XOR,我们知道输出空间是 0 或 1。所以我们量化 z

    if (z(x,y)>0.5)
         zq(x,y) = 1
    else 
         zq(x,y) = 0
    

    现在绘制 x,y,zq。 这会给你一个决策面。

    如果你想要决策边界。 检查 z = 0.5 的位置并标记该点。 所有点创建的线将是决策边界。

    【讨论】:

    • 谢谢。您的回答以及与朋友的讨论使事情变得更加清晰。 (我希望我自己的答案也是正确的?)。顺便说一句:不知何故我的简单网络不起作用,也许你有一个想法? (见:stackoverflow.com/questions/35315289/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2016-06-07
    • 1970-01-01
    相关资源
    最近更新 更多