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