Система классификации химических проб

Система классификации химических проб

Г. Т. Маракаева

1. Введение

В данной статье описывается система классификации КХП (Классификатор химических проб), разработанная и реализованная в Московском университете для классификации химических проб. Задача системы классификации состоит в определении класса пробы по заданным значениям атрибутов с использованием ранее накопленных экспериментальных знаний и знаний эксперта. Для классификации химических проб был выбран алгоритм на основе разделяющих функций [1], подробно описанный в работах [2, 3].

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

Система состоит из набора подсистем, которые программируются на основе набора прикладных интерфейсов (АР1). Эти интерфейсы используются для реализации новых подсистем системы КХП или для модификации существующих подсистем. Процесс приспособления системы к конкретной задаче классификации называется настройкой системы. Настройка системы позволяет менять свойства системы в достаточно широких пределах. Она осуществляется системным программистом - администратором системы. Помимо настройки в системе предусмотрен процесс обучения системы, проводимый экспертом. Эксперт вводит в систему обучающую выборку (набор объектов с уже известными классами), на основе которой строится классификационная модель. В текущей версии системы классификация осуществляется с помощью разделяющих функций, так что построение модели сводится к вычислению разделяющих функций по обучающей выборке. Разделяющие функции по набору значений атрибутов объекта выдают ответ о его принадлежности к соответствующему классу.

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

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

Статья имеет следующую структуру. В разделе 2 описывается архитектура системы - набор интерфейсов и подсистемы, реализованные на базе описанных интерфейсов. В разделе 3 описана подсистема ввода данных, позволяющая получать исходные данные для классификации как из внешних систем, так и с помощью ручного ввода данных в систему. Подсистема обучения, в которой производится построение разделяющих функций, обсуждается в разделе 4. Раздел 5 содержит описание подсистемы классификации для определения класса пробы. Результат классификации выводится с помощью подсистемы вывода, описанной в разделе 6. В разделе 7 рассматриваются представления данных в формате XML. Раздел 8 посвящен требованиям к аппаратуре, необходимой для нормальной эксплуатации системы, а также составу предустановленного программного обеспечения. В заключительном разделе 9 приводятся статистические данные, полученные в ходе эксплуатации системы для классификации химических проб в лаборатории химического предприятия.

2. Архитектура системы

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

Рис.1. Подсистемы, входящие в состав системы

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

Рис. 2. АР1 и ОШ для реализации подсистем

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

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

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

В системе предусмотрены следующие интерфейсы:

1. Интерфейсы для реализации и модификации подсистемы ввода данных:

a. задание объектов в системе через пользовательский интерфейс;

b. опции настройки пользовательского интерфейса;

c. загрузка объектов в систему из внешнего файла;

(I выгрузка объектов из системы во внешний файл;

е. загрузка параметров из внешнего устройства в поле объекта;

Т задание в системе дерева классов;

g. добавление в системе узлов дерева классов;

h. добавление селекторов в дереве классов;

i. задание объекта неизвестного класса.

2. Интерфейсы для реализации и модификации подсистемы обучения:

a. загрузка в подсистему обучения обучающей выборки;

b. загрузка в подсистему обучения дерева классов;

c. выгрузка поддерева дерева классов по заданным параметрам и селекторам переходов между узлами дерева;

d. выгрузка результата обучения;

e. интерфейсные выходы в подсистему ввода данных (необходимо для интерактивных алгоритмов классификации);

f. выгрузка дерева классов.

3. Интерфейсы для реализации и модификации подсистемы классификации:

a. загрузка в подсистему классификации дерева классов;

b. загрузка в подсистему классификации результатов обучения;

c. загрузка объекта неизвестного класса;

d. интерфейсные выходы в подсистему ввода данных (необходимо для интерактивных алгоритмов классификации);

e. выгрузка результата классификации;

f. добавление объекта в обучающую выборку.

4. Интерфейсы для реализации и модификации подсистемы вывода данных:

a. опции настройки пользовательского интерфейса;

b. выгрузка объектов из системы во внешний файл;

c. получение результата классификации.

На рис. 3 в качестве примера приведено полное описание интерфейса «Выгрузка поддерева дерева классов по заданным параметрам и селекторам переходов между узлами дерева».

using System;

using System. Collections. Generic,; using System. Text;

namespace Tsa.Opc {

public interface ITsaOpcDataSource {

/// <summary>

/// Функция возвращает массив дочерних элементов для элемента с полным именем fullName.

///Корневой элемент один и его имя

///При передаче fullName равного null, должен возвращатся массив•, ///состоящий из одного корневого элемента.

/// </summary>

IBrowseTreeSpaceItem[] Browse(string fullName);

/// <summary>

/// Функция возвращает сам элемент с полным именем fullName.

/// Корневой элемент один и его имя /// </summary>

IBrowseTreeSpaceltem BrowseItem(string fullName);

/// <summary>

///Получить данные по признаку full name.

/// Метод должен вернуть значения, которые входят в интервал [startTime:endtime] плюс одно ///значение, которое "ниже", чем startTime, и одно значение, которое "выше", чем endTime /// </summary>

}

public interface IBrowseTreeSpaceltem {

string Name {get;} string FullName {get;}

IBrowseltemPropertyf] Properties { get;}

}

public interface IBrowseltemProperty {

Type ValueType {get;} int Propertyld { get;} string Name {get;} string Description {get;} object Value {get;}

}

}

