WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 15 | 16 || 18 | 19 |   ...   | 22 |

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

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

1. Добиться оптимального распределения образцов по классам.

2. Определить дисперсии отклонения значений параметров всех образцов от их математического ожидания.

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

4. Постепенно исключая из рассмотрения менее значимые параметры, провести повторную классификацию образцов.

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

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

Инженерный вариант алгоритма приведен ниже.

{Программа автоматической классификации объектов} Uses crt;

var x:array[1..20,1..30] of real;

z,zopt,zopt1:array[1..10,1..30] of real;

d,dopt:array[1..30] of real;

dd:array[1..20,1..10] of real;

ck,nkl:array[1..10] of integer;

duu,optduu:array[1..20] of integer;

dz:array[1..10] of real;

i,j,j1,n,m,m1,nk,ic,cck,ixsr,ii,ira,nkopt,iraopt,za: integer;

xx,xmax,xsr,du,dzz,ddzz,k,optk:real;

Procedure vvod_n;

{Процедура ввода числа объектов} begin GotoXY(2,2);TextColor(10);

Write('Введите число исследуемых объектов (не более 20):n= ');

ReadLn(n);

GotoXY(2,2);

WriteLn(' ');

GotoXY(42,2);

WriteLn('Число исследуемых объектов n=',n);

end;

Procedure vvod_m;

{Процедура ввода значений свойств объектов} begin GotoXY(2,3);TextColor(14);

Write('Введите число признаков объектов (не более 30):m= ');

ReadLn(m);

GotoXY(2,3);

WriteLn(' ');

GotoXY(42,3);

WriteLn('Число признаков объектов m=',m);

end;

Procedure izob_mat;

{Изображение матрицы параметров объектов} begin for i:=1 to n do begin for j:=1 to m do begin GoToXY(2+j*2,3+i);

TextColor(4);

WriteLn('*');

end;end;

i:=0;

while i

GotoXY(2,2);TextColor(7);

WriteLn('Образец N ',i);

while j<(m+1) do begin GotoXY(2,3);TextColor(7);

Write('Признак N ',j,': ');

GoToXY(2+j*2,3+i);

TextColor(14);WriteLn('*');

GotoXY(15,3);

ReadLn(x[i,j]);

GoToXY(2+j*2,3+i);TextColor(10);

WriteLn('*');GotoXY(2,3);

WriteLn(' ');

j:=j+1;

end;

end;

end;

Procedure razn;

{Разнесение объектов по классам} begin for ic:=1 to nk do begin nkl[ic]:=0;end;

for i:=1 to n do begin for ic:=1 to nk do begin if ic=1 then begin du:=dd[i,ic];duu[i]:=ic;

end;

if dd[i,ic]<=du then begin du:=dd[i,ic];duu[i]:=ic;

nkl[ic]:=nkl[ic]+1;end;

end;

end;

for ic:=1 to nk do begin nkl[ic]:=0;end;

for ic:=1 to nk do begin for i:=1 to n do begin if duu[i]=ic then nkl[ic]:=nkl[ic]+1;

end;

end;

end;

Procedure raz_lok;

begin {Определение мер близости объектов к центрам классов} for ic:=1 to nk do begin for i:=1 to n do begin dd[i,ic]:=0;

end;end;

for ic:=1 to nk do begin for i:=1 to n do begin for j:=1 to m do begin dd[i,ic]:=dd[i,ic]+((x[i,j]-z[ic,j])*(x[i,j]-z[ic,j]));

end;

end;

end;

razn;

{Локализация центров классов} for ic:=1 to nk do begin for j:=1 to m do begin z[ic,j]:=0;

end;

end;

for ic:=1 to nk do begin for i:=1 to n do begin if duu[i]=ic then begin for j:=1 to m do begin z[ic,j]:=z[ic,j]+x[i,j]/nkl[ic];

end;end;

end;

end;

end;

Procedure priv;

