Машинное обучение, чтобы предсказать вероятность класса

20

Я ищу классификаторы, которые выводят вероятности того, что примеры принадлежат одному из двух классов.

Я знаю о логистической регрессии и наивных байесовских, но можете ли вы рассказать мне о других, которые работают аналогичным образом? То есть классификаторы, которые предсказывают не классы, к которым относятся примеры, а вероятность того, что примеры соответствуют конкретному классу?

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

Гьян Веда
источник

Ответы:

5

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

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

Прогнозирование вероятностей не то, что принимается во внимание при разработке классификаторов. Это дополнительное, которое отвлекает от эффективности классификации, поэтому оно отбрасывается. Однако вы можете использовать любой двоичный классификатор, чтобы узнать фиксированный набор вероятностей классификации (например, «p в [0, 1/4], или [1/4, 1/2], или ...») с помощью « прощупывание "сокращения Лэнгфорда и Задрозного.

Rauli
источник
4
«Прогнозирование вероятностей - это не то, что принимается во внимание при разработке классификаторов». Я не уверен, было ли это правдой в 2013 году, но почти наверняка это неверно в 2018 году.
Мэтью Друри
9

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

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

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

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

jpmuc
источник
2

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

Существует также вопрос формы базовой модели. Если у вас есть полиномиальное взаимодействие с вашими данными, то ванильная логистическая регрессия не сможет хорошо ее смоделировать. Но вы можете использовать версию логистической регрессии с ядром, чтобы модель лучше соответствовала данным. Обычно это увеличивает «добротность» выходов вероятности, поскольку вы также повышаете точность классификатора.

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

В конце концов, обычно проще повысить качество ваших оценок вероятности, выбрав модель, которая может лучше представлять данные. В этом смысле не имеет большого значения, как вы получаете вероятности. Если вы можете получить точность 70% с помощью логистической регрессии и 98% с помощью SVM - тогда просто предоставив одну лишь «полную уверенность», вы сделаете ваши результаты «лучше» с помощью большинства методов оценки, даже если они не являются действительно вероятностями (и тогда вы можете выполнить калибровку, о которой я упоминал ранее, что делает их на самом деле лучше).

Тот же вопрос в контексте невозможности получить точный классификатор более интересен, но я не уверен, что кто-либо изучал / сравнивал в таком сценарии.

Raff.Edward
источник