Puc. 3. Пример интерфейса «Выгрузка поддерева дерева классов по заданным параметрам и селекторам переходов между узлами дерева».

3. Подсистема ввода данных

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

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

Рис. 4. Подсистема ввода.

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

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

• структурирование всех жу рналов в удобную для использования иерархию;

• регистрация проб, поступивших на испытание;

• выбор значения параметра из заранее заданного списка;

• автоматический расчет параметров по заданным формулам (математические формулы - результатом является число, логические формулы - результатом является, например, “соответствует/не соответствует норме”);

• выполнение расчетов с заданной точностью;

• сигнализация (например, выделение красным цветом) значений, не попадающих в допустимый диапазон;

• быстрый поиск нужного эксперимента, по любому параметру;

• быстрая сортировка записей экспериментов по любому параметру (по возрастанию/убыванию);

• выполнение параллельных испытаний с последующей консолидацией результатов;

• поверка приборов;

• хранение информации о том, кто выполнил эксперимент;

• выгрузка/загрузка одного журнала (или всех журналов) с возможностью отправки по электронной почте или записью на внешний носитель;

• возможность ввода и ведения атрибутов журнала (ФИО ответственного за методику сотрудника, список приборов, используемых в определении показателей для журнала и т.д.);

• разделение прав доступа пользователей на чтение/запись/изменение данных в электронном журнале;

• возможность настройки ролей пользователей (например, выделяется роль лаборанта, к которой приписываются все лаборанты лаборатории; таким образом, не надо прописывать каждому пользователю права отдельно; это особенно актуально для больших лабораторий, в которых используется много методик).

Ручной ввод данных в систему осуществляется по заранее заданным шаблонам представления объектов (Рис. 5.). Чтобы избежать ошибок ввода для обучающей выборки (Рис. 6), в систему встроен механизм проверок данных на правильность и целостность (например, если агрегатное состояние пробы питьевой воды выбрано как «лед», то температура пробы не может быть +5°С). Некоторые признаки объектов могут рассчитываться по формулам на основе введенных значений других признаков, полученных экспериментальным путем.

ЦБ ИнформЛаборатария. Качество контроль. ііш

Сервисы Дерево журналов Журнал Статистика Отчеты Открытые документы Помощь

а  ->••.« > * « я

Журналы Тревог | Задачи | Задачи [Редактирование] | Точки контроля | Пробь Фосфат-ион.Рабочий Фосфат-^ он.Рабочий [Редактирование] | О *

в-а Методики л к г-норм Погрешность г-факт | Лаборант Содержание Дата измере Номер пробы Результат ан

Й-р Фосфат-ион 2 11.4 Иванов 7,50 19 10.2004 0 1 >5

0 Фосфат-ион.Калиброви | 0 Фосфат-ион.Рабочий 2 0.350 2.82 Иванов 3,50 19 10.2004 0 2 3.50 ±0.350

2 0.143 0.375 Иванов 1,43 19 10.2004 0 3 1.43± 0.143

0 Фосфат-ион.Прецигио 2 0.210 0.655 Петров 2.10 19 10.2004 0 4 2.10 ± 0.210