{Определение максимальных значений и приведение признаков к безразмерному виду, определение дисперсий признаков} begin for j:=1 to m do begin d[j]:=0;xsr:=0;

for i:=1 to n do begin if i=1 then xmax:=x[i,j];

if x[i,j]>xmax then xmax:=x[i,j];

end;

for i:=1 to n do begin x[i,j]:=x[i,j]/xmax;

xsr:=xsr+x[i,j];

end;

xsr:=xsr/n;

for i:=1 to n do begin d[j]:=d[j]+(x[i,j]-xsr)*(x[i,j]-xsr);

end;

end;

end;

Procedure class;

{Назначение числа классов} begin Randomize;

nk:=(Random(n) div 2);

if nk<2 then nk:=2;

{Назначение центров классов} for ic:=1 to nk do begin Randomize;

ck[ic]:=1+Random(n-1);

cck:=ck[ic];

for j:=1 to m do begin z[ic,j]:=x[cck,j];

end;

end;

end;

Procedure optim_class;

begin nkopt:=nk;

optk:=k;

iraopt:=ira;

for ic:=1 to nk do begin for i:=1 to n do begin {Принадлежность объектов к классам} optduu[i]:=duu[i];

for j:=1 to m do begin zopt[ic,j]:=z[ic,j];

end;end;

end;end;

Procedure ch_kr;

{Определение среднего расстояния между объектами класса и его центром} begin for ic:=1 to nk do begin dz[ic]:=0;end;

dzz:=0;ddzz:=0;

for ic:=1 to nk do begin for i:=1 to n do begin if duu[i]=ic then begin for j:=1 to m do begin dz[ic]:=dz[ic]+(z[ic,j]-x[i,j])*(z[ic,j]-x[i,j])/nkl[ic];

end;end;

end;

dzz:=dzz+dz[ic]/nk;

end;

{Определение среднего расстояния между всеми центрами классов} for ic:=1 to nk-1 do begin for j:=1 to m do begin ddzz:=ddzz+(z[ic,j]-z[ic+1,j])*(z[ic,j]-z[ic+1,j]);

end;end;

ddzz:=ddzz/nk/(nk-1)*2;

Delay(300);

{Расчет интегрального критерия качества классификации} k:=(ddzz-dzz)/(ddzz+dzz);

end;

begin clrscr;

{Ввод значений признаков объектов, i-номер объекта,j-номер признака, n-число объектов,m-число признаков} vvod_n;

vvod_m;

izob_mat;

priv;

for ira:=1 to 10 do begin class;

{Изображение результатов классификации} for ii:=1 to 3 do begin raz_lok;

for i:=1 to n do begin TextColor(duu[i]);

WriteLn('*');

end;

end;

ch_kr;

{Фиксация лучшего результата} if ira=1 then optim_class;

if (ira>1) and (k>optk) then optim_class;

for ic:=1 to nk do begin for j:=1 to m do begin z[ic,j]:=0;

end;end;

end;

{Выдача данных оптимальной клаccификации} TextColor(14);

GoToXY(20,21);

WriteLn('Оптимум критерия качества К= ',optk:6:5);

Delay(1300);

TextColor(15);

GoToXY(20,22);

WriteLn('Оптимальное число классов N= ',nkopt);Delay(1300);

GoToXY(20,23);

WriteLn('Оптимальный цикл = ',iraopt);Delay(1300);

{Принадлежность объектов к классам} for i:=1 to n do begin GoToXY(60,3+i);

TextColor(optduu[i]);

WriteLn('*');

end;

Delay(2500);

end.

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

В примере использован критерий качества классификации в форме 0,К= ( )2 i / i -1 ;

( i max ) а частными взяты рассмотренные выше критерии:

К1min, К2 max, Nmin.

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

Программа обеспечивает ввод и корректировку данных (рис. 12.1–12.3).

