Разработка экспертной системы распознавания хроматограмм для классификации образцов

Дипломная работа - Химия

Другие дипломы по предмету Химия

из-за невозможности достаточно точно предсказать его поведение между узлами изначальной сетки. Число "10" было получено экспериментально.

Интегрирование

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

 

.5 База данных

 

База данных (например, на основе MySQL или MS SQL) имеет три таблицы, схема которых приведена на рис. 6.6:

 

Рис. 6.6. Схема таблиц в базе.

 

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

Время выхода вершины пика ()

Стандартное отклонение ()

Константа, характеризующая асимметричность ()

7 констант, описывающих спектральные отношения

id пика (т.е. номер записи в таблице)

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

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

Третья таблица (groups) служит для хранения описаний категорий сложных веществ (например, группа "черный чай" содержит только компоненты, встречающиеся во всех сортах черного чая) и устроена аналогично таблице matters, за исключением параметров peak_A_min и peak_A_max, служащих для хранения минимальной и максимальной возможной площади пика.

 

.6 Механизм вывода

 

Поиск кандидатов

Сначала производится предварительный поиск по таблице peaks. Для каждого определяемого пика из базы выбирается набор пиков-кандидатов, время выхода которых отличается от времени выхода рассматриваемого пика не более чем на 10% (согласно методике № ФР.1.31.2003.00951 [14]). Этот поиск осуществляется SQL-запросом вида

* FROM peaks WHERE peaks.tr >= ctr*0.9 AND peaks.tr <= ctr*1.1

 

где ctr - время выхода определяемого пика.

Выбор наилучшего кандидата

Для всех найденных кандидатов пика производится сравнение их спектральных отношений со спектральными отношениями этого пика следующим образом (согласно методике № ФР. 1.31.2006.02966 [15]): спектральные отношения пика и кандидатов записываются в виде двух векторов в 7-мерном пространстве. Пик-кандидат, для которого угол между получившимися векторами минимален, признается наилучшим кандидатом. Если этот угол не превышает 0,4, то пик считается полностью идентифицированным.

Определение вещества

Далее, когда все пики идентифицированы (пусть их число равно N), производится определение вещества по таблице matters. Для этого из нее выбираются все записи о веществах, содержащих хотя бы один пик из обнаруженных (запросом вида SELECT * FROM matters WHERE matters.peak_id = peak_1_id OR matters.peak_id = peak_2_id OR ..., где peak_i_id - id i-го пика из определяемого набора). В результате создается набор объектов Mi, каждый из которых имеет два поля: Mi.Size - общее количество компонент в веществе (т.е. SELECT COUNT(*) FROM matters WHERE matters.matter_id=M_id, где M_id - id вещества Mi), и Mi.Matches - количество обнаруженных пиков, попавших в состав Mi. Этот разбивается на группы по Mi.Matches. Затем каждая группа сортируется по Mi.Size по возрастанию. Если в результате обнаруживается вещество, у которого Mi.Size = Mi.Matches = N, то процесс останавливается и найденное вещество считается искомым. В противном случае производится дальнейший анализ для выделения веществ, наиболее похожих на данный образец: сначала найденные вещества разбиваются на группы по возрастанию величины |Mi.Size - Mi.Matches|, затем из каждой группы выбираются вещества с максимальным значением Mi.Size, - они и будут считаться наиболее похожими на образец. Пример такой выборки приведен на рис.6.7:

 

Рис. 6.7. Пример идентификации вещества, состоящего из 4 компонент. Каждый квадрат является набором веществ Mi c соответствующими значениями Size и Matches. Буквой "Н" выделено найденное вещество, буквами "П" - наиболее похожие на него.

 

Работа с таблицей groups производится аналогичным образом за исключением последнего шага: искомым результатом будет считаться группа Gi с максимальным значением Gi.Size, содержащая в себе только пики из определяемого набора. Если таких групп не обнаружено, то образец считается нераспознанным.

 

.7 Механизм обучения системы

 

Внесение в таблицу новых веществ происходит следующим образом: эксперт проводит несколько повторных анализов одного и того же образца и передает получившиеся хроматограммы инженеру, который, в свою очередь, вводит их в систему. Далее, хроматограммы разбиваются на пики, выделяются одинаковые компоненты (механизм сравнения пиков был описан выше) и на основе этих данных вычисляются средние времена удерживания, спектральные отношения и площади для каждого пика (как среднее арифметическое соответствующего параметра этого пика на всех хроматограммах). Пики, отсутствующие хотя бы на одной из хроматограмм считаются случайными примесями и в рассмотрение не берутся. Результатом этого процесса является набор пиков, характерный для данного образца и с временами удерживания, спектром и площадями, максимально близкими к средним - chromatographic fingerprint [9]. Далее проверяется наличие каждого пика из этого набора в таблице пиков. При отсутствии какого-либо пика в таблице производится запись и присвоение id, в противном случае беретс