Ё - р СульФат-ион 2 0.242 0.467 Петров 2,42 19 10.2004 0 5 2.42 ±0.242

и Марганец 2 0.291 0.767 Иванов 2.91 19 10.2004 0 5 2.91 ±0.291

Ш-Р Кальций Ш-р Гиарокзрбонат-ис'н Ш"р АПАВ Ш-Р Жёсткость Ш р Измерение биохимическое1 2 0.244 1.21 Иванов 2,44 19 10.2004 0 7 2.44 ±0.244

2 0.411 4.71 Петров 4,11 19 10.2004 0 0 4.11 ±0.411

2 0.245 0.363 Иванов 2,45 19 10.2004 0 9 2.45 ±0.245

2 0.295 1.35 Петров 2,95 19 10.2004 0 10 2.95 ±0.295

Ш Р Перманганатная oкиcлfle^ 2 0.313 0.955 Иванов 3,13 19 10.2004 0 И 3.13±0.313

Щ" р Удельная электропроводн 2 0.216 0.373 Иванов 2.18 19 10.2004 0 12 2.18± 0.218

Н-Р Магний по разности 2 0.239 0.000000000 Петров 2,39 19 10.2004 0 13 2.39 ±0.239

Ш-Р Тяжёлые металлы 2 0.224 1.47 Иванов 2,24 19 10.2004 0 14 2.24 ±0.224

Ш р Ион аммония Ш -р Нитрит-ион 2 0.295 0.865 Петров 2,95 19 10.2004 0 14 2.95 ±0.295

2 0.247 1.31 Иванов 2,47 19 10.2004 0 18 2.47 ±0.247

В-р НеФтепроаакты В- р Химическое потребление Ш Р Хлорид-ион 2 2 2 0.315 0.208 0.145 1.29 0.254 0.552 Иванов Иванов Иванов 3,15 19 2,08 19 1.45 19 10.2004 0 10.2004 0 10.2004 0 17 18 19 3.15 ± 0.315 2.03 ±0.208 1.45 ± 0.145

ш-р Общее железо 2 0.331 0.715 Петров 3.31 19 10.2004 0 20 3.31 ±0.331

Ш-Р pH - 2 0.364 0.470 Иванов 3.64 19 10.2004 0 21 3.64 ±0.364

|'Д||~ ""- - 11 іЛі 2 0.350 0.000000000 Петров 3.50 19 10.2004 0 22 3.50 ±0.350

| Фкпьтр (Фосфат-ион.Рабочий) 2 0.0359 0.0448 0.0133 Иванов К.М. 0.299 19 10.2004 0 19 0.299 ± 0.04

2 0.202 0.759 Иванов А.В. 2.02 14 11.2004 0 25 2.02 ±0.202

| п„. от  115.11.2004 V 2 14 11.2004 2 23

Рис. 5. Экранная форма с введенными вручную данными.

Фейи* Опаршм

ЪатттУъ • пкш Сшлапитк • ажгом

Сцфиши ой ум* »и

Яич Пмммя Е*шв««

Осчбе е СТ4ММ»

При

Кигсма сткщы & Пм»<»— Юм £ Оонимми

В! С1 * Вилл-У *—;мЧг».1

> М«гн«

рнпй

»<ми

