Создание и обучение нейросети

383
28 сентября 2017, 11:56

Есть несколько параметров в csv файле записанных через ,. Есть пара тысяч строк с этими параметрами и крайним параметром 0 или 1. Нужно обучить сеть так, чтобы после обучения она определяла крайний параметр по предыдущим. Есть ли какие-то готовые библиотеки, желательно для C# где можно реализовать эту задачу? И есть ли какой-то паттерн, алгоритм как это делать?

Answer 1

Вы описываете классическую постановку задачи бинарной классификации. Есть набор параметров X и меток Y (это, как Вы выразились, крайние значения 1 и 0), которые связаны зависимостью Y = F(X). Зависимость неизвестна. Но если выборка большая, то можно попытаться построить и алгоритм A, такой, что ||A-F|| -> min на любом примере, в т.ч. который не входит в изначальный набор.

В силу того, что Вы не описываете деталей своей задачи, смею предположить, что нейронные сети Вам ни к чему. Лучше попробуйте использовать случайные леса. Для их настройки Вам не нужно задавать никаких специфических параметров. Работают они, как правило, не хуже нейронных сетей, которые Вам придётся настраивать.

Другим простым решением является логистическая регрессия. Этот алгоритм также не требует глубокой настройки и может быть использован практически из коробки.

Для того, чтобы обучить модель, Вам необходимо разделить данные (X, Y) на 2 части в соотношении, например, 70% и 30%. Данные следует предварительно перемешать, дабы исключить влиение скрытых зависимостей. Далее обучите выбранную модель на большем поднаборе.

После обучения следует протестировать Вашу модель на меньшем поднаборе данных. Т.е. для каждого X получить ответ модели Y* и сравнить его с имеющимся результатом Y. Качество построенного алгоритма можно оценить так:

(Число правильных ответов, предсказанных алгоритмом на меньшей выборке) / (Число всех примеров меньшей выборки)

Для более детальной информации по Вашему вопросу, необходимо понимать, с какими данными Вы имеете дело.

READ ALSO
C# Emgu, не знает классы Capture и HaarCascade

C# Emgu, не знает классы Capture и HaarCascade

Пытаюсь сделать распознавание с помощью библиотеки EmguДобавил все opencv

273
Качественное масштабирование

Качественное масштабирование

Подскажите, какие существуют способы качественного масштабирования изображений с текстом

241
Как сделать привязку DataGridView к ComboBox?

Как сделать привязку DataGridView к ComboBox?

Есть datagridview и combobox их источники List-ы, мне нужно чтобы когда выбирали один элемент из combobox, то datagridview показывал элементы связанные с элементом...

359
Аномальный VS и оповещения windows 10

Аномальный VS и оповещения windows 10

Пытаюсь сделать всплывающие оповещения на windows 10Сперва VS просто отказался компилировать код, при этом никаких ошибок он графически не выделил

232