velikol.ru
1

Задача классификации в системе прогнозирования остаточных деформаций


Федюнин Алексей Петрович (г. Иркутск, ИрГТУ)


В статье рассматривается решение задачи классификации в системе прогнозирования остаточных деформаций после фрезерования. Система разрабатывается с использованием методов нечеткой логики. Проведен обзор методов классификации. Возможность их использования для решения поставленной задачи. Обозначены проблемы затрудняющие использование большинства методов классификации. Рассмотрен метод классификации объектов на основе нечеткого логического вывода. Приведен пример использования данного метода в системе Matlab.


В настоящее время существует проблема коробления длинномерных тонкостенных панелей, связанная с удалением значительного объема материала заготовки при фрезеровании [1]. Примером является изготовление сложных авиационных деталей. В результате в поверхностном слое обработанной детали возникают значительные по величине остаточные напряжения (ОН), которые со временем вызывают пространственное изменение формы детали. Для определения остаточных напряжений и соответственно суммарной остаточной деформации разрабатывается математическая модель. В связи со сложностями, возникающими при построении математической модели, описывающей зависимость параметров обработки металла, целесообразно применить нечеткие экспертные системы (НЭС). НЭС можно использовать как средство для установления зависимости между параметрами, которые не поддаются четкому описанию. Например, с помощью НЭС можно описать такие нечеткие параметры как: «несколько», «молодой», «возможно». В данной задаче имеется ряд таких параметров. Для решения данной проблемы разрабатывается система прогнозирования суммарной остаточной деформации (СОД) с использованием методов нечеткой логики [2]. Задача решается с использованием программной системы Matlab, в частности её расширения для работы с нечеткой логикой – пакета Fuzzy Logic Toolbox.

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

Задача классификации — формализованная задача, в которой имеется множество объектов (ситуаций), разделённых некоторым образом на классы. Задано конечное множество объектов, для которых известно, к каким классам они относятся. Это множество называется выборкой. Классовая принадлежность остальных объектов не известна. Требуется построить алгоритм, способный классифицировать произвольный объект из множества объектов, в том числе и с неизвестной принадлежностью к классу [3].

Классифицировать объект — значит указать номер (или наименование) класса, к которому относится данный объект. Классификация объекта — номер или наименование класса, выдаваемый алгоритмом классификации.

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

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

Одним из множества этапов по определению СОД является определение типа ОН, возникающих в детали при заданных условиях обработки. Выделим главные типы ОН, оказывающих влияние на СОД. В результате деформаций в верхних слоях образуются остаточные напряжения сжатия (ОНС), а в результате тепла – остаточные напряжения растяжения (ОНР). В результате исследований установлено, что при ОНС предел выносливости деталей повышается, а при ОНР – снижается. В зависимости от условий резания преобладают те или другие остаточные напряжения. Условия резания зависят от двух факторов: геометрия инструмента (ГИ) и режим резания (РР). Факторы же в свою очередь состоят из группы характерных для них параметров. Данный этап схематически показан на рисунке 1.





^ Рисунок 1 Этап по определению ОН


Здесь a1, a2 – некоторые функции влияния факторов, a3 – функция, определяющая влияние ОН на ОНС или ОНР.

Применением рациональных условий резания можно оказывать влияние на физико-механические свойства поверхностного слоя обрабатываемой детали. Так, при обработке пластичных металлов, воспринимающих закалку, с увеличением скорости резания ОНР уменьшаются и могут менять знак. При уменьшении положительного и увеличении отрицательного переднего угла инструмента при точении пластичных металлов снижаются ОНР, а при точении малопластичных металлов возникающие ОНС возрастают.

Итак, имеется два класса – ОНС и ОНР. На основе параметров факторов нам предстоит отнести результат к соответствующему классу. Это и есть задача классификации. Исходя из исходных данных, накладываются ограничения на выбор метода классификации для решения поставленной задачи. Параметры факторов имеют достаточно широкий диапазон принимаемых значений. Нет четких правил, описывающих зависимость определенного типа ОН от параметров факторов. Также имеется возможность использования экспериментальных данных, описывающих зависимость ОН от параметров факторов. Но количество этих данных очень мало. Был произведен обзор на предмет использования для решения поставленной задачи одним из следующих методов классификации: деревья решений, методы опорных векторов и "ближайшего соседа", а также байесовская классификация. Однако, в связи с ограничениями, перечисленные выше, а также с преобладанием нечетких значений, перечисленные методы были исключены, а вместо них были исследованы методы классификации на основе нейронных сетей и классификация объектов на основе нечеткого логического вывода.

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