Р. н»гдо мм (.Им*

ТЦІИДЯЦІЦ

ІІУчМІШАЙбУЕЙРТЛІ 1іі]г Г*:с 1 1»>«х 01 Нигрят ион * Ммп»» мам 02і](мсс Пмі I' * *"ЄК 014 НіІТ^вГ МОИ С. «Ж 025]* >ЫСС ПигММ» І--Л»

3 4 »"*х 019 Ишо* иом С •мгрмткм 02В|*ихс П»п-*е*эо»:м*

4 * »"»х 015 Иитрагиои 4 м^грмтцм 0 -2) • с П|*>«е«аюаа

05 р* 7С 0 1Э ИмТВвГ ММ *. »%«фМТ .г-1 02І|* тсс Пмг«**«КОЇ

6 [$*«N0 01В Нитрі» мс«* С •%«грмт»о! 023*л#сс Пмт*е*вм«в§ т Г* 01< Нитр^ *у> Р -^хаг *«*ч о.7] г «*г п»*>*¥«ямл«

О? |* *>*»г 011 Нитрг •« 5.»Ыгркг «« О.Л|» Л*х Пиг*«м**га«

01» Н*н*» -» & Н4ПЯК ьшт 0Л| м«е* П»л

(. :••**»« С и. ми I .*•• 0Л|» Ъкммши

— СИ 1Л»М 01* »Ыр«ТММ % Н|«|И< ММ 022|Р»тС Ч4ТьЯЫЯМ«Ы 01. 1*мма 011 чпмтим в Нкгдомоч 0.)|Масс Пкт»**»**сл* Ои|*м*и 02 Прагмой Э Ч*»р*гиси 0 ЛІякс Пм 014 миш 0 19 Нкрг мм в Ні*рк мм 027] Юі^^Н ОКіХліпа 014 Кгрвт мм ( Маг|мт мм 025] > пасе Гітьтш шал» 016(1мпо ОН Шпмтми 4 Нм|мтмеч Э21]*.лнс Гмтъвмявшэ 017 Жепе* 012 •^'рвтмм 5 Нмг|мтм*м 023] >тсс Гмгъвдеаеагв 01В <мня 0 15 **«ф«г мм 6 Нмтм»мсм 325] • пжс Пигъаммгаьэ Рі5Г*«<іш 0,1? *Мфг моч 7 Н^|млм(м 027]* |*г- ^ниц

09 И *«+ув 0.1 Нміри мс« 4. »^р«м мм 021|К*«сс Пм»>****«в# 071 р> •***» 0^1 .НЛр*»ММ 1П Ни1;»« им 0.3^4 •*. Гру П.—.» мчд».

0?3 «МММ! 0.34 <"ьг|м«мм 1*1 Нмг^#«» Г'«!^1мг Гррлг*»«м«м

ОЛ *аммо О Л »М>|мт мм 1€ Нш.»« мм 0ЛЯ1І лесе Гцуяішм мям

0?4 1мс» 0К РЬлратмм 14 Нитдо м* 0 37)ї аасс І руяіш» мдд*

02 *мш 029 ^гр«іми 12 Нмтрм «ом 0 Л)І явсс Гррлоам* км*

1Л < міма 022 ь^грст мм В Ниг{мі моч 0£|Глсс Гр** ом мы

027 «лаиа 024 *мтр«гмм 9 Ммгритмсм 0 4|» ллсс Г^гомш

026 < еомо 0.)і *Мфгим 10 Н*г»с мзи 0*8)4«*сс Грг"авме*аш

[028Й*д»ао С2* и>гсг км 0 и.*ім*мсм 02і 11» тм: соле'

Рис. 6. Экранная форма работы с внешними данными: загрузка и выгрузка

обучающей выборки.

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

Подсистема обучения

Рис. 7. Подсистема обучения.

Подробно алгоритм обучения описывается в [1, 2, 3].

Для пользователя системы работа подсистемы обучения практически не видна. Пользователь запускает функцию «Обучение», и по окончанию обучения системы он видит в окне отчетов работы системы сообщение об окончании обучения (Рис. 8).

jalxi

- Дождевые БОДЫ Питьевая

О и

з очищенная

| - Промышленные отходы ]••- Бытовые отходы В- Питьевая вода И- Дождевые БОДЫ | Ш" С1 Й- Шаблоны ЁАттрибцты •••• К: Магний •••• К: Натрий К:Железо •••• К:Нитрат нон

- К:Нитрит ион К: Калий

•••• К:Аммоний-ион

- КОкисляемость

