Автор работы: Пользователь скрыл имя, 17 Января 2012 в 17:18, курсовая работа
В данном курсовом проекте рассмотрены общие методы кластеризации и подробно рассмотрен и реализован алгоритм кластеризации FOREL.
ВВЕДЕНИЕ……………………………………………………………….4
1 ПРЕДМЕТ КЛАСТЕРНОГО АНАЛИЗА…………………………..…5
2 ПРИМЕНЕНИЕ КЛАСТЕРНОГО АНАЛИЗА…………………….…9
3 МЕТОДЫ КЛАСТЕРНОГО АНАЛИЗА…………….…………….…16
4 АЛГОРИТМ FOREL……………………………………………….…..18
4.1 Принцип работы алгоритма FOREL……………………...…19
4.2 Процедура, реализующая алгоритм FOREL………………..25
ЗАКЛЮЧЕНИЕ………………………………………………….……....28
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ……………………….29
где:
Сумма таких внутренних расстояний для всех таксонов равна:
Целью работы алгоритма FOREL является найти такое разбиение множества объектов на таксонов, чтобы величина была минимальной.
Работа
алгоритма заключается в
Пример работы алгоритма.
Допустим,
было дано некоторое множество
Шаг 1. Построить гиперсферу радиуса охватывающую все множество точек:
Шаг 2. Установить радиус гиперсферы и перенести центр сферы в любую из внутренних точек (расстояние до которых меньше радиуса):
Шаг 3. Вычислить новый центр тяжести и перенести в него центр сферы:
Шаг 4. Если новый центр тяжести отличается от предыдущего необходимо вернуться к шагу 2 и повторить цикл. Цикл будет повторяться до тех пор пока центр тяжести не перестанет смещаться. Таким образом, центр сферы перемещается в область локального сгущения точек. В предложенном примере центр сферы , поэтому: необходимо установить новый радиус сферы и перенести центр сферы в произвольную внутреннюю точку:
Шаг 5. Вычислить новый центр тяжести и перенести в него центр сферы. Новый центр тяжести , поэтому внутренние точки текущей сферы объединяются в таксон:
Шаг 6. Точки принадлежащие новому таксону исключаются из анализа и работа алгоритма повторяется с шага №1. И так до тех пор пока все точки не будут исключены из анализа:
Процедура алгоритма Форель является сходящейся за конечное число шагов в евклидовом пространстве любой размерности при произвольном расположении точек и любом выборе гиперсферы.
Если начальную точку, в которую переносится центр сферы, на шаге №2 менять случайным образом, может получиться несколько вариантов таксономии, из которых выбирается тот, на котором достигается .
Алгоритм FOREL-2 является модификацией исходного алгоритма и применяется в тех случаях, когда необходимо получить изначально заданное количество кластеров (таксонов). Радиус сферы по мере надобности может изменяться на заданную величину, которая от итерации к итерации будет уменьшаться.
Наилучшему варианту таксономии отвечает при числе таксонов равном заданному.
После работы алгоритма над готовой кластеризацией можно производить некоторые действия:
4.2 Процедура, реализующая алгоритм FOREL
procedure TForm1.Button4Click(Sender: TObject);
var i,j,d,n,m,f,l: integer;
r: array of array of real;
s,e,min, max: real;
tk,p: array [1..10] of real;
begin
n:= StrToInt(Edit1.Text);
m:= StrToInt(Edit2.Text);
e:= StrToFloat(Edit3.Text);
SetLength(r,n);
for i:=0 to n-1 do
SetLength(r[i],m);
for i:=0 to n-1 do begin
for j:=0 to m-1 do begin
r[i][j]:= StrToFloat(StringGrid3.Cells[
end;end;
min:=500;
for i:=0 to n-1 do begin
max:=-100;
for j:=0 to m-1 do begin
if(r[i][j] > max) then max:=r[i][j];
end;
if(max < min) then min:=max;
end;
s:=min-e;
for i:= 0 to n-1 do tk[i]:=0;
f:=1;
repeat
max:=-1;
for i:=0 to n-1 do begin
p[i]:=0;
for j:=0 to m-1 do begin
if (r[i,j] < s) and(tk[j]=0) and(tk[i]=0)then p[i]:=p[i]+1;
end;
if (p[i]> max) then begin
max:=p[i];
l:=i;
end;
end;
tk[l]:=f;
for i:=0 to n-1 do if (r[l][i]<s) then tk[i]:=f;
f:=f+1;
d:=0;
for i:=0 to n-1 do if (tk[i]=0) then d:=1;
until d=0;
for i:=0 to f-1 do begin
Memo1.Lines.Add('в таксон с центром '+IntToStr(i)+' вошли:');
for j:=0 to n-1 do begin
if (tk[j]=i) then Memo1.Lines.Add(FloatToStr(tk[
end;
end;
end;
ЗАКЛЮЧЕНИЕ
Таким
образом, кластерный анализ решает широкий
спектр статистических задач, без которых
не обходятся экономические, математические
и социологические
В данном курсовом проекте рассмотрены области применения кластерного анализа, его основные методы, наиболее подробно рассмотрен алгоритм кластеризации Forel, его пошаговое выполнение, приведена процедура, реализующая данный алгоритм.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