Рис. 12.1 Число объектов классификации Рис. 12.2 Число исследуемых признаков объектов Рис. 12.3 Значения признаков объектов Программа обеспечивает визуализацию представления исходного множества по совокупности определяющих параметров в трех проекциях, соответствующих декартовой системе координат.

При этом имеется возможность реализации классификации в двух режимах:

– задание числа классов и их центров непосредственно пользователем с помощью клавиш управления исходя из расположения образцов в их исходном множестве;

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

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

Задание условий классификации по первому варианту показано на рис. 12.4.

а) б) Рис. 12.4 Пользовательский вариант задания центров классов Задание второго варианта показано на рис. 12.Рис. 12.5 Автоматическое задание центров классов Текущие результаты разнесения объектов по классам с обозначением лучших вариантов отражаются на экране. Это показано на рис. 12.6.

Рис. 12.6 Результат оптимизации Программа обеспечивает просмотр значений свойств, соответствующих центрам полученных классов объектов (рис. 12.7).

Рис. 12.7 Результат классификации Проведено 1000 циклов решения, в каждом из которых осуществлены четыре локализации центров классов. Число классов в циклах варьировалось случайным образом в интервале 2–5.

СПИСОК ЛИТЕРАТУРЫ 1. Тн, Дж. Принципы распознавания образов / Дж. Тн, Р. Гонсалес. – М. :

Мир, 1978. – 320 с.

2. Горелик, А. Л. Методы распознавания / А. Л. Горелик, В. А. Скрипкин. – М. : Высшая школа, 1989. – 232 с.

3. Парницкий, Г. Основы статистической информатики / Г. Парницкий. – М. : Финансы и статистика, 1981. – 199 с.

4. Растригин, Л. А. Методы коллективного распознавания / Л. А. Растригин, Р. Х. Эренштейн. – М. : Энергоиздат, 1981. – 80 с.

5. Розин, Б. Б. Конструирование экономико-статистических моделей с заданными свойствами / Б. Б. Розин, М. А. Ягольницер. – Новосибирск :

Наука, 1981. – 176 с.

6. Загоруйко, Н. Г. Методы распознавания и их применение / Н. Г. Загоруйко. – М. : Советское радио, 1972. – 208 с.

7. Лбов, Г. С. Методы обработки разнотипных экспериментальных данных / Г. С. Лбов. – Новосибирск : Наука, 1981. – 160 с.

Раздел V ТРАНСФОРМИРУЮЩИЕ МОДЕЛИ Тема ХАРАКТЕРИСТИКА ПРОЦЕССА ТРАНСФОРМАЦИИ. ПОСТРОЕНИЕ ЧИСЛЕННЫХ МОДЕЛЕЙ Символьные и численные преобразования. Ограничивающие факторы. Ошибки численного преобразования моделей.

Практические рекомендации по организации вычислений.

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

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

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

x2dx 3 - aa (x2 – 3x – 4) / (x – 4) + 2x – 53x – 4;

a v b a + b – ab.

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

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

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

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

– ограничения форм общения пользователя с ЭВМ;

– ограничения языков программирования;

– ограничения технических возможностей ЭВМ;

– ограничения, связанные с процедурными моделями трансформации;

– другие ограничения.

Ограничения форм общения пользователя с ЭВМ Данный тип ограничений связан с «интерфейсными» возможностями ЭВМ.

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

Самый высокий уровень общения характеризуется тем, что машина обладает «слухом» и/или «зрением». Дальнейшая обработка модели проводится ей самостоятельно.

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

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

Например, выражение y = x4 + 2x3 + 3x2 + 4x + 5 может быть записано для большинства языков высокого уровня в нескольких формах:

Y: = X**4 + 2 * X ** 3 + 3*X**2 + 4*x + 5;

Y: = (((X + 2)* X + 3)*X + 4)*X + 5.

Pages:     | 1 |   ...   | 15 | 16 || 18 | 19 |   ...   | 22 |






















© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.