Я ищу классификаторы, которые выводят вероятности того, что примеры принадлежат одному из двух классов.
Я знаю о логистической регрессии и наивных байесовских, но можете ли вы рассказать мне о других, которые работают аналогичным образом? То есть классификаторы, которые предсказывают не классы, к которым относятся примеры, а вероятность того, что примеры соответствуют конкретному классу?
Бонусные баллы за любые мысли, которыми вы можете поделиться о преимуществах и недостатках этих различных классификаторов (включая логистическую регрессию и наивный байесовский анализ). Например, некоторые лучше для классификации нескольких классов?
Другой возможностью являются нейронные сети, если вы используете кросс-энтропию в качестве функционала стоимости с сигмоидальными единицами вывода. Это даст вам оценки, которые вы ищете.
Нейронные сети, а также логистическая регрессия являются дискриминационными классификаторами, что означает, что они пытаются максимизировать условное распределение данных обучения. Асимптотически в пределе бесконечных выборок обе оценки приближаются к одному и тому же пределу.
Вы найдете подробный анализ этого вопроса в этой статье . Основная идея заключается в том, что, хотя порождающая модель имеет более высокую асимптотическую ошибку, она может приблизиться к этой асимптотической ошибке гораздо быстрее, чем дискриминационная модель. Следовательно, какой из них взять, зависит от вашей проблемы, имеющихся данных и ваших конкретных требований.
Наконец, рассмотрение оценок условных вероятностей как абсолютной оценки, на которой основываются решения (если это то, что вам нужно), не имеет большого смысла в целом. Важно, учитывая конкретную выборку, рассмотреть классы лучших кандидатов, выведенные классификатором, и сравнить соответствующие вероятности. Если разница между двумя лучшими оценками высока, это означает, что классификатор очень уверен в своем ответе (не обязательно правильный).
источник
Их много - и то, что работает лучше всего, зависит от данных. Есть также много способов обмана - например, вы можете выполнить калибровку вероятности на выходах любого классификатора, который дает некоторое подобие оценки (то есть: произведение точки между вектором веса и входом). Наиболее распространенный пример этого называется масштабированием Платта.
Существует также вопрос формы базовой модели. Если у вас есть полиномиальное взаимодействие с вашими данными, то ванильная логистическая регрессия не сможет хорошо ее смоделировать. Но вы можете использовать версию логистической регрессии с ядром, чтобы модель лучше соответствовала данным. Обычно это увеличивает «добротность» выходов вероятности, поскольку вы также повышаете точность классификатора.
Как правило, большинство моделей, которые дают вероятности, обычно используют логистическую функцию, поэтому может быть трудно сравнивать. Это просто имеет тенденцию хорошо работать на практике, байесовские сети являются альтернативой. Наивный Байес просто делает слишком упрощенное предположение, чтобы его вероятности были хорошими - и это легко наблюдается в любом наборе данных разумного размера.
В конце концов, обычно проще повысить качество ваших оценок вероятности, выбрав модель, которая может лучше представлять данные. В этом смысле не имеет большого значения, как вы получаете вероятности. Если вы можете получить точность 70% с помощью логистической регрессии и 98% с помощью SVM - тогда просто предоставив одну лишь «полную уверенность», вы сделаете ваши результаты «лучше» с помощью большинства методов оценки, даже если они не являются действительно вероятностями (и тогда вы можете выполнить калибровку, о которой я упоминал ранее, что делает их на самом деле лучше).
Тот же вопрос в контексте невозможности получить точный классификатор более интересен, но я не уверен, что кто-либо изучал / сравнивал в таком сценарии.
источник