Нейронные сети (^ Neural Networks) - это модели биологических нейронных сетей мозга, в которых нейроны имитируются относительно простыми, часто однотипными, элементами (искусственными нейронами). Нейронная сеть может быть представлена направленным графом с взвешенными связями, в котором искусственные нейроны являются вершинами, а синоптические связи - дугами. Модели нейронных сетей могут быть реализованы программно или аппаратно. Нейронные сети широко используются для решения разнообразных задач. Задачи, решаемые с помощью нейронных сетей [4]:

  • Классификация (обучение с учителем);

  • Прогнозирование. Для нейронной сети задача прогнозирования может быть поставлена таким образом: найти наилучшее приближение функции, заданной конечным набором входных значений (обучающих примеров);

  • Кластеризация (обучение без учителя). Примером задачи кластеризации может быть задача сжатия информации путем уменьшения размерности данных.

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

К сожалению, применение нейронных сетей в практических задачах возникает ряд проблем. Заранее не известно какой сложности (размера) может потребоваться сеть для достаточно точной реализации отображения. Эта сложность может оказаться чрезмерно высокой, что потребует сложной архитектуры сетей. Это ограничение преодолимо при использовании многослойных нейронных сетей.

Для построения системы классификации необходимо определить параметры, влияющие на принятие решения о том, к какому классу принадлежит образец. При этом могут возникнуть две проблемы. Во-первых, если количество параметров мало, то может возникнуть ситуация, при которой один и тот же набор исходных данных соответствует примерам, находящимся в разных классах. Тогда невозможно обучить нейронную сеть, и система не будет корректно работать (невозможно найти минимум, который соответствует такому набору исходных данных). Во-вторых, исходные данные обязательно должны быть непротиворечивы. Для решения этой проблемы необходимо увеличить размерность пространства признаков (количество компонент входного вектора, соответствующих образцу). Но при увеличении размерности пространства признаков может возникнуть ситуация, когда число примеров может стать недостаточным для обучения сети, и она вместо обобщения просто запомнит примеры из обучающей выборки и не сможет корректно функционировать. Таким образом, необходимо найти компромисс по установлению количества признаков.

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

Рассмотрим метод классификации объектов на основе нечеткого логического вывода.

Как было сказано выше, этап определения ОН изначально был спроектирован как система нечеткого логического вывода. Исследуем возможность использования этой системы нечеткого логического вывода для решения задачи классификации.

Нечеткий логический вывод применяется при моделировании объектов с непрерывным и с дискретным выходами. Объекты с непрерывным выходом (рисунок 2)



^ Рисунок 2 Объекты с непрерывным выходом


соответствуют задачам аппроксимации гладких функций, возникающим в прогнозировании, многокритериальном анализе, управлении техническими объектами и т. п. Объекты с дискретным выходом (рисунок 3) соответствуют задачам классификации в медицинской и технической диагностике, в распознавании образов, в ситуационном управлении и при принятии решений в других областях.



^ Рисунок 3 Объекты с дискретным выходом


В связи с этим были проведены исследования на возможность получения выходного значения дискретного типа. В работе [6] предложен подход, расширяющий возможности Fuzzy Logic Toolbox для выполнения нечеткого логического вывода при наличии объектов с дискретным выходом. В качестве нечеткого классификатора будем использовать систему нечеткого логического вывода типа Сугено. Классам решений {d1,d2,…,dm} поставим в соответствие термы выходной переменной; наименование класса решений зададим как элемент терм множества выходной переменной. Параметры заключений правил (параметры «функций принадлежности» выходной переменной) могут быть произвольными, так к. они не влияют на результат классификации.

Для выполнения нечеткой классификации в [6] предлагается функция fuz_classifer:

decision = fuz_classifer(x, fis, type),

где x — вектор информативных признаков объекта классификации; fis — система нечеткого логического вывода; type — тип возвращаемого функцией результата: number — порядковый номер класса; name — наименование класса; decision — результат классификации для объекта x, то есть номер или имя класса.

Функция fuz_classifer использует функцию evalfis (стандартная функция пакета ^ Fuzzy Logic Toolbox) для получения промежуточных результатов нечеткого логического вывода. Затем находятся правила которые в наилучшей степени соответствуют входным значениям. Если таких правил несколько, то подсчитывается их количество для каждого класса решений. После этого выбирается решение, имеющее наибольшее количество правил с максимальной степенью выполнения.

