Нейронная сеть - PullRequest
       35

Нейронная сеть

1 голос
/ 12 марта 2012

В настоящее время я занимаюсь проектом, который включает обнаружение выбоин и нейронные сети.До сих пор у меня был телефон Android, который считывает показания акселерометра и записывает оси X, Y, Z, а также амплитуду и текущую метку времени в файл CSV.Затем данные нормализуются с использованием нормализации min-max и используют показания оси Y из файла CSV.Проблема, с которой я сталкиваюсь, чтобы нейронная сеть выучила выбоину, заключается в том, что какие данные я должен передать в нейронную сеть обратного распространения?Должен ли я установить порог и, когда ось Y достигнет этой точки, получить 5 предыдущих точек и 5 точек после, а затем подать в сеть 11 входов?Я не хочу ни перетренировать сеть, ни кормить ее данными в разных позициях каждый раз.

Тренировка - я также начинаю собирать собранные данные и создавать набор обучающих данных. Должен ли я ставить такие вещи, как показания для обычных / неровных дорог / лежачих полицейских, а также выбоин?Насколько большим должен быть тренировочный набор?или «чем больше данных, тем лучше» на самом деле правда?

Вот так выглядят данные выбоины.

Pothole Graph

Вот так выглядят данные скоростного удара.

Speed Bump

Образец собранных данных

 X-Axis     Y-Axis    Z-Axis   Timestamp

-0.371827, 8.513097, 5.441484, 165401
-0.601749, 7.976613, 5.326523, 165601
-0.333506, 8.053253, 5.441484, 165801
-0.256866, 8.206534, 5.364844, 166001
0.049697, 8.398136, 5.364844, 166202
-0.371827, 8.436457, 5.211563, 166400
-0.256866, 8.551417, 5.709726, 166601
-0.256866, 8.513097, 5.403164, 166801
-0.333506, 8.474776, 5.709726, 167000
-0.563428, 8.628057, 5.594766, 167201
-0.563428, 7.401808, 4.713398, 167402
-1.981280, 5.447472, 4.406836, 167602    POTHOLE
-0.180225, 5.600753, 5.403164, 167800    POTHOLE
-0.984952, 8.053253, 4.445156, 168001
-1.214874, 8.666378, 5.671406, 168201
-0.525108, 7.210207, 3.870352, 168401
-1.138233, 7.286847, 5.824687, 168600
-0.601749, 10.045910, 5.288203, 168801
-0.180225, 8.206534, 5.173242, 169001
0.279619, 7.861651, 5.518125, 169200
0.202978, 8.934620, 5.824687, 169401
-0.065264, 8.321495, 5.364844, 169601
-0.065264, 8.628057, 5.709726, 169800
-0.716710, 8.014933, 5.748047, 170001
-0.141905, 8.513097, 5.441484, 170200
-0.026944, 8.206534, 5.594766, 170401
-0.601749, 8.168214, 5.058281, 170601

Алгоритм

Мой предложенный алгоритм заключается в установке определенного порога, такого как строка 12 на выборочных данных, когда ось Y достигает определенного порога, такого как <7 </strong>, затем передайте предыдущие 5 точек и 5 точек после этого в NN.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2012

Я думаю, что вы должны отправлять каждую точку + - 5. Например, когда вы находитесь в 20-й точке, вы будете давать свои nn баллов от 15 до 25. Установка порога - плохая идея, потому что амплитуда выбоин может меняться от одного к другому. При обучении следует учитывать "маленькие" и "большие" выбоины.

Не могли бы вы рассказать нам, какую библиотеку nn вы используете?

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

Я не уверен, что вы хотите передать только 5 баллов до и после порога NN. Я думаю, что вы хотели бы передать все данные в NN. Вы бы пометили данные как выбоины или нет.

ВХОД (ОСОБЕННОСТИ): X, Y и Z ВЫХОД (ЦЕЛИ): 1 (ЗАГОТОВКА), 0 (НЕ ДОБАВЛЕНИЕ)

Ось X Ось Y Ось Z TARGET

-0,371827, 8,513097, 5,441484, 0

-0,601749, 7,976613, 5,326523, 0

-0,333506, 8,053253, 5,441484, 0

-0,256866, 8,206534, 5,364844, 0

0,049697, 8,398136, 5,364844, 0

-0,371827, 8,436457, 5,211563, 0

-0,256866, 8,551417, 5,709726, 0

-0,256866, 8,513097, 5,403164, 0

-0,333506, 8,474776, 5,709726, 0

-0,563428, 8,628057, 5,594766, 0

-0,563428, 7,401808, 4,713398, 0

-1,981280, 5,447472, 4,406836, 1

-0,180225, 5,600753, 5,403164, 1

-0,984952, 8,053253, 4,445156, 0

-1.214874, 8.666378, 5.671406, 0

-0,525108, 7,210207, 3,870352, 0

-1.138233, 7,286847, 5,824687, 0

-0,601749, 10,045910, 5,288203, 0

-0,180225, 8,206534, 5,173242, 0

0,279619, 7,861651, 5,518125, 0

0,202978, 8,934620, 5,824687, 0

-0,065264, 8,321495, 5,364844, 0

-0,065264, 8,628057, 5,709726, 0

-0,716710, 8,014933, 5,748047, 0

-0,141905, 8,513097, 5,441484, 0

-0,026944, 8,206534, 5,594766, 0

-0,601749, 8,168214, 5,058281, 0

...