Классификация пациентов с сердечно-сосудистыми заболеваниями (отчет)
Материал из MachineLearning.
(→Параметры классификатора) |
(→Параметры классификатора) |
||
Строка 197: | Строка 197: | ||
Решающее правило при классификации на 2 класса методом <tex>\mu - RKM</tex> задается следующей формулой: <tex>y(\omega) = sign\biggl[\sum_{j: \lambda_j > 0} \lambda_j y_j\sum_{i=1}^n r_i x_i(\omega_j)x_i(\omega) + b\biggr]</tex>. | Решающее правило при классификации на 2 класса методом <tex>\mu - RKM</tex> задается следующей формулой: <tex>y(\omega) = sign\biggl[\sum_{j: \lambda_j > 0} \lambda_j y_j\sum_{i=1}^n r_i x_i(\omega_j)x_i(\omega) + b\biggr]</tex>. | ||
- | Параметры <tex>\lambda</tex> и <tex>r</tex> для задач отделения одного класса от остальных будут выложены здесь: <TODO> | + | Параметры <tex>\mathbf{\lambda}</tex> и <tex>\mathbf{r}</tex> для задач отделения одного класса от остальных будут выложены здесь: <TODO> |
== Список литературы == | == Список литературы == |
Версия 18:58, 23 февраля 2010
Введение в проект
Описание проекта
Цель проекта
Цель проекта - классификация пациентов с подозрением на сердечно-сосудистые заболевания по группам риска.
Обоснование проекта
Полученные результаты могут быть использованы для предварительной диагностики заболевания у пациентов.
Описание данных
Дан список 100 пациентов с указанием их группы риска(по экспертной оценке) и результатов их анализов по 20 параметрам.
Критерии качества
Критериями качества являются общее количество ошибок классификации и критерий скользящего контроля Leave One Out. При этом не допускается более 1 ошибки для пациентов групп риска A1(уже прооперированные больные) и A3(больные с высокой вероятностью заболевания).
Требования к проекту
Алгоритм не должен допускать более одной ошибки по группам риска A1 и A3, а также минимальное количество ошибок по остальным группам риска.
Выполнимость проекта
Особенностями данных, которые могут затруднить выполнение проекта, являются малое количество прецедентов по некоторым группам риска(в особенности A2) и наличие пропусков в данных(только 66 пациентов не имеют пропусков в данных).
Используемые методы
Предполагается использовать линейные алгоритмы классификации, в частности SVM.
Постановка задачи
Дана обучающая выборка , где , .
Для каждой из задач двуклассовой классификации(отделение одного класса от трех остальных и отделение пар классов друг от друга) перекодируем классы так, что . Требуется подобрать вектор параметров оптимальной разделяющей гиперплоскости, который минимизирует функционал скользящего контроля:Описание алгоритмов
Базовые предположения
Особенностью данной задачи является большая размерность признакового пространства и малое число прецедентов. Таким образом для того, чтобы избегнуть переобучения и добиться устойчивой классификации, требуется решить задачу отбора признаков. Для этой цели предполагается использовать алгоритм Relevance Kernel Machine with supervised selectivity(далее - ), который совмещает в себе возможности решения задачи классификации и отбора признаков.
Математическое описание алгоритмов
Квази-вероятностная постановка задачи
Пусть - множество объектов, каждый из которых принадлежит одному из двух классов: . Каждый объект характеризуется признаками в некоторых шкалах . Пусть в пространстве признаков объективно определена некоторая неизвестная гиперплоскость . В качестве модели распределения объектов рассмотрим два несобственных параметрических распределения:
Далее вектор рассмотрим как случайный вектор с априорной плотностью распределения По формуле Байеса апостериорная плотность распределения параметров и :
Согласно принципу максимизации апостериорной плотности распределения:
Метод
Пусть априорные плотности распределения компонент направляющего вектора разделяющей гиперплоскости имеют нормальные распределения с нулевыми математическими ожиданиями и дисперсиями :Будем считать, что параметр имеет равномерное несобственное распределение, равное единице на всей числовой оси. Тогда плотность распределения вектора пропорциональна:
Положим, что все величины имеют априорное гамма распределение:
Примем что , где - некоторый неотрицательный параметр.
Принцип максимизации совместной апостериорной плотности приводит к критерию обучения:
Для каждой итерации при фиксированном приближении() решение данной оптимизационной задачи сводится лишь к небольшой модификации классического SVM.
Если же найдено текущее приближение , то следующее приближение может быть найдено из простого соотношения:Отбор признаков
Для повышения устойчивости алгоритма был применен дополнительный отбор признаков. Для этого производился предварительный запуск алгоритма RKM и рассматривался полученный вектор весов признаков: . Далее из набора признаков удалялись те из них , для которых , где - дополнительный параметр селективности. На модифицированном наборе признаков алгоритм RKM запускался еще раз для получения окончательной классификации.
Варианты или модификации
Параметрами алгоритма являются , наилучшие значения которых требуется выбрать в результате эксперимента.
Описание системы
Описание системы находится в файле Systemdocs1.docx Файлы системы можно скачать здесь: SelRKM.m, GetRelevantFeatures.m, GetStatsIfClassification.m
Отчет о вычислительных экспериментах
% OneVsOthersTest - script which tests RKM algorithm cardiovascular diseases train set % in problems of classification one class vs 3 other classes % Author: Maxim Panov, MIPT, group 674 % % Input: excel-files with objects-features matrices of 4 types of patients % % Output: % statistics - 4 x 3 x 4 structure: % statistics(k, j, i) - statistics of classification(with fields like % in output of GetStatsOfClassification) of class i % with selectivityLevel 0.1*10^k and C = 100*10^j %% Upload data UploadData; trainSet = allData; types = [repmat(1, size(a1, 1), 1); repmat(2, size(a3, 1), 1); repmat(3, size(b1, 1), 1); repmat(4, size(b2, 1), 1)]; %% Set selectivity rate selectivityRate = 10; %% Compute statistics of classification for i = 1 : 4 supplTrainSet = [trainSet(types == i, :); trainSet(types ~= i, :)]; supplTypes = [repmat(1, size(types(types == i, :), 1), 1); repmat(-1, size(types(types ~= i, :), 1), 1)]; C = 100; for j = 1 : 3 C = C * 10; selectivity = 0.1; for k = 1 : 4 selectivity = selectivity * 10; supplStatisticsA(k, 1) = GetStatsOfClassification(supplTrainSet, supplTypes, C, selectivity, selectivityRate); end if j == 1 supplStatisticsB = supplStatisticsA; else supplStatisticsB = cat(2, supplStatisticsB, supplStatisticsA); end end if i == 1 statistics = supplStatisticsB; else statistics = cat(3, statistics, supplStatisticsB); end end
Анализ качества работы алгоритма
На основании полученных результатов для каждой из четырех подзадач классификации можно выбрать наилучшие значения параметров, статистика классификации для которых приведена в таблице:
Class | C | SelectivityLevel | SelectivityRate | Relevant features | Test error | LOO |
---|---|---|---|---|---|---|
A1 | 10000 | 1000 | 30 | 1, 3, 6, 7, 9 ,10, 12, 14, 19 | 5 | 15 |
A3 | 10000 | 1000 | 30 | 2, 3, 5, 7 ,9, 12, 14, 15, 20 | 0 | 5 |
B1 | 10000 | 1000 | 10 | 2, 3, 4 ,7 ,12 ,18 | 23 | 23 |
B2 | 100000 | 100 | 30 | 2, 3, 6, 7 , 9, 10, 12, 15 | 11 | 20 |
Параметры классификатора
Решающее правило при классификации на 2 класса методом задается следующей формулой: .
Параметры и для задач отделения одного класса от остальных будут выложены здесь: <TODO>
Список литературы
- К. В. Воронцов, Лекции по линейным алгоритмам классификации
- Татарчук А. И., Сулимова В.В., Моттль В.В., Уиндридж Д. Метод релевантных потенциальных функций для селективного комбинирования разнородной информации при обучении распознаванию образов на основе байесовского подхода // Всеросcийская конференция ММРО-14.М.: МАКС Пресс, 2009.
- Айзерман М.А., Браверман Э.М., Розоноэр Л.И. Метод потенциальных функций в теории обучения машин. М.: Наука, 1970, 384 с.
- Ross A., Jain A.K. Multimodal biometrics: An overview. Proceedings of the 12th European Signal Processing Conference (EUSIPCO), 2004. Vienna, Austria, pp. 1221-1224.
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |