我有一组GPS坐标,必须对它们进行聚类。对于这个任务,我必须使用神经网络和Java语言。我是神经网络的新手,所以我找到了一个名为Neuroph的框架。据我所知,在研究之后,我必须使用多层感知器(MLP)ir径向基函数(RBF)神经网络来完成我的任务。
确定我拥有多少个集群不是问题。问题是,如何使神经网络显示在哪个集群所在的位置?
样本数据:
Cluster1中
54.930225,23.867619
54.930204,23.867532
54.930258,23.86754
Cluster2中
54.920432,29.901341
54.920323,29.901263
54.920187,29.901156
54.92022,23.9013
CLUSTER3
54.900466,23.856597
54.900499,23.85644
54.900452,23.85651
我将这些数据用于神经网络学习。我的设置是这样的:
多层感知器,2个输入神经元,2个隐藏神经元,1个输出神经元
OR
径向基函数,2个输入神经元,2个隐藏神经元,1个输出神经元
这是我的训练集:
+ ----------- + ----------- + --- +
| 54.930225 | 23.867619 | 1 |
| 54.930204 | 23.867532 | 1 |
| 54.930258 | 23.86754 | 1 |
| 54.920432 | 23.901341 | 2 |
| 54.920323 | 23.901263 | 2 |
| 54.920187 | 23.901156 | 2 |
| 54.92022 | 23.9013 | 2 |
| 54.900466 | 23.856597 | 3 |
| 54.900499 | 23.85644 | 3 |
| 54.900452 | 23.85651 | 3 |
+ ----------- + ----------- + --- +
训练时,我选择最大误差= 0,01,学习率= 0.2。使用这些参数Multilayer Perceptron不会长时间停止学习,因此我将参数更改为0,2和0.5。 学习完成后,我希望设置参数(坐标)并获得这些坐标所属的聚类数。在Multilayer perceptron中,我总是得到0,99 ...而且RBF我得到0,9或1,9。作为参数,我使用CLUSTER3的最后一个坐标 我错过了什么,或者我仍然不明白神经网络应该如何工作?有人能帮助我吗?
答案 0 :(得分:0)
您可以将类的数量转换为更容易的形式,以便神经网络进行预测。不是数字1-3,而是三列代表下面的问题:
column1:X coord
column2:Y coord
column3:“这是来自类nr 1的元素吗?”并回答0(否)1(是)
column4:“这是来自nr 2类的元素吗?”并回答0(否)1(是)
column5:“这是来自nr 3类的元素吗?”并回答0(否)1(是)
+-----------+-----------+---+---+---+
| 54.930225 | 23.867619 | 1 | 0 | 0 |
| 54.920432 | 23.901341 | 0 | 1 | 0 |
...
这样做你当然必须将输出神经元的数量改为3。 我认为这将做你想要完成的事情。
如果我的问题的第二部分是正确的。如果你得到像0.99这样的答案你应该把它们围起来。