Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用PyBrain?_Python_Neural Network - Fatal编程技术网

Python 如何使用PyBrain?

Python 如何使用PyBrain?,python,neural-network,Python,Neural Network,是一个基于Python的库,用于创建神经网络。我看过他们网站上的教程,但它们似乎对我帮助不大。我计划做的模拟是让一辆汽车在轨道上行驶,配备5个测距仪,显示它与墙壁之间的当前距离,范围在0.0和1.0之间。体能基于平均速度。(越高越好)输出为一个数字,即你在特定时刻转动了多少次,其中向右的方向是1.0,向左的方向是-1.0或0.0,以更简单的为准 我假设使用这个设置,我会有5个输入神经元和1个输出神经元。举个例子,我假设我有4个隐藏的神经元。我们还假设我创建了一个名为runSimulation()

是一个基于Python的库,用于创建神经网络。我看过他们网站上的教程,但它们似乎对我帮助不大。我计划做的模拟是让一辆汽车在轨道上行驶,配备5个测距仪,显示它与墙壁之间的当前距离,范围在
0.0
1.0
之间。体能基于平均速度。(越高越好)输出为一个数字,即你在特定时刻转动了多少次,其中向右的方向是
1.0
,向左的方向是
-1.0
0.0
,以更简单的为准

我假设使用这个设置,我会有5个输入神经元和1个输出神经元。举个例子,我假设我有4个隐藏的神经元。我们还假设我创建了一个名为
runSimulation()
的函数,该函数将神经网络作为参数,使用该神经网络驱动汽车行驶,并返回平均速度(适应度)

如何根据
runSimulation()
的重复结果训练神经网络



我希望我能正确地解释这一点(更不用说稍微知道我在做什么),但如果我没有,请告诉我

这似乎是一个有监督的学习问题。在这类问题中,您需要在训练神经网络之前提供一些答案

您可以尝试以下方法

  • 为你的汽车创建一个简单的迷宫
  • 在这个迷宫中手动驾驶你的车
  • 收集你的转弯信息
  • 假设你有一辆跟车

    • rf=测距仪
    • rf\u f=测距仪\u前进
    • 右前=测距仪右前
    • rf\u l=测距仪\u左
    • rf_60=测距仪_60度
    • rf_320=测距仪_320度
    下面是你的射频图

      320   f   60
       \   |  / 
        \  | /
         \ |/  
     l--------------r
           |
           |
           |
    
    您的列车组应如下所示

    rf_f , rf_l , rf_r, rf_60, rf_320 , turn
    0     0      0    0    0     0       0    // we go directly, no obstacles detected
    0     0      0    0    0     0       0     // we go directly, , no obstacles detected
    1.0   0      0    0    0     0       0    // We see a wall in forward far away. 
    0.9   1      0    0    0     0       0.2  // We see a wall in forward and left, 
                                                 therefore turn right slightly etc.
    0.8   0.8      0    0    0     0     0.4  // We see a wall in forward and left, 
                                             therefore turn right slightly etc.
    
    将这样的训练数据集提供给NN后,您可以对其进行训练