У меня есть набор координат GPS и я должен их кластеризовать. Для этой задачи я должен использовать нейронную сеть и язык Java. Я совершенно новый в нейронных сетях, поэтому я нашел фреймворк под названием Neuroph. Как я понимаю после моих исследований, для выполнения своей задачи мне нужно использовать нейронную сеть с многослойным персептроном (MLP) или радиальной базисной функцией (RBF).
Определить, сколько кластеров у меня есть, не проблема. Проблема в том, как сделать так, чтобы нейронная сеть показывала, в каком кластере должно быть место?
Пример данных:
CLUSTER1
54,930225, 23,867619
54,930204, 23,867532
54,930258, 23,86754
CLUSTER2
54,920432, 23,901341
54,920323, 23,901263
54,920187, 23,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.
Когда обучение закончится, я рассчитываю установить параметры (координаты) и получить номер кластера, которому принадлежат эти координаты. В многослойном персептроне я всегда получаю 0,99 ... а в RBF я получаю 0,9 или 1,9. В качестве параметров я использую последние координаты из CLUSTER3.
Я что-то упускаю или до сих пор не понимаю, как должна работать нейронная сеть? Кто-нибудь может мне помочь?