Java Neuroph Framework и кластеризация данных GPS - PullRequest
0 голосов
/ 27 марта 2012

У меня есть набор координат 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.
Я что-то упускаю или до сих пор не понимаю, как должна работать нейронная сеть? Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 27 марта 2012

Вы можете перевести количество классов в более простую форму для предсказания нейронной сети.Вместо цифр 1-3 сделайте три столбца, которые будут представлять вопросы, как показано ниже:

column1: координата X

column2: координата Y

column3: "это элементиз класса № 1? "и ответ 0 (Нет) 1 (Да)

column4: «Это элемент из класса № 2?»и ответ 0 (Нет) 1 (Да)

column5: "это элемент из класса № 3?"и ответ 0 (Нет) 1 (Да)

+-----------+-----------+---+---+---+
| 54.930225 | 23.867619 | 1 | 0 | 0 |
| 54.920432 | 23.901341 | 0 | 1 | 0 |
...

Для этого необходимо изменить число выходных нейронов на 3, конечно.Я думаю, что это сделает то, что вы хотите сделать.

Если я правильно понял вторую часть вашего вопроса.Если вы получаете ответы, например 0,99, вам следует просто округлить их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...