•••• К:Хлориа-ион (аргентомме

яви

ОБУЧАЮЩАЯ ВЫБОРКА [: 15] Класс:

01 [Железо: 0,1. Нитрат ион: 4, Нитрит

02 [Железо: 0,14, Нитрат ион: 5, Нитрит ион

03 [Железо: 0.18, Нитрат ион: б. Нитрит ион

04 [Железо: 0,15, Нитрат ион: 4, Нитрит ион

05 [Железо: 0,13, Нитрат ион: 7, Нитрит ион

06 [Железо: 0,18, Нитрат ион: 6, Нитрит ион

07 [Железо: 0,14, Нитрат ион: 8, Нитрит ион

08 [Железо: 0,11, Нитрат ион: 5, Нитрит ион

09 [Железо: 0,19, Нитрат ион: 6, Нитрит

010 [Железо: 0,16, Нитрат ион:

011 [Железо: 0,12, Нитрат

012 [Железо: 0,11, Нитрат

0,21] Класс: Питьевая В1

0,25] Класс: Питьевая вода 0.28] Класс: Питьевая вода 0,2] Класс: Питьевая вода 0,29] Класс: Питьевая вода 0,22] Класс: Питьевая вода 0,2] Класс: Питьевая вода 0,28] Класс: Питьевая вода 0.29] Класс: Питьевая вода 6, Нитрит ион: 0,26] Класс: Питьевая вода 5, Нитрит ион: 0,23] Класс: Питьевая вода \ Нитрит ион: 0,3] Класс: Питьевая вода

013 [Железо: 0,2, Нитрат ион: 9, Нитрит ион: 0,3] Класс: Питьевая вода

014 [Железо: 0,19, Нитрат

015 [Железо: 0,14, Нитрат

016 [Железо: 0,11, Нитрат ион

017 [Железо: 0,12, Нитрат ион

018 [Железо: 0,15, Нитрат ион

019 [Железо: 0,17, Нитрат ион ]1020 [Железо: 0,1, Нитрат

021 [Железо: 0,21, Нитрат ион

022 [Железо: 0,34, Нитрат ион ;]1023 [Железо: 0,23, Нитрат ион

024 [Железо: 0,35, Нитрат ион I 025 [Железо: 0,29, Нитрат ион

026 [Железо: 0,22, Нитрат ион

027 [Железо: 0,24, Нитрат ион

028 [Железо: 0,31, Нитрат ион

029 [Железо: 0,28, Нитрат ион

8, Н итрит 6, Н итрит

4, Нитрит ион

5, Н итрит ион

6, Нитрит ион 1, Нитрит ион

4, Нитрит ион: ( 10, Нитрит ион

15, Нитрит ион

16. Нитрит 14, Нитрит ион 12. Нитрит

X Н итрит

0,27] Класс 0,25] Класс 0,21] Класс 0,23] Класс 0,25] Класс 0.27] Класс

Питьевая вода Питьевая вода Питьевая вода Питьевая вода Питьевая вода Питьевая вода

21 ] Класс: Питьевая вода 0,32] Класс: Грунтовые воды 0,45] Класс: Г рунтовые воды 0,48] Класс: Г рунтовые воды 0,32] Класс: Г рунтовые воды 0,39] Класс: Г рунтовые воды 0,32] Класс: Г рунтовые воды

8, Нитрит ион: 0,4] Класс: Г рунтовые воды 10, Нитрит ион: 0.48] Класс: Г рунтовые воды Э, Нитрит ион: 0,31] Класс: Грцнговые воды

Hisc

Value SiJstem. Collections.

-d

26.11.2000 22:54:02: Обучение закончено

Рис. 8. Запуск и выполнение обучения.

5. Классификатор

Классификатор представляет собой подсистему, реализующую применение экспертных и экспериментальных знаний для основной цели системы -классификации пробы неизвестного класса (Рис. 9).

Подробно алгоритм классификации описывается в [1, 2, 3].

Рис. 9. Подсистема Классификатор.

Для начала работы с классификатором пользователь должен ввести объект, задать значения признаков и оставить класс объекта пустым, затем запустить операцию классификации и дождаться результата в нижней части окна системы (Рис. 10).

^1*1

Й- Питьевая вода г Природная вода Й  Открытые источники Дождевые воды Питьевая :••• Бытовая I— Особо очищенная И Сточные воды | Промышленные отходы Бытовые отходы Й" Питьевая вода Й" Дождевые воды I Й С1 Й" Шаблоны Й Аттриб'Л'ы К: Магний К:Натрий | КЖелезо ;••• К:Нитрат ион !— К:Нитрит ион I— К: Калий

ОБУЧАЮЩАЯ