Создадим систему нечеткого вывода типа «Сугено» с помощью редактора fuzzy системы Matlab. Система будет иметь четыре входных и одну выходную переменных. Входные переменные могут принимают следующие диапазоны значений:

  • скорость резания – speedOfCutting: от 100 до 5000 об/мин;

  • скорость подачи – speedOfFeeding: от 0,1 до 3 мм/мин;

  • главный передний угол – mainFrontAngle: от 15 до 75 градусов;

  • угол наклона – angle: от 0 до 30 градусов.

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

  1. если скорость резания высокая, то ОНС;

  2. если главный передний угол высокий и угол наклона низкий, то класс ОНС;

  3. если скорость резания низкая, то ОНР;

  4. если главный передний угол низкий и угол наклона высокий, то класс ОНР.

Данные правила построены на основе словесного описания зависимостей появления ОН в результате воздействия факторов резания и геометрии инструмента. Это и является одним из плюсов данного подхода. Для разрабатываемой системы это очень важная особенность. Так как на данном этапе разработки системы прогнозирования СОД, преобладают словесные описания зависимостей. Также не накоплено ещё достаточное количество экспериментальных данных.

В итоге получили систему нечеткого вывода (рисунок 4).

Далее создаем файл с именем fuz_classifer.m и сохраняем в нем программу для выполнения классификации с помощью нечетких моделей, предложенную в [6]:

function decision=fuz_classifer(x, fis, type)

% НЕЧЕТКИЙ ЛОГИЧЕСКИЙ ВЫВОД ДЛЯ ОБЪЕКТОВ

% С ДИСКРЕТНЫМ ВЫХОДОМ

[a,b,c,d]=evalfis(x,fis); % нечеткий вывод

% Поиск правил с максимальной степенью

% выполнения:

rule_num_max_fulfilment=find(d==max(d));

% Определение количества таких правил:

number_rules=length(rule_num_max_fulfilment);

% Если таких правил несколько, то выбираем

% решение, имеющее наибольшее количество правил

% с максимальной степенью выполнения:

counter( 1:length(fis.output(1).mf) )=0;

for i=1:number_rules

index=fis.rule(rule_num_max_fulfilment(i)).consequent;

counter(index)=counter(index)+1;

end

[tmp1 tmp2]=max(counter);

number_of_the_class=tmp2(1);

% Возращение результата классификации

% в требуемом формате:

switch type

case ‘number’, decision=number_of_the_class;

case ‘name’, decision=fis.output.mf(number_of_the_class).name;

otherwise, error(‘Недопустимое значение третьего аргумента’)

end




^ Рисунок 4 Система нечеткого вывода для классификации объектов по заданным признакам


Теперь можем проверить, как работает классификатор, используя следующие команды:

^ Fis = readfis('ctor.fis');

x = [3 31 76 10];

out = fuz_classifer(x,fis, 'number');


Здесь 'ctor.fis' - имя созданной нами системы нечеткого логического вывода,

x – вектор информативных признаков объекта классификации. В переменную out будет записан результат.

Нечеткую систему классификации можно улучшить, настраивая веса правил и параметры функций принадлежностей. Для этого необходимо иметь достоверный тестовый набор данных. Очевидно, что качество классификации объектов на основе нечетких правил зависит как от качества описания объектов, так и от качества самой системы нечетких правил [7].

Задавая различные значения для вектора x, можно проследить, как происходит классификация.

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


Литература


  1. Кувшинский В.В. «Фрезерование». – М.: Машиностроение, 1977.

  2. Федюнин А.П. «Прогнозирование остаточных деформаций после обработки метала на основе методов нечеткой логики». Труды XIII Байкальской Всероссийской конференции «Информационные и математические технологии в науке и управлении». Часть II. – Иркутск.: ИСЭМ СО РАН, 2008.

  3. Журавлев Ю.И., Рязанов В.В., Сенько О.В. «Распознавание. Математические методы. Программная система. Практические применения». — М.: Фазис, 2006.

  4. Вятченин Д.А. «Нечеткие методы автоматической классификации». М.: Технопринт, 2004..

  5. Роберт Каллан «Основные концепции нейронных сетей». – М.: Вильямс, 2001.

  6. Штовба С.Д. «Классификация объектов на основе нечеткого логического вывода». Журнал «Exponenta Pro – Математика в приложениях». №1 (5) – М.: Softline, 2004.

  7. Рыжов А.П. «О качестве классификации объектов на основе нечетких правил». Журнал «Интеллектуальные системы», Том 9, выпуск 1-4. – М.: МГУ, АТНР, РАЕН, РАН, 2005.