Книга: Учебное пособие по курсу «Нейроинформатика»
Пример описания оценки
Пример описания оценки
В этом разделе приведены два примера описания одной и той же оценки следующего состава: первый сигнал интерпретируется как температура путем умножения на 10 и добавления 273; следующие два сигнала интерпретируются как наличие облачности, используя знаковый интерпретатор; следующие три сигнала интерпретируются как направление ветра, используя двоичный интерпретатор (восемь румбов); последние три сигнала интерпретируются максимальным интерпретатором как сила осадков (без осадков, слабые осадки, сильные осадки). Для трех последних интерпретаторов используются соответствующие им оценки типа расстояние до множества. В первом примере приведено описание дубликатов всех стандартных оценок. Во втором — использованы стандартные оценки.
Пример 1.
Estimation Meteorology
Est Empty1() {Оценка для интерпретатора, осуществляющего масштабирование и сдвиг сигнала}
Static
Real BName "Масштабный множитель";
Real C Name "Сдвиг начала отсчета";
Real E Name "Требуемаяточность совпадения";
Var
Real A;
Begin
A = Signals[1] – (Answer – C) / B;
D = E * Reliability; {Допуск определяем произведением}
If Abs(A)<D Then Estim = 0
Else If A > 0 Then Begin
Estim =Weight * Sqr(A – D) / 2;
If Direv Then Back[1] = Weight * (A – D);
End Else Begin
Estim =Weight * Sqr(A + D) / 2;
If Direv Then Back[1] = Weight * (A + D);
End
End
{Кодирование номером канала. Оценка для знакового интерпретатора.}
Est Binary1(N : Long)
Static
Real E Name "Уровень надежности";
Var
Long I, J;
Real A, B, C;
Begin
J = Answer; {Правильный ответ – номер правильного класса}
B = 0;
C = E * Reliability; {Допуск определяем произведением}
For I = 1 To NDo
If I = J Then Begin
If Signals[I] < С Then Begin
B = B + Sqr(Signals[I] – С);
If Direv Then Back[I] = 2 * Weight * (Signals[I]-С);
End;
End Else Begin
If Signals[I] > -C Then Begin
B = B + Sqr(Signals[I] + C);
If Direv Then Back[I] = 2 * Weight * (Signals[I] + C);
End
End;
Estim = Weight*B
End
{Кодирование номером канала. Оценка для максимального интерпретатора.}
Est Major1(N : Long)
Static
Real E Name "Уровень надежности";
Var
Real A, B;
Long I, J, K, Ans;
RealArray[N+1] Al,Ind;
Begin
Ans = Answer;
Ind[1] = Ans;
Al[1] = Signals[Ans] – E *Reliability;
Ind[N+1] = 0;
Al[N+1] = -1.e40;
K:=1;
For I = 1 ToNDo
If I <> Ans Then Begin
Al[K] = Signals[I];
Ind[K] = I;
K = K + 1;
End; {Подготовлен массив сигналов}
For I = 2 To N-1 Do Begin
A = Al[I];
K = I;
For J = I+1 ToNDo
If Al[J] > A Then Begin
K = J;
A = Al[J];
End; {Найден следующий по величине}
Al[K] = Al[I];
Al[I] = A;
J = Ind[K];
Ind[K] = Ind[I];
Ind[I] = J;
End; {Массивы отсортированы}
A = Al[1]; {Сумма первых I членов}
I = 1;
While (A / I <= Al[I+1]) Do Begin
A = A + Al[I];
I = I + 1;
End; {В конце цикла I-1 равно числу корректируемых сигналов}
B = A / I; {B – величина, к которой должны стремиться}
A = 0; {корректируемые сигналы}
For J = 1 To I Do Begin
A = A + Sqr(Al[J] – B);
If Direv Then Back[Ind[J]] = -2* Weight * (Al[J] – B);
End;
Estim = Weight * A
End;
Est BynaryCoded1: (N : Long) {Оценка для кодирования номером канала}
Static
Real E Name "Уровень надежности";
Var
Long I, J, A, K;
Real B, C;
Begin
A = Answer;
B = 0;
C = E * Reliability; {Допуск определяем произведением}
For I = N To 1 By -1 Do Begin
J = A / 2;
K = A – 2 * J;
A = J;
If A = 1 Then Begin
If Signals[I] < C Then Begin
B = B + Sqr(Signals[I] – C);
If Direv Then Back[I] = 2 * Weight * (Signals[I]-C);
End;
End Else Begin
If Signals[I] > -C Then Begin
B = B + Sqr(Signals[I] + C);
If Direv Then Back[I] = 2 * Weight * (Signals[I] + C);
End;
End;
Estim = Weight*B
End
Contents Temp : Empty1, Cloud : Binary1(2), Wind : BynaryCoded1(3), Rain : Major1(3);
Cloud Link Meteorology.Cloud {Связываем оценки с интерпретаторами}
Wind Link Meteorology.Wind
Rain Link Meteorology.Rain
Temp SetParameters 10, 273; {Устанавливаем значения параметров оценок}
Cloud SetParameters 0.1; {и интерпретаторов}
Wind SetParameters 0.2;
Rain SetParameters 0.15
Weights 1, 1, 1, 1
Signals NumberOf(Signals,Temp) +NumberOf(Signals, Cloud) + NumberOf(Signals, Wind) + NumberOf(Signals, Rain)
Connections
Temp.Signals <=> Signals[1];
Cloud.Signals[1..2] <=> Signals[2; 3];
Wind.Signals[1..3] <=> Signals[4..6];
Rain.Signals[1..3] <=> Signals[7..9]
Temp.Answer <=> Answer[1];
Cloud.Answer[1..2] <=> Answer[2];
Wind.Answer[1..3] <=> Answer[3];
Rain.Answer[1..3] <=> Answer[4]
End Estimation
Пример 2.
Estimation Meteorology
Contents Temp : Empty, Cloud : Binary(2), Wind : BynaryCoded(3), Rain : Major(3);
Cloud Link Meteorology.Cloud {Связываем оценки с интерпретаторами}
Wind Link Meteorology.Wind
Rain Link Meteorology.Rain
Temp SetParameters 10, 273; {Устанавливаем значения параметров оценок}
Cloud SetParameters 0.1; {и интерпретаторов}
Wind SetParameters 0.2;
Rain SetParameters 0.15
End Estimation
- Оценки
- Цвет примера и обучающая выборка
- Вес примера
- БНФ языка описания оценок
- Описание языка описания оценок
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 6.3. Содержание оценки бизнес-тренинга