01 [Железо: (

02 [Железо: (

03 [Железо: (

04 [Железо: (

05 [Железо: (

06 [Железо: (

07 [Железо: (

08 [Железо: ( 0 Э [Железо: (

010 [Железо:

011 [Железо

012 [Железо

013 [Железо

014 [Железо

015 [Железо

016 [Железо

017 [Железо

018 [Железо

019 [Железо

020 [Железо

021 [Железо

022 [Железо 0 23 [Железо

024 [Железо

025 [Железо

026 [Железо

027 [Железо 0 28 [Железо 0291Железо

ВЫБОРКА [: 15] Класс:

1, Нитрат ион: 4, Нитрит ион: 0,21 ] Класс: Питьевая вода

4, Нитрат ион: 5, Нитрит 8, Нитрат ион: 6, Нитрит

5, Нитрат ион: 4, Нитрит ион

3, Нитрат ион: 7, Нитрит ион

8, Нитрат ион: 6, Нитрит ион

4, Нитрат ион: 8, Нитрит ион 1, Нитрат ион: 5, Нитрит ион

9, Нитрат ион: 6, Нитрит ион 0,1 8, Нитрат ион: 8. Нитрит

0,25] Класс: Питьевая вода 0,28] Класс: Питьевая вода 0,2] Класс: Питьевая вода 0,29] Класс: Питьевая вода 0,22] Класс: Питьевая вода 0,2] Класс: Питьевая вода 0,28] Класс: Питьевая вода 0,29] Класс: Питьевая вода 0,26] Класс: Питьевая вода

0,12, Нитрат ион: 5, Нитрит ион: 0,23] Класс: Питьевая вода 0,11, Нитрат ион: 8, Нитрит ион: 0.3] Класс: Питьевая вода 0,2, Нитрат ион: 9, Нитрит ион: 0,3] Класс: Питьевая вода

0,19. Нитрат 0,14, Нитрат ион 0,11. Нитрат 0,12, Нитрат ион 0,15, Нитрат 0,17. Нитрат

8, Нитрит 6, Нитрит ион

4, Нитрит

5, Нитрит ион

6, Нитрит

7, Нитрит

0,27] Класс 0,25] Класс 0,21 ] Класс 0,23] Класс 0,25] Класс 0,27] Класс

Питьевая вода Питьевая вода Питьевая вода Питьевая вода Питьевая вода -итьевая вода

0,1, Нитрат ион: 4, Нитрит ион: 0,21] Класс: Питьевая вода 0,21, Нитрат ион: 10, Нитрит ион: 0,32] Класс: Грунговые воды 0,34, Нитрат ион: 15, Нитрит ион: 0,45] Класс: Г рунговые воды 0,28, Нитрат ион: 18, Нитрит ион: 0,48] Класс: Г рунговые воды 0,35, Нитрат ион: 14, Нитрит ион: 0.32] Класс: Г рунговые воды 0,29, Нитрат ион: 12, Нитрит ион: 0,39] Класс: Г рунговые воды 0,22, Нитрат ион: 9, Нитрит ион: 0.32] Класс: Грунтовые воды 0,24, Нитрат ион: 9, Нитрит ион: 0,4] Класс: Г рунговые воды 0,31, Нитрат ион: 10, Нитрит ион: 0,48] Класс: Г рунговые воды 0,28, Нитрат ион: 9, Нитрит ион: 0,311 Класс: Грцнтовые воды

Міяс

Уаіие Завієш. СоІІесйопв. Б

26.11.2006 23:15:12: Для объекта 'ТЕЗТ-ОВ^СТ' выбран класс 'Грунтовые воды1 с лучшим рейтингом Т

Рис. 10. Классификация неизвестной пробы.

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

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

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

Рис. 11. Подсистема вывода.

Выдача результата классификации проводится в менее формализованном виде

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

7. Представление данных

На Рис. 12 представлена схема ввода данных в систему. Подробно ввод данных описан в разд. 3.

Рис. 12. Модель поступления данных в систему.

<!ELEMENT object (name, class?, attribute*)>

<!ELEMENT attribute (name, value+)>

<!ELEMENT name (#LD)>

<!ELEMENT value (#PCDATA)>

Puc. 13. Шаблон для хранения информации об объектах в формате DTD.

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

то он был использован для представления данных описываемой системы. Это делает подсистемы ввода и вывода универсальными по данным.

Для наиболее эффективного хранения информации, а также для оптимальной интеграции с разнородными источниками данных был разработан специальный шаблон хранения информации. Для описания формата хранения был использован стандарт DTD - Document Type Definition (Рис. 13). Данный стандарт широко известен и часто используется при работе со средствами XML, несмотря на развитие новых способов описания метаданных XML. В рамках нашей системы допустимым признается корректно сформированный XML файл, не противоречащий данному определению типа документа.

<?xml version=" 1.0" encoding="utf-8" ?>

- <Data xmlns:xsi="http://XMLSchema-instance"

xmlns:xsd= "http://XMLSchema ">

- <Class>

<Name>Грунтовые eodbi</Name>

</Class>

- <Class>

<Name>Питьевая eoda</Name>

</Class>

- <Class>

<Ыате>Природная eoda</Name>

</Class>

- <Class>

Хате Открытые источники Xante

</Class>

- <Class>

<Name>Дождевые eodbi</Name>

</Class>

- <Class>

<Name>IIumbeeaH</Name>

</Class>

- <Class>

<Name>Oco6o очищенная Xante </Class>

- <Class>

<Name>Cmo4Hbie воды<Мате>

</Class>

- <Class>

<Name>Промышленные отходы</Ыате>

</Class>

- <Class>

<Ыате>Бытовые отходы Лате </Class>

- <Class>

<Name>Питьевая eoda</Name>

</Class>

- <Class>

<Name>Дождевые eodbi</Name>

</Class>

- <Class>

<Name>Cl </Name>

</Class>

</Data>

Puc. 14. Пример описания словаря классов в формате XML.

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

На Рис. 14 представлен пример этого формата - XML-файл, описывающий словарь классов.

8. Технические характеристики системы

Система реализована на языке C# в среде VisualStudio. Данные в системе представлены в формате XML, что обеспечивает дополнительную универсальность в использовании данных из каких-либо внешних систем. Реализация системы состоит из приблизительно 5500 строк, из которых 3500 строк - инфраструктура системы в ядре, остальной код - реализация системы для решения задачи классификации химических проб.

Требования к аппаратуре: Для работы с системой рекомендуется следующая конфигурация рабочей станции: Pentium III, тактовая частота не менее 500МГц, свободное место на диске (HDD) не менее 500Мб, оперативная память не менее 256Мб.

Минимальная конфигурация: Celeron, тактовая частота 200МГц, свободное место на диске 150Мб, оперативная память 64Мб.

Требования к системному ПО: Для работы оператора с системой рекомендуется следующая конфигурация программного обеспечения (ПО) для рабочей станции: Microsoft Windows 2000, Microsoft Internet Explorer 5.5, Microsoft Office 2003, XP.

Минимальная конфигурация ПО для рабочей станции: Microsoft Windows 98, Microsoft Internet Explorer 4.0.

9. Результаты экспериментальных расчетов

В Табл. 1 приведены некоторые результаты проведения экспериментов, полученные в ходе тестирования системы.

количество классов число объектов обучающей выборки количество количественных признаков число объектов обучающей выборки для 3-х классов число объектов обучающей выборки для 5-х классов число объектов обучающей выборки для 7-х классов

0 0 0 0 0 0

1 0 1 14 67 70

2 8 2 24 87 84

3 16 3 22 86 92

4 25 4 25 94 120

5 39 5 39 89 140

6 59 6 41 110 144

7 87 7 38 98 128

8 120 8 35 101 129

9 160 9 34 102 148

10 220 10 36 89 133

11 269 11 32 92 152

12 314 12 33 95 146

13 420 13 34 101 178

14 560

15 700

Таблица 1. Результаты проведения экспериментов

Приемлемое число объектов обучающей выборки (при условии нормального распределения значений атрибутов) в зависимости от количества классов приведено на Рис. 15.

Рис. 15. График зависимости приемлемого числа данных объектов обучающей

выборки от числа классов.

Рис. 16. График зависимости приемлемого числа данных объектов обучающей выборки от количества признаков.

Приемлемое число объектов обучающей выборки (при условии нормального распределения значений атрибутов) в зависимости от количества признаков для разного числа классов приведено на рис. 16.

Литература

[1] Маракаева Г.Т. "Применение методов выявления закономерностей для классификации химических соединений", Сборник статей ИСП РАН, 2006

[2] Маракаева Г.Т. "Использование подходов Data Mining в развитии систем ЛИМС", ежемесячный научно-технический и производственный журнал "Автоматизация в промышленности", №12, 2006

[3] Маракаева Г.Т. "Обоснование правильности работы алгоритма классификации", тезисы к докладу на международной московской конференции Ломоносов 2006, МГУ, 2006.