УДК 631.15:004.942
Е.П. Васильев, д-р техн. наук, профессор, В.И. Орешков,
соискатель
Рязанский государственный агротехнологический университет имени П.А. Костычева
ИНТЕЛЛЕКТУАЛЬНОЕ МОДЕЛИРОВАНИЕ АГРОТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
Введение
Немецкий философ Иммануил Кант (17241804) свел воедино две различные философские идеи: то, что знания выводятся из наблюдения и эксперимента (эмпиризм), и то, что с других позиций знания - продукт мышления (рационализм). Согласно Канту, понятия пространства и времени не могут быть постигнуты при помощи непосредственного восприятия. Поэтому мир нужно исследовать, используя рациональную систему, такую, какой является математика. Данный подход особенно актуален на современном этапе развития цивилизации, которая характеризуется значительным увеличением объема информационных потоков, скрытые знания из которых можно извлечь, только используя современную вычислительную математику.
Поиск методов ликвидации разрыва между техническими и методологическими аспектами использования информации привел к появлению интеллектуальных информационных технологий и основного их инструмента - интеллектуальных информационных систем, помогающих человеку ускорить и сделать более эффективным анализ информации, а также синтез управленческих решений. В основе построения интеллектуальных систем обычно лежат базы знаний, подсистема логического вывода и интерфейс, имитирующий рассуждения человека. Такая «имитация» позволяет сделать процесс изучения информации логически понятным и интерпретируемым, более четко понимать его цели и задачи.
В основе идеи интеллектуального анализа данных (ИАД) лежит симбиоз классических методов прикладной статистики (регрессия, корреляционный анализ, метод главных компонент, байесовская классификация и т.д.) и эвристических методов машинного обучения (нейронные сети, деревья решений, карты Кохонена, ассоциативные правила и др.) [3]. При этом методы второй
группы реализуют интеллектуальную составляющую, предоставляя инструменты автоматического извлечения скрытых зависимостей, закономерностей и структур в исследуемых данных.
Для пояснения отношений эвристического и статистического подходов проведем следующие рассуждения. Пусть требуется восстановить зависимость между двумя случайными переменными на основе эмпирической выборки ограниченного объема. Если известно соответствующее условное распределение, либо имеется некоторая априорная информация, которая позволит его получить, то задача может быть решена статистическими методами. Типичным примером является линейная регрессия, получаемая из предположения, что зависимая и независимая переменные распределены по нормальному закону. В этом случае модель, параметры которой определяются по методу наименьших квадратов, оказывается линейной [4]. Однако, если закон распределения для эмпирической выборки неизвестен, а априорная информация отсутствует, то определение функции, наилучшим образом аппроксимирующей искомую зависимость, проблематично [2].
Альтернативой является попытка построить модель на основе полного перебора ее возможных состояний, т.е. рассмотреть все возможные функции, что является мало реалистичным из-за огромного пространства поиска.
И тогда нас может выручить эвристический подход, в рамках которого мы можем задать некоторую целевую функцию (скажем, ошибки между фактическим и оцененным значением) и, итеративно модифицируя параметры модели, подобрать такое ее состояние, которое обеспечит минимум этой целевой функции. Данный тип задач известен как оптимизация. Управлять модификацией параметров модели можно с помощью производной целевой функции, которая, как известно, в точках минимума равна 0 и меняет свой знак.
© Костромин Д. В., Медяков А. А., Новиков П. С., Гайнуллин Р. Х., Виноградов Д. В, 2013
Эвристика в данном случае обусловлена следующими факторами:
1. неизвестно, существует ли минимум и является ли он единственным;
2. неизвестно, сможет ли алгоритм его обнаружить;
3. скорее всего, будет найден локальный минимум (решение не оптимально);
4. конечность шага коррекции на каждой итерации приводит к тому, что оптимум всегда определяется с некоторой погрешностью (решение не точное);
5. неопределенность с выбором начального состояния модели (инициализацией);
6. неопределенность структуры модели (числа настраиваемых параметров и связей между ними);
7. неопределенность требуемого числа итераций.
Тем не менее, понимание и осмысление данных факторов аналитиком позволяет ему соизмерять недостатки полученного эвристического решения с особенностями задачи анализа и принимать решение о корректности и значимости полученных результатов, применяя «фильтр здравого смысла».
Следует отметить, что именно эвристические методы считаются «ядром» ИАД. Иными словами, сама методология ИАД развивалась, опираясь именно на эвристической подход, позволяющий упростить решение задач, не имеющих общей постановки. Что касается статистических методов, то им отводилась роль разведочного анализа с целью получения некоторых сведений об исходных данных для лучшей организации использования эвристических методов.
Особенно актуальной является задача внедрения современных средств и технологий ИАД для российского АПК. Это обусловлено следующими причинами:
- большая часть территории России лежит в зонах, неблагоприятных для ведения сельского хозяйства, поэтому совершенствование технологий принятия решений в АПК ведет к снижению рисков и издержек, повышая конкурентоспособность как отрасли в целом, так и отдельных направлений;
- деятельность предприятий АПК хорошо отражается в различного рода источниках - системах бухгалтерского учета, отчетности региональных органов власти и госстатистики, что предоставляет исследователю в данной области большое количество хорошо структурированной информации, доступной для анализа;
- специалисты, интегрированные в бизнес-процессы сельского хозяйства, как правило, работают в регионах и не имеют оперативного доступа к научным центрам и компаниям, предоставляющим услуги аналитического исследования информации; в то же время, системы Data Mining [3] позволяют решать аналитические задачи непосредственно на местах;
- большое разнообразие программных средств бизнес-аналитики, от бесплатных до очень дорогих, различных по уровню сложности и функциональным возможностям, позволяет даже небольшому предприятию использовать системы Data Mining в процессе поддержки принятия решений.
Именно поэтому целью данной научной работы является разработка подходов к моделированию агротехнологических процессов на базе нейронных сетей (НС) как наиболее эффективной разновидности интеллектуальных моделей.
Постановка задачи
Приведем примеры аналитических задач по некоторым отраслям АПК:
- растениеводство - прогнозирование урожайности на основе данных агрохимического обследования земель и погодных условий, анализ и выявление факторов, влияющих на урожайность и качество продукции;
- животноводство - выявление факторов, влияющих на заболеваемость животных, диагностика заболеваний, прогнозирование цен на мясомолочную продукцию, оптимизация процесса заготовки, использования и хранения кормов;
- пчеловодство - прогнозирование качества и безопасности продуктов пчеловодства на основе данных об экологическом состоянии окружающей среды, выявление факторов, значительно влияющих на основные показатели качества меда;
- переработка и организация сбыта сельхозпродукции - прогнозирование цен на продукцию, оптимизация маркетинговой стратегии и ценообразования, работа с клиентами;
- техническое обеспечение - оптимизация процесса заказов запасных частей, диагностика неисправностей, закупки новой техники.
Формализуем постановку приведенных выше аналитических задач.
Пусть имеется набор из k наблюдений за состоянием исследуемого объекта или процесса, содержащий t признаков. Например, если таким набором является ведомость агрохимического обследования почв, то каждым наблюдением будет являться отдельное поле, а признаками - его агрохимические характеристики - кислотность, содержание макроэлементов (азота, калия, фосфора и т.д.), наблюдаемая урожайность и др. Тогда каждое наблюдение может быть представлено в виде t-элементного вектора признаков z.B соответствии с логикой решаемой задачи признаки, описывающие моделируемый объект или процесс, разделяются на две группы: входные (независимые) и выходные (зависимые), значение которых требуется предсказывать для новых наблюдений.
Вектор признаков z может быть разделен на два вектора: входных x=(xvx2,..xm) и выходных y=(y1,y2,.. ,y) признаков (t=m+n). Таким образом, каждое наблюдение z представляет собой обучающий пример, в котором для каждого входного воздействия x=(xpx2,..xj определено значение це-
левого вектора y=(y1,y2,...,y). Задача заключается в том, чтобы, последовательно предъявляя модели наблюдения z=x,, y, i=1..k, обучить ее на каждое входное воздействие х формировать отклик у., максимально близкий к фактическому у..
Предобработка данных
Для подготовки данных к анализу выполняется предобработка с целью исключения факторов, которые могут ухудшить точность построенных моделей. В процессе предобработки проводится поиск дубликатов, противоречий и аномальных значений. Поиск дубликатов и противоречий выполняется с помощью аналитического приложения Deductor Studio (http://www.basegroup.ru).
Наличие аномальных значений может выявляться на основе простого визуального анализа графиков соответствующих признаков.
Выбор значимых признаков
Если выходная переменная единственная, то перед построением модели можно выполнить оценку статистической связи между отдельными входными переменными и выходной переменной на основе вычисления коэффициента rxy парной корреляции Пирсона:
где х,у - среднеарифметические значения.
Целью данной процедуры является снижение размерности пространства входных признаков с целью сокращения числа переменных модели.
Параметры, для которых коэффициент корреляции с выходной переменной достаточно низкий, должны быть исключены из модели. Зададим порог коэффициента корреляции \r\=0,35. Это позволит исключить из рассмотрения параметры, слабо влияющие на выходные признаки.
Следует однако отметить, что коэффициент корреляции отражает меру линейной связи между величинами и его близость к 0 не означает, что связь между величинами отсутствует полностью.
Кроме корреляционного анализа, для отбора значимых признаков в ИАД широко используются и другие методы (главных компонент, совокупности доказательств и т.д.).
Разработка модели на основе нейронной сети
В ряде случаев достаточно высокая ошибка оценивания для линейной модели позволяет выдвинуть предположение, что характер зависимости y=f(x) является нелинейным. Действительно, линейная регрессия с коэффициентами, вычисляемыми на основе метода наименьших квадратов, имеет место только в том случае, если переменные модели являются случайными величинами, распределенными по нормальному закону с постоянной дисперсией. Если предположение о нормальности не выполняется, то линейная модель
будет допускать значительную ошибку. Нелинейное оценивание является гораздо более сложной и трудоемкой процедурой, требующей от аналитика профессионального владения математической статистикой [2, 4].
Альтернативной статистическому подходу к моделированию является использование эвристических методов, которые, хотя и не являются абсолютно точными и оптимальными, позволяют добиться хороших результатов в большинстве практически значимых случаев. Но самое главное, модели, строящиеся на основе эвристических методов, являются самообучающимися и способны восстанавливать зависимости между переменными почти в автоматическом режиме, что делает их более практически-ориентированными. Реализация процесса построения самообучающихся моделей в современных аналитических системах такова, что позволяет аналитику строить модели, даже обладая минимальными теоретическими знаниями в области математической статистики и машинного обучения.
В ходе исследований проводилось моделирование агротехнологических и экономических процессов в АПК с помощью искусственных нейронных сетей (НС). НС представляет собой реализуемую аппаратно или программно систему, состоящую из взаимодействующих друг с другом элементарных преобразователей, называемых нейронными. Каждый нейрон имеет несколько входов и единственный выход. Нейроны в такой сети соединены связями, каждая из которых обладает некоторым весом, на который умножается проходящее по данной связи значение. Каждый нейрон выполняет простую операцию - взвешенное суммирование своих входов с последующим преобразованием полученной суммы с помощью так называемой активационной функции, обычно нелинейной. Нелинейность нейронов делает нелинейной системой и всю нейронную сеть, что позволяет аппроксимировать с ее помощью сложные нелинейные зависимости. Функциональная схема нейрона с одним выходным параметром представлена на рисунке1.
Предполагается, что на вход нейрона поступают значения с выходов других нейронов сети, либо из внешней среды (в этом случае у нейрона будет единственный вход). На рисунке обозначено: Х] - значение, поступающее на } -й вход нейрона, ы/. - вес} -й входной связи, S - взвешенная сумма входных значений:
У=^Б) - выходное значение нейрона (входы и выход отдельного нейрона обозначаются заглавными латинскими буквами, чтобы отличить их от входных и выходных признаков модели).
Важнейшую роль в работе нейрона играет ак-тивационная функция (АФ) ЦБ). Именно она во многом определяет функциональность нейрона и нейронной сети в целом. Параллельная работа в НС большого числа нейронов позволяет ей
реализовывать практически сколь угодно сложные зависимости. Выполняемое всей НС преобразование данных, таким образом, определяется весами входных связей нейронов, а также видом и параметрами АФ.
Рис.1 - Структура нейрона
±- Увых Г) /1 / 1 / 1
1 1 1 1 1 1 1
Рис. 2 - Преобразование суммы входов нейрона с помощью АФ
На рисунке 2 поясняется преобразование с помощью АФ взвешенной суммы входов нейрона . Конкретное значение этой суммы Б' преобразуется в выходное значение нейрона Увых. На рисунке представлена так называемая логистическая функция, определяемая выражением у=1/ (1+е-аз), где параметр а определяет крутизну функции, е=2,72 - основание натурального логарифма (число Эйлера). Логистическая функция является непрерывной и дифференцируемой на всей числовой оси, что делает ее привлекательной в различных алгоритмах обучения НС.
Существует множество типов и конфигураций НС, предназначенных для решения различных задач обработки и преобразования данных (хранения, сжатия, фильтрации, восстановления искажений, кластеризации и т.д.). В них содержится различное количество нейронов, используются разные способы их соединения и виды активаци-онных функций, различные методы передачи данных внутри сети.
В современных аналитических технологиях для восстановления зависимостей из эмпирических данных при решении задач численного предсказания и классификации наибольшей популярностью пользуются так называемые плоскослоистые НС с последовательными связями (сети прямого распространения) с сигмоидальными АФ. В таких сетях данные передаются только в одном направлении - от входов к выходу (или выходам) системы. Граф типичной плоскослоистой нейронной сети представлен на рисунке 3.
Отличительной особенностью НС данного типа является то, что нейроны в них образуют группы, в которых все выходы нейронов одной группы подаются на все входы нейронов другой. Такие группы называют «слоями». Следовательно, слой - подмножество нейронов сети, имеющих один и тот же набор входов. Плоскослоистая архитектура является наиболее предпочтительной для широкого класса методов обучения НС. Не все слои НС выполняют в ней одинаковые функции. Можно вы-
Рис. 3 - Граф плоскослоистой НС с последовательными связями, содержащий 2 скрытых слоя
делить три типа слоев:
1. входной - принимает сигналы из «внешней среды», так называемый вектор входного воздействия, и распределяет его элементы по нейронам следующего слоя. Очевидно, что поскольку входные нейроны имеют единственный вход, то преобразование данных они не выполняют;
2. выходной слой - выводит результат преобразования входных данных НС во внешнюю среду (выходной вектор);
3. скрытый слой - слой, нейроны которого не имеют связей с внешней средой. Именно в них и производится обработка данных нейронной сетью. Скрытых слоев обычно бывает несколько, в зависимости от особенностей решаемой задачи.
Число нейронов во входном и выходном слоях жестко регламентировано. Во входном - оно равно размерности входного вектора (т.е. числу признаков исходного набора данных). В выходном - числу элементов выходного вектора. Число скрытых слоев и нейронов в них зависит от особенностей решаемой задачи - количества доступных для обучения примеров, сложности искомой зависимости, допустимых вычислительных затрат и т.д.
Процесс построения нейросетевой модели состоит из трех основных этапов:
1. определение конфигурации НС - определение числа скрытых слоев и нейронов в них, выбор вида активационной функции и ее параметров;
2. обучение НС: настройка весов нейронов таким образом, чтобы сеть могла реализовывать требуемое преобразование;
3. оценка результатов обучения НС - проверка работоспособности построенной модели и оценка возможностей ее практического применения.
Обучение нейронной сети. Процесс обучения
НС заключается в автоматической итеративной подстройке весов нейронов. Целью процесса обучения является настройка весов таким образом, чтобы сеть выполняла желаемое преобразование входных данных. На каждой итерации на вход сети подается набор значений входных переменных (вектор признаков) х=(х1,х2,..хт), а также заранее известный вектор выходных признаков У=(У1,У2,.,У). Тогда, реагируя на входное воздействие х, сеть рассчитывает оценку выходного значения у , зависящую от текущего состояния нейронов. В результате вычисляется выходная ошибка сети е = у-у> модуль которой показывает, насколько текущее состояние сети далеко от желаемого. Выходную ошибку Е можно использовать для вычисления корректировки весов нейронов так, чтобы на следующей итерации ошибка уменьшилась. Процесс обучения продолжатся до тех пор, пока ошибка не станет достаточно малой. Правило, по которому производится корректировка весов на каждой итерации, называется алгоритмом обучения. Схема процесса обучения НС приведена на рисунке 4.
Перед началом процесса обучения происходит инициализация НС - присвоение связям нейронов начальных весов, обычно небольших случайных значений. На вход подается первый обучающий пример х и соответствующий ему целевой вектор у. НС вычисляет выходное значение у в соответствии с текущим состоянием своих весов и^- номер итерации обучения). На основании известного целевого значения у. и оценки у вычисляется выходная ошибка Е( и по ней, в соответствии с правилом д(Е), вычисляется величина коррекции весов сети Aw, и происходит коррекция весов
1=№+ Aw. Затем начинается следующая итерация t+1: на вход сети подается новый пример,
рассчитывается отклик сети для состояния wt+1 и процедура повторяется.
Примеры обычно выбираются из обучающей выборки в случайном порядке. Процесс обучения продолжается до тех пор, пока ошибка на некоторой итерации не достигнет достаточно малого значения, определенного пользователем, либо не будет выполнено заданное число итераций.
Моделирование урожайности на основе данных агрохимического обследования почв с помощью нейронной сети
Важнейшими показателями, используемыми для прогнозирования урожайности и планирования севооборотов, являются агрохимические свойства почвы. К ним относятся кислотность почв, содержание в них макроэлементов - азота, калия и фосфора. Количество этих элементов в почве, измеряемое обычно в мг/100 г. почвы, во многом определяет урожайность зерновых культур. Поэтому, зная зависимость урожайности от агрохимических параметров, можно прогнозировать ее для различных земельных участков, принимать решения о целесообразности их включения в севооборот, оптимизировать агрохимические мероприятия (внесение удобрений, известкование, применение средств защиты растений).
Зависимость между агрохимическими параметрами и урожайностью носит сложный нелинейный характер. Это вызвано совместным влиянием данных параметров, а также наличием других факторов, влияющих на урожайность (влажности почвы, количества солнечной радиации и т.д.). Поэтому для восстановления зависимости между агрохимическими параметрами и урожайностью по данным агрохимического обследования почв удобно использовать нейросетевую модель.
На основе данных агрохимического обследования 56 полей была сформирована обучающая выборка, содержащая следующие признаки: кислотность (рН), содержание азота, калия и фосфора (в мг/10о г), процент пашни с уклоном к югу и средний угол уклона, а также фактическая уро-
жайность, наблюдаемая для каждого поля. Корреляционный анализ показал, что значимо влияют на урожайность только кислотность, содержание азота, калия и фосфора. Поэтому уклон к югу и его средний угол были исключены из числа показателей, используемых для построения модели урожайности.
В качестве нейросетевой архитектуры модели была выбрана плоскослоистая НС следующей конфигурации: число входных нейронов равно числу входных параметров модели (кислотность, азот, калий, фосфор), а выходных - одному (средняя урожайность, ц/га). Число скрытых нейронов выбиралось исходя из правила, что общее количество связей НС должно быть в 2-3 раза меньше числа примеров обучающего множества. Поэтому была выбрана сеть с одним скрытым слоем, содержащим 5 нейронов (что обеспечивает 25 связей) и логистической АФ. Конфигурация полученной НС представлена на рисунке 5.
Обучение НС производилось по алгоритму обратного распространения ошибки с использованием 10000 итераций. Среднеквадратическая ошибка оценивания между фактическими и предсказанными значениями урожайности составила 0,25 ц/га, что обеспечило выигрыш в точности по сравнению с линейной моделью более чем в 5 раз (1,3 ц/га). Диаграммы рассеяния нейросетевой (рисунок 6, а) и линейной (рисунок 6, б) моделей наглядно демонстрируют преимущество нейросе-тевой модели, для которой разброс оценок относительно линии идеальных значений минимален.
Применение построенной нейросетевой модели позволило повысить среднюю урожайность на 15,5% и сократить затраты на внесение удобрений и известкование почв на 25,7%.
Заключение
Высокая степень автоматизации построения нейросетевых моделей делает их перспективным инструментом анализа данных с целью поддержки принятия решений на всех уровнях и, особенно, для специалистов, непосредственно интегрированных в экономические и бизнес-процессы.
Рис. 4 - Схема процесса обучения НС
Граф нейросети
Нейросеть [4x5x1]
НИП
Кислотность, рп
Азсгг, мгЛООг
Калий, мгЛООг
Фосфор, мгЛООг
Урожайность
•7,5393412466374
•0.39Б370351534004
Рис. 5 - Конфигурация НС для моделирования урожайности
Рис. 6 - Диаграммы рассеяния моделей урожайности: а) нейростевой, б) линейной регрессии
Предложенная методика применения НС в задачах АПК реализована в виде сценариев на базе аналитической платформы Deductor. При этом созданы и апробированы модели урожайности различных зерновых культур и реализации продукции на сельскохозяйственном предприятии. Сравнительный анализ теоретических результатов с фактически наблюдаемыми подтвердил адекватность и значимость разработанных моделей.
Библиографический список 1. Васильев Е.П., Орешков В.И. Моделирование урожайности зерновых с использованием метода совокупности доказательств в рамках концепции точного земледелия. Современные проблемы науки и образования. - 2012. - № 5; URL: http://www.science-education.ru/105-6972 (дата обращения: 10.09.2012).
2. Вапник В.Н. Восстановление зависимостей по эмпирическим данным/В.Н.Вапник - М.: Наука, 1979. - 448 с.
3. Паклин Н.Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям (+CD). Учебное пособие. Изд. 2-е, исправленное. - СПб.: Питер, 2013. - 701 с.
4. Чураков Е.П. Математические методы обработки экспериментальных данных в экономике/ Е.П. Чураков - М.: Финансы и статистика, 2004. -240 с.
5. Vercellis, C. Business Intelligence: Data Mining and Optimization for Decision Making / Vercellis, C. -John Wiley & Sons Ltd, 2009. - p. 436.
6. Vapnik, V. Estimation of Dependences Based on Empirical Data / Vapnik V.N. - 2nd. ed. Springer Science+Business Media, Inc. 2006. - p. 528.