Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Луценко Е.В. - Интеллектуальные информационные системы. Учебное пособие - Краснодар, КубГАУ. 2004. - 633 с..doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
34 Мб
Скачать
☆

Задание

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

2. Построить графики в Excel и дать их интерпретацию.

Пример решения

В системе "Эйдос" в 1-й подсистеме в 5-м режиме встроена 4-я функция, обеспечивающая генерацию случайной модели (классификационных и описательных шкал и обучающей выборки) при заданных в диалоге параметрах модели (рисунок 170).

Рисунок 196. Интерфейс режима генерации случайной модели

Реальный исходный текст реализации этой функции приведен ниже.

******** ФОРМИРОВАНИЕ КЛАССИФИКАЦИОННЫХ И ОПИСАТЕЛЬНЫХ ШКАЛ И ГРАДАЦИЙ, *****

******** А ТАКЖЕ ОБУЧАЮЩЕЙ ВЫБОРКИ СЛУЧАЙНЫМ ОБРАЗОМ ************************

******** Луценко Е.В., 04/16/04 02:01pm *************************************

FUNCTION InpRandom()

***** БЛОК-1. ОТОБРАЖЕНИЕ ИНФОРМАЦИИ О ФУНКЦИЯХ ПРОГРАММНОГО ИНТЕРФЕЙСА **********************

scr23 = SAVESCREEN(0,0,24,79)

SET CURSOR OFF

SET DATE ITALIAN

SET DECIMALS TO 15

SET ESCAPE On

Titul(.T.)

SHOWTIME(0,60,.F.,"rg+/n",.F.,.F.)

Mess1 = " === ГЕНЕРАЦИЯ СЛУЧАЙНЫХ КЛАССИФИКАЦИОННЫХ ШКАЛ И ГРАДАЦИЙ === "

Mess2 = " === ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ОПИСАТЕЛЬНЫХ ШКАЛ И ГРАДАЦИЙ === "

Mess3 = " === ГЕНЕРАЦИЯ СЛУЧАЙНОЙ ОБУЧАЮЩЕЙ ВЫБОРКИ === "

@4,40-LEN(Mess1)/2 SAY Mess1 COLOR "rg+/rb"

@5,40-LEN(Mess2)/2 SAY Mess2 COLOR "rg+/rb"

@6,40-LEN(Mess3)/2 SAY Mess3 COLOR "rg+/rb"

** БЛОК-3. ЗАДАНИЕ В ДИАЛОГЕ ДИАПАЗОНОВ СТОЛБЦОВ С КЛАССАМИ И ФАКТОРАМИ **********************

N_Obj = 2

Mess = "Задайте количество классов : #####"

@10,40-LEN(Mess)/2 SAY Mess COLOR "w+/rb"

@10,52 GET N_Obj PICTURE "#####" COLOR "rg+/r+"

N_Atr = 10

Mess = "Задайте количество признаков: #####"

@12,40-LEN(Mess)/2 SAY Mess COLOR "w+/rb"

@12,52 GET N_Atr PICTURE "#####" COLOR "rg+/r+"

N_Ank = 100

Mess = "Задайте количество анкет : #####"

@14,40-LEN(Mess)/2 SAY Mess COLOR "w+/rb"

@14,52 GET N_Ank PICTURE "#####" COLOR "rg+/r+"

SET CURSOR ON;READ;SET CURSOR OFF

IF LASTKEY()=27

RESTSCREEN(0,0,24,79,scr23)

RETURN

ENDIF

USE Setup EXCLUSIVE NEW

N_LogAnk = N_Obj && Макс. кол-во логических анкет в одной физической

CLOSE ALL

** БЛОК-7. ГЕНЕРАЦИЯ КЛАССИФИКАЦИОННЫХ ШКАЛ И ГРАДАЦИЙ ***************************************

Mess1 = " === ГЕНЕРАЦИЯ СЛУЧАЙНЫХ КЛАССИФИКАЦИОННЫХ ШКАЛ И ГРАДАЦИЙ === "

@4,40-LEN(Mess1)/2 SAY Mess1 COLOR "rg+*/rb"

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

x=0

CLOSE ALL

USE Object EXCLUSIVE NEW;ZAP

FOR j=1 TO N_Obj

APPEND BLANK

REPLACE Kod WITH j

REPLACE Name WITH "Obj_"+ALLTRIM(STR(j,5))

p=++x/(N_Obj+N_Atr+N_Ank)*100;p=IF(p<=100,p,100)

@24,0 SAY STR(p,3)+"%" COLOR "w+/r+"

@24,4 SAY REPLICATE("-",0.76*p) COLOR "rb+/n"

NEXT

** БЛОК-8. ГЕНЕРАЦИЯ ОПИСАТЕЛЬНЫХ ШКАЛ И ГРАДАЦИЙ ********************************************

