![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Как известно, ROC анализ может применяться как удобный способ оценки качества бинарной классификации (классификации на 2 класса). Например, логистической регрессии. Способ подробно изучен, имеется в пакетах программ и обычно не вызывает затруднений в интерпретации результатов.
Проблема возникает, когда метод применяется для классификации на количество классов больше 2-х. В таком случае стандартный прием - попарная классификация. Например, имеем стандартный набор данных, применяемый для проверки концепций и программ - ирисы Фишера. Каждый цветок описан 4-мя параметрами и на этой основе относится к одному из 3-х видов. Таким образом, можно сравнить 1-й вид со всеми остальными, 2-й со всеми остальными и 3-й со всеми остальными. Получаем 3 модели логистических регрессий (если используем данный метод), которые оцениваются 3-мя ROC кривыми (для каждого сравнения). Относительно результатов можно сделать определенные статистические выводы. Но как оценить качество классификации всего массива? Вводится понятие мультиклассового ROC анализа. Вот тут ссылка на подробное иллюстрированное (в т.ч. программным кодом) ВВЕДЕНИЕ (для лучшего чтения в браузере можно включить перевод). Способ заключается в том, что по одному из 2-х предложенных алгоритмов производится усреднение обычных попарных ROC кривых. В результате получается как бы ROC кривая для всего массива данных и всех классов. Непонятно одно - в каждом из попарных случаев модели разные. Т.е. некорректно утверждать, что модель осуществляет мультиклассовую классификацию, ибо для нашего примера имеются 3 разных (!) модели, каждая из которых с тем или иным качеством различает 2 класса (например, первая модель различает объекты на "1 класс" и "не 1 класс", и т.д.), как описано в предыдущем абзаце. Допустимо ли усреднять ROC кривые? Какие будут идеи? Сообщение отредактировал Игорь - 8.03.2025 - 15:48 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
программ - ирисы Фишера. Каждый цветок описан 4-мя параметрами и на этой основе относится к одному из 3-х видов. Утверждение в корне неверное. Цветок относится к одному из трех видов не на "этой основе", а по куда более глубоким таксономическим соображениям. Верно лишь то, что некоторые из этих параметров могут помочь в идентификации вида. Но не они предопределяют видовую принадлежность, а видовая принадлежность предопределяет их. |
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Утверждение в корне неверное. Цветок относится к одному из трех видов не на "этой основе", а по куда более глубоким таксономическим соображениям. Не стал бы относиться к конкретным обучающим данным и их упоминанию здесь как к публикации по ботанике.Верно лишь то, что некоторые из этих параметров могут помочь в идентификации вида. Именно это и требуется от данных для тестирования алгоритмов.Если "режет глаз" профессиональная точность формулировок, мешающая воспринимать, что эти данные используются лишь для того, чтобы за ними увидеть алгоритмы (именно по ним тема), можно назвать их как "Объект 1, 2, 3, ..., 150", "Параметр 1, 2, 3, 4", "Класс 1, 2, 3", предлагаю это сделать. В программах они примерно так и называются, а специалисты сами подставляют специфические термины. Сообщение отредактировал Игорь - 10.03.2025 - 14:35 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]()
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
Да нет, там не какие-то абстрактные группы, а три конкретных ботанических вида, один даже на языке вертится - Iris setosa - два других не помню уже. И далее уже, опираясь на морфометрию, пытаются их теми или иными способами разделить.
Что же касается непосредственно сабжа, то лично у меня главный вопрос: зачем? Я далек от позиции Фрэнка Харрела - неприменимого борца с ROC в качестве меры оценки качества подгонки моделей логистической регрессии, но конкретно в случае с мультиномиальной регресси "на кой бес вам этот стресс"? Это чисто гимнастика для ума, или же Вы действительно полагаете в данном случае AUC оптимальной мерой? Сообщение отредактировал ИНО - 11.03.2025 - 00:30 |
|
![]() |
![]() |
![]()
Сообщение
#5
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Что же касается непосредственно сабжа, то лично у меня главный вопрос: зачем? Я далек от позиции Фрэнка Харрела - неприменимого борца с ROC в качестве меры оценки качества подгонки моделей логистической регрессии, но конкретно в случае с мультиномиальной регресси "на кой бес вам этот стресс"? Это чисто гимнастика для ума, или же Вы действительно полагаете в данном случае AUC оптимальной мерой? Да, была идея применить ROC для оценки качества классификации на число классов более 2, в том числе для нейронных сетей (но это не обязательно). Вообще, судя по публикациям, ROC часто используют в медицинских и фармакологических исследованиях. Обсуждать "зачем", наверное, в данном случае контрпродуктивно. Простейший ответ - потому что нужно пользователям нашего открытого, бесплатного и свободного ПО. Если конкретно, в данном случае человек на свою научную статью получил замечание рецензента, в котором тот предложил привести ROC кривую и дать точечную и интервальную оценку AUC. Давать людям непроверенный (возможно, непонятый) лично инструмент не считаю возможным. Поэтому решил посоветоваться с коллегами.По поводу ссылки в первом сообщении темы - забыл отметить, что в первоисточнике не упоминается так называемый порог отсечения (cut-off threshold), т.е. число в интервале от 0 до 1, превышение которого моделью дает 1, а значение, меньшее порога, нуль. ROC - это не зависимость чувствительности от неспецифичности (1 - специфичность), а зависимость того и другого от порога отсечения. Порог отсечения как раз определяет оптимальные (либо, если угодно, требуемые исследователю) значения чувствительности и специфичности метода. И как быть, если разные не только модели, но и пороги отсечения (т.е. они могут браться как равномерно, скажем 1000 значений от 0 до 1, так и неравномерно в зависимости от результатов расчета)? Как учитываются данные параметры (в т.ч. значения, оптимальные или выбранные исследователем для каждой пары классов) при построении результирующей кривой, тоже не уточняется. Сообщение отредактировал Игорь - 11.03.2025 - 08:38 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]()
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
Обычно оптимальный порог отсечения ищут по ROC-кривой, а не наоборот. Но кривая полезна и без выбора порога вообще, для подсчета AUC.
Похоже, Вы плавно переводите тему с первоначально упомянутой логистической регрессии на какие-то модели с жестким категориальным прогнозом, не умеющие выдавать оценку вероятностей. С такими моделями дело не имел и иметь не желаю, это вообще далековато от статистики. ROC популярны там, где есть только две категории независимой переменной. Если их больше, то популярность этого метода сильно падает, потому как решения сложны и неоднозначны. Что же касается рецензента, порекомендовавшего ROC-анализ, - а он точно вкурил, что переменная не бинарная? А то знаю я рецензентов, читающих по диагонали... Но ежели этот реально компетентен, то пусть сам и посоветует конкретный метод. А то может оказаться так, что Вы реализуете в программе что-то одно, а ждут чего-то иного. |
|
![]() |
![]() |
![]()
Сообщение
#7
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Похоже, Вы плавно переводите тему с первоначально упомянутой логистической регрессии на какие-то модели с жестким категориальным прогнозом, не умеющие выдавать оценку вероятностей. Да нет. Задача как раз из логистической регрессии, но с числом классов более двух - она описана в примере по ссылке в первом посте. А так хорошая идея - дать статистическую оценку (хотя бы точечную и интервальную для AUC) для методов (например, нейронных сетей), которые не уделяют внимания данной проблеме. Почему бы и нет?
![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]()
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 107 Регистрация: 27.12.2015 Пользователь №: 27815 ![]() |
Всех приветствую.
В тему не погружался. Но пару ссылок дам, может кому-то пригодиться. Comparison of classification methods with ?n-class? receiver operating characteristic curves: A case study of energy drinks. Результаты в Google-школяре.
Прикрепленные файлы
![]() ![]() |
|
![]() |
![]() |
![]()
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 381 Регистрация: 18.08.2008 Из: Москва Златоглавая Пользователь №: 5224 ![]() |
Проблема возникает, когда метод применяется для классификации на количество классов больше 2-х. Площадь под ROC-кривой - это показатель AUC. Для классической 2-х классовой классификации показатель AUC равен вероятности того, что оценка случайно выбранного элемента из класса 1 выше, чем оценка случайно выбранного элемента из класса 2. Многоклассовая ROC классификация должна каким-то образом сохранить эту вероятностную интерпретацию AUC. Осталось только разработать необходимый алгоритм и дело в шляпе ![]() ![]() Просто включи мозги => http://doctorstat.narod.ru
|
|
![]() |
![]() |
![]()
Сообщение
#10
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
Угу, придумать, как одним числом описать взаимоотношение между тремя или более классами, и дело в шляпе
![]() |
|
![]() |
![]() |
![]()
Сообщение
#11
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Угу, придумать, как одним числом описать взаимоотношение между тремя или более классами, и дело в шляпе Если интуитивно, решение должно быть. Если можно "одним числом" (на самом деле еще и доверительным интервалом) оценить качество распознавания между двумя классами, предположительно, можно и между большим количеством. Я посмотрел разные подходы. Если решить проблемы (разные модели, усреднение ROC и оптимальные пороги отсечения для попарного сравнения) для подхода, который упомянут в данной теме, то это решение было бы приемлемым.
![]() Сообщение отредактировал Игорь - 15.03.2025 - 11:08 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]()
Сообщение
#12
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
Теоретически "качество распознавания между несколькими классами" свести к одному числу попросту невозможно без серьезной потери информации. Например, может быть модель модель, которая идеально предсказывает принадлежность объекта к классам 1 и 2, но в отношении класса 3 не лучше слепого угадывания, а сможет быть та, которая имеет неумерен предсказательную силу в отношении всех трех классов. И куча иных вариантов. И пойди найди единственно правильную оценку для всех возможных случаев. Даже в случае с двумя классами все неоднозначно в выборе оценки качества модели (особенно при выраженном их количественном дисбалансе), а уж с тремя и более...
|
|
![]() |
![]() |
![]()
Сообщение
#13
|
|
Группа: Пользователи Сообщений: 381 Регистрация: 18.08.2008 Из: Москва Златоглавая Пользователь №: 5224 ![]() |
И пойди найди единственно правильную оценку для всех возможных случаев. Не нужно для всех случаев, нужно - чтобы устраивала вас.![]() Просто включи мозги => http://doctorstat.narod.ru
|
|
![]() |
![]() |
![]()
Сообщение
#14
|
|
Группа: Пользователи Сообщений: 262 Регистрация: 1.06.2022 Из: Донецк Пользователь №: 39632 ![]() |
Меня?
|
|
![]() |
![]() |
![]()
Сообщение
#15
|
|
Группа: Пользователи Сообщений: 381 Регистрация: 18.08.2008 Из: Москва Златоглавая Пользователь №: 5224 ![]() |
Меня? К вопросу о множественности показателей для классификации. Вот отрывок из книги Григорьева "Машинное обучение. Портфолио реальных проектов". Для очень сильно несбалансированных случаев (скажем, 1000 отрицательных результатов на 1 положительный) AUC может стать проблемой. В таких случаях лучше работает другой показатель: площадь под кривой точности-отклика, или AU PR. Кривая точности-отклика аналогична ROC, но вместо построения FPR в сравнении с TPR мы строим отклик по оси x, а точность - по оси y. Как и для кривой ROC, мы можем вычислить площадь под кривой PR и использовать ее в качестве показателя для оценки различных моделей. Во время прогулки мне в голову пришла гениальная идея об обобщенном показателе, назовем его AUC-multi, много(>2)классовой классификации, который должен максимально хорошо разделять все классы. Он должен иметь следующую вероятностную интерпретацию: 1) случайно выбираем целевой класс и из него случайно выбираем элемент и получаем его оценку (вероятность принадлежности к целевому классу), 2) все остальные элементы нецелевых классов сваливаем в одну кучу, из которой опять случайно выбираем элемент и получаем его оценку (вероятность принадлежности к целевому классу), 3) разность этих вероятностей и будет значением показателя AUC-multi Дело осталось за малым - написать такой алгоритм ![]() Сообщение отредактировал DoctorStat - 16.03.2025 - 17:27 ![]() Просто включи мозги => http://doctorstat.narod.ru
|
|
![]() |
![]() |
![]() ![]() |