Алгоритм обучения и сохранение данных в программном обеспечении - PullRequest
1 голос
/ 31 декабря 2008

Я из области веб-разработки, и мне интересно, как бы я создал алгоритм обучения на Java / C ++. Не столько часть алгоритма, сколько заставить программу «запоминать» то, чему она научилась за предыдущий день. Я думаю, что-то вроде сохранения файла, но я подозреваю, что их может быть проще. Извиняюсь, если этот вопрос просто глупый. Спасибо.

Ответы [ 5 ]

3 голосов
/ 31 декабря 2008

Думаю, это будет немного зависеть от проблемной области. Возможно, вы захотите сохранить изученные «факты» или «отношения» в БД, чтобы их можно было легко найти. Если вы обучаете нейронную сеть, то вы, вероятно, просто сбросите состояние сети в файл. В общем, я думаю, что когда у вас есть механизм, который выполняет обучение, соответствующее представление хранилища будет относительно очевидным.

Может быть, если вы сможете конкретизировать свой план относительно того, какое обучение вы хотели бы реализовать, люди могут дать больше рекомендаций относительно того, как должна выглядеть реализация, включая хранилище состояний.

1 голос
/ 31 декабря 2008

Не глупо, но, возможно, немного плохо сформировано.

То, что вы собираетесь делать, когда ваша программа что-то «изучает», - это обновлять состояние некоторой структуры данных. Если вы хотите сохранить это состояние, вам нужно сохранить структуру данных во внешнем хранилище. Это означает перевод структуры данных в какой-то внешний формальный формат, который вы можете прочитать без потерь.

Java предоставляет простой способ сделать это через интерфейс Serializable ; вы сериализуете данные, отправляя сериализуемые ojects через ObjectStream; тот же ObjectStream перезагрузит их позже.

0 голосов
/ 31 декабря 2008

Вы должны взглянуть на Разработка программного обеспечения нейронной сети . Вот коллекция симпатичных библиотек нейронных сетей для разных языков. Я не уверен, что это легкий путь, но когда он будет достигнут, это будет очень удобно.

0 голосов
/ 31 декабря 2008

Надежное / гибкое решение в Java (тоже C ++, но я не знаю, как) будет использовать базу данных. Java 1.6 поставляется с базой данных Apache Derby, которая может быть встроена в ваши приложения. Использование JPA (Java Persistence API) упрощает взаимодействие с любой базой данных, для которой вы можете найти драйверы.

0 голосов
/ 31 декабря 2008

Если вы хотите получить доступ и сохранить большие объемы данных, возможно, база данных будет работать хорошо. Это позволит вам структурировать данные и искать их более простым способом. Я не слишком хорошо разбираюсь в этом вопросе, но думаю, что для запоминания и вспоминания вещей база данных намного превосходит файловую систему.

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