Mess2 = " === ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ОПИСАТЕЛЬНЫХ ШКАЛ И ГРАДАЦИЙ === "

@5,40-LEN(Mess2)/2 SAY Mess2 COLOR "rg+*/rb"

USE Priz_ob EXCLUSIVE NEW;ZAP

USE Priz_per EXCLUSIVE NEW;ZAP

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

FOR i=1 TO N_Atr

APPEND BLANK

REPLACE Kod WITH i

REPLACE Name WITH "Atr_"+ALLTRIM(STR(i,5))

p=++x/(N_Obj+N_Atr+N_Ank)*100;p=IF(p<=100,p,100)

@24,0 SAY STR(p,3)+"%" COLOR "w+/r+"

@24,4 SAY REPLICATE("-",0.76*p) COLOR "rb+/n"

NEXT

** БЛОК-9. ГЕНЕРАЦИЯ ОБУЧАЮЩЕЙ ВЫБОРКИ *******************************************************

Mess3 = " === ГЕНЕРАЦИЯ СЛУЧАЙНОЙ ОБУЧАЮЩЕЙ ВЫБОРКИ === "

@6,40-LEN(Mess3)/2 SAY Mess3 COLOR "rg+*/rb"

USE ObInfZag EXCLUSIVE NEW;ZAP

USE ObInfKpr EXCLUSIVE NEW;ZAP

N_Rec = RECCOUNT()

FOR M_KodIst=1 TO N_Ank

SELECT ObInfZag

APPEND BLANK

REPLACE Kod_ist WITH M_KodIst

R = 1+INT(N_Obj*RANDOM()/65535) && Код класса

R = IF(R<1,1,R)

R = IF(R>N_Obj,N_Obj,R)

REPLACE Name_ist WITH "Ist-"+STRTRAN(STR(M_KodIst,5)," ","0")+"-"+STRTRAN(STR(R,5)," ","0")

FIELDPUT(3,R)

***** Генерация массива кодов признаков в для БД ObInfKpr

A_Kpr := {}

FOR j=1 TO N_Atr

M_KodPr = 1+INT(N_Atr*RANDOM()/65535) && Код признака

M_KodPr = IF(M_KodPr<1,1,M_KodPr)

M_KodPr = IF(M_KodPr>N_Atr,N_Atr,M_KodPr)

IF ASCAN(A_Kpr,M_KodPr) = 0 && Если признак еще не стречался

IF LEN(A_Kpr)+1 <= 4000

AADD(A_Kpr,M_KodPr)

ENDIF

ENDIF

NEXT

ASORT(A_Kpr)

****** Запись массива кодов признаков в БД ObInfKpr

SELECT ObInfKpr

APPEND BLANK

FIELDPUT(1,M_KodIst)

k=2

FOR j=1 TO LEN(A_Kpr)

IF k <= 12

FIELDPUT(k++,A_Kpr[j])

ELSE

APPEND BLANK

FIELDPUT(1,M_KodIst)

k=2

FIELDPUT(k ,A_Kpr[j])

ENDIF

NEXT

p=++x/(N_Obj+N_Atr+N_Ank)*100;p=IF(p<=100,p,100)

@24,0 SAY STR(p,3)+"%" COLOR "w+/r+"

@24,4 SAY REPLICATE("-",0.76*p) COLOR "rb+/n"

NEXT

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

GenNtxObj(.T.)

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

GenNtxPro(.T.)

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

GenNtxPrp(.T.)

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

GenNtxOin(.T.)

@24,0 SAY REPLICATE("-",80) COLOR "rb/n"

Mess = " ПРОЦЕСС ГЕНЕРАЦИИ ЗАВЕРШЕН УСПЕШНО !!! "

@24,40-LEN(Mess)/2 SAY Mess COLOR "rg+/rb"

INKEY(0)

RESTSCREEN(0,0,24,79,scr23)

CLOSE ALL

RETURN

Алгоритм выполнения задания 1:

Шаг 0. Вход.

Шаг 1. Выполнить генерацию классификационных и описательных шкал и градаций, а также обучающей выборки при минимальном объеме обучающей выборки (например, при 2-х объектах).

Шаг 2. Произвести синтез модели.

Шаг 3. Скопировать обучающую выборку в распознаваемую.

Шаг 4. Произвести распознавание.

Шаг 5. Измерить внутреннюю интегральную валидность и занести информацию о параметрах случайной модели в Excel.

Шаг 6. Увеличить объем обучающей выборки на величину "Дельта".

Шаг 7. Если объем обучающей выборки меньше максимума, то перейти на шаг 2, иначе – на шаг 8.

Шаг 8. Выход.

Учащимся предлагается выполнить приведенный алгоритм самостоятельно.