Необходимо построить нейронную сеть для определения личности по характеру работы на клавиатуре.
В качестве обучающих массивов должны быть использованы массивы длительности нажатия на клавиши и массивы пауз между нажатиями.
В качестве программы для получения данных массивов будет использована программа Typing Statistics, которую можно найти по адресу: http://fil.urikor.net/
Нейронную сеть необходимо реализовать в пакете MATLAB.
Необходимо сделать оценку полученных результатов и написать выводы.
Нейронные сети – новое направление в создании технических сетей. Теория нейронных сетей развивается в течение последнего полувека. Однако, практическое применение стало возможным только в последние 15-20 лет, когда была создана необходимая элементная база для реализации нейронных сетей.
Искусственные нейронные сети основаны на биологической модели нервной системы. Теория нейронных сетей возникла из исследований в области искусственного интеллекта, а именно из попыток воспроизвести способность нервных биологических систем обучаться и исправлять ошибки, моделирую низкоуровневую структуру мозга.
В последние годы наблюдается повышенный интерес к нейронным сетям. Это обусловлено тем, что нейронные сети позволяют создавать искусственные системы для успешного решения задач распознавания образов, диагностики заболеваний, автоматического анализа документов и многих других разнообразных приложений.
Успех нейронных сетей обусловлен несколькими факторами. Во-первых, нейронные сети являются нелинейными, ранее для построения моделей использовался линейный подход. При этом они, в отличие от большей части нелинейных систем, обычно не требуют огромного количества нелинейных ресурсов. Во-вторых, нейронные сети используют алгоритм обучения. Пользователь подбирает представительные данные, выбирает нужную архитектуру сети и запускает алгоритм обучения, который автоматически настраивает параметры сети. Таким образом, уровень знаний, необходимых для успешного применения нейронных сетей гораздо скромнее, чем при использовании традиционных методов.
Для решения прикладных задач при помощи нейронных сетей необходимо собрать достаточный и представительный объем данных, на основании которого сеть будет обучаться решению таких задач. Выбор признаков, по крайней мере, первоначальный, осуществляется эвристически на основании имеющегося опыта.
Так же необходимо определиться с тем, сколько нужно иметь наблюдений для обучения сети, что часто бывает непросто. Есть ряд эвристических правил, например, что количество наблюдений должно быть в 10 раз больше числа связей в сети. На деле, число наблюдений зависит от сложности того отображения, которое должна воспроизводить нейронная сеть. Для большинства задач бывает достаточным несколько сотен или тысяч наблюдений.
Далее необходимо выбрать начальную конфигурацию сети. Необходимо выбрать число скрытых слоев и число нейронов в этих слоях. При выборе одного скрытого слоя, число нейронов обычно принимают равным половине общего количества входов и выходов.
Алгоритмы обучения нейронных сетей обычно функционируют пошагово. Шаги обучения называют эпохами или циклами. На каждом цикле вычисляются выходные значения, сравниваются с целевыми и вычисляется функционал ошибки. Далее автоматически корректируются веса и смещения, после чего все действия повторяются. Процесс обучения прекращается когда ошибка достигнет некоего малого значения или когда будут выполнено определенное число эпох.
Существует три основных группы алгоритмов:
Квазиньютоновы алгоритмы
Основой для этих алгоритмов является метод Ньютона. Основной шаг этого метода определяется по формуле:
Где вектор настраиваемых параметров;
матрица Гессе вторых частных производных функционала ошибки по настраиваемым параметрам;
вектор градиента функционала ошибки.
Этот метод сходится достаточно быстро, однако у него есть большой недостаток: вычисление матрицы Гесе вычислительно сложная и дорогая процедура. Поэтому на основе метода Ньютона разработан класс квазиньютоновых
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.