А.П. Карпенко, П.И. Сотников
54
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 2
алгоритмов в качестве решения задачи используем значения варьируемых пара-
метров
(
)
* * *
, ,
,
i j l
соответствующие лучшей особи (имеющей наибольшее значе-
ние функции приспособленности
*
).
ϕ
Из последнего поколения генетического
алгоритма выбираем
k
лучших шейплетов.
Для того чтобы повысить вероятность локализации глобального решения,
используем метод мультистарта
[8].
Новая оценка качества разделения классов.
В исходном варианте метода
шейплетов качество кандидатов оценивают с помощью информационного до-
хода. Позже в ряде публикаций для этой цели было предложено использовать
статистические критерии, позволяющие судить о степени разделения классов:
критерий Фишера, критерий Краскела — Уоллиса (
англ.
Kruskal — Wallistest
),
медианный критерий и др. [9].
Мы предлагаем в качестве меры
( )
ϕ
S
качества разделения классов исполь-
зовать точность классификации, достижимую на векторах расстояний от кан-
дидата до объектов исходного набора данных. Точность классификации предла-
гаем оценивать с помощью простого классификатора на основе метода
k
бли-
жайших соседей. Для сокращения объема вычислений используем модифика-
цию этого метода, в которой решение о принадлежности объекта классу при-
нимается после вычисления расстояний от этого объекта до центров классов
C
(вместо расчета расстояний до всех соседей).
Схема предлагаемого алгоритма для определения качества разделения клас-
сов имеет следующий вид.
1. Формируем множество
( )
(
)
{
}
1
Ψ
,
,
P
i
i i
D k
=
=
S
S X
.
2. Разбиваем множество
( )
Ψ
S
на пять групп одинакового размера для ор-
ганизации перекрестной проверки (
англ.
cross-validation
) качества разделения.
3. На раундах (
англ.
folds
) перекрестной проверки четыре группы использу-
ем для обучения классификатора, а одну группу — для его тестирования.
4. По результатам пяти раундов вычисляем среднюю точность классифика-
ции, которую и принимаем в качестве значения функции
( )
ϕ
S
для данного
кандидата.
Введение процедуры кросс-проверки необходимо для получения несме-
щенной оценки точности разделения классов.
Программная реализация и вычислительный эксперимент.
Программная
реализация.
Программная реализация метода шейплетов выполнена в среде
графического программирования NILabVIEW 2012. Особенностью среды раз-
работки является то, что функции и операторы в ней представляют в виде вир-
туальных приборов (инструментов), а программный код — в виде блок-
диаграммы, на которой отображаются связи между виртуальными приборами.
При реализации вычислительных алгоритмов использованы следующие
библиотечные функции: