Реализация искусственной нейронной сети

1 Необходимость Одной из актуальных
проблем в хроматографии является выделение пиков из их суперпозиции для более
точного расчёта площади каждого из них. Существует множество статистических
методов решения этой задачи (метод наименьших квадратов, метод главных компонент
и т. д.). Но в настоящее время наиболее интересен подход с использованием в этой
области искусственных нейронных сетей (ИНС). Искусственные нейронные сети
перестают быть экзотикой. В последние годы разработки в этой области
представляют большой интерес не только для учёного света, но и для практичных
людей. Областей их применения множество. Это автоматизация процессов
распознавания образов, адаптивное управление, аппроксимация функционалов,
прогнозирование, создание экспертных систем, организация ассоциативной памяти и
многие другие приложения. При решении задачи выделения хроматографических
пиков из их суперпозиции искусственные нейронные сети дают более точные
результаты, чем методы статистики. Выделение производится путём прогнозирования
фронта пика, скрытого из-за суперпозиции с соседним, на основании открытой части
пика. Целью данной работы является программная реализация искусственной
нейросети, которая обеспечит разделение пиков на хроматограмме. Поскольку искусственные нейронные сети позволяют
аппроксимировать функции, прогнозировать – их можно прекрасно использовать для
решения настоящей проблемы: разделение хроматографических пиков (см. приложение
А). Хроматографические пики могут быть как симметричными так и не
симметричными и являются искажёнными Гауссовыми функционалами. И если пик
описывается некоторой функцией от времени f(t), то на хроматограф поступает
суперпозиция пиков, поэтому функция от времени отображаемая на его экране есть
как сумма функций всех пиков: Поэтому образы пиков,
которые присутствуют на хроматограмме, могут быть сильно искажены, из-за
наложений, а в некоторых случаях скрыты другими. Метод прогнозирования заключается в следующем: -среднее значение выборки
временных значений примеров-входов, 2.)На выходы нейронной сети подаются соответствующие значения
функции описывающей пик. Их необходимо преобразовать, чтобы они не превосходили
1, для чего нужно делить на максимум выборки. 3.)После обучения сети до не
обходимого уровня ошибки необходимо подать на вход значение времени, при котором
требуется узнать значение функции. Полученное значение при прямом
функционировании и есть прогнозируемая точка. Она же будет добавлена в обучающую
выборку. И снова провести выше описанные действия. Прогнозирование производится
до тех пор, пока это необходимо. Целесообразно параллельно проводить
прогнозирование смежного пика. Прогнозируемая точка смежного фронта соседнего
пика может быть получена следующим способом: 2.) Подать на дополнительный вход разность между
значением суперпозиции в этой точке и полученным значением в этой точке у
соседнего пика. Метод обучения нейросети на
основании алгоритма обратного распространения представляет собой -
распространение сигналов ошибки от выходов нейросети к ее входам, в направлении,
обратном прямому распространению сигналов в обычном режиме работы. 1. Подать на входы сети один из возможных образов и в режиме
обычного функционирования НС, когда сигналы распространяются от входов к
выходам, рассчитать значения последних. Ниже представлена формула расчёта
взвешенной суммы весов: где M – число нейронов
в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего
смещение; y – сигмоид
(2) – q-ая компонента вектора входного образа. D 3. Рассчитать для всех
остальных слоев, n=N-1,...1 (6) В
ходе настоящей работы была разработана и реализована программно искусственная
нейронная сеть. Программа написана в среде Borland Delphi 3. Она представляет
собой гибкую систему, в которой задаётся количество скрытых слоёв и количество
нейронов в каждом из них. Количество входов и выходов одинаково и равно единице.
Над программой был проведён длительный эксперимент, который продолжался около
10-ти часов. За это время нейронная сеть, реализованная в ней, обучалась по
переднему фронту пика(см. приложение Г). Нейронная сеть состояла из 4-х слоёв по
50 нейронов, и выходного слоя с одним нейроном. Сеть обучилась до уровня ошибки
– 0,0016, за число итераций – 95649. Пример суперпозиции пиков
и их истинностных фронтов