Наивный байес и категоризация

Сейчас я расскажу вам о модели наивного байеса.



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



Хромосомы, член, борода – это признаки. В рамках модели считаем их объективными – можно напрямую пронаблюдать, какие они, заглянуть в штаны. Мужчина и женщина – это категории. Они нечеткие и они надуманные, у нас могут быть исключения, когда у человека какие-то признаки “мужские”, а какие-то “женские”, например, женщина-бодибилдер с большой мышечной массой. У нас нет строго объективного теста, кто является мужчиной, а кто является женщиной, есть только корреляты. Причем они разной силы – Y-хромосома обозначает мужчин почти всегда с редкими исключениями и хромосомным аберрациями, а мышечная масса это что-то на уровне “ну в среднем у мужчин больше”, и наличие женщины с большой или мужчины с маленькой мышечной массой никого не удивит.



Постановка задачи: зная какие-то признаки, надо предсказать другие. То есть, мы задаем вопросы типа:



У человека Y-хромосома, какая вероятность, что у него есть член?



У человека нет члена и он говорит басом, какая вероятность, что он может отрастить бороду и обладает низкой мышечной массой?



По-хорошему для строгого решения этой задачи надо брутфорсить все условные вероятности. Проблема в том, что размер такого вычисления с ростом числа признаков растет быстрее, чем экспоненциально! И даже это только если признаки да\нет; если они сложнее, то все еще хуже. Реально что-то считать по такой методике очень долго, придется кросс-референсить всю сетку вероятностей.



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





Как несложно догадаться, от этих предположений точность модели сильно падает – ее предсказания будут не такими хорошими, как у брутфорса. Зато ее размер растет с количеством признаков линейно! Она тренируется очень быстро на малом количестве данных и быстро и считается. Спам-фильтры в почтах, например, работают именно на такой модели, потому что их нужно очень быстро перетренировывать при появлении новых стратегий спама, и мы не можем себе позволить проходить через всю базу писем каждый раз, как пользователю приходит подозрительное письмо.



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



Человеческий мозг реализует наивного байеса нативно, на нейронном уровне. Это стиль мышления “по умолчанию”; если ты не делаешь сознательного усилия, чтобы думать иначе, то ты будешь думать наивным байесом. Собственно, я слышала от врача, он вообще говорил, что даже если ты пытаешься думать не-наивным байесом, то все равно получается каскад нескольких вложенных наивных байесов, а утверждение “людей нельзя однозначно разделить на мужчин и женщин” интерпретируется как “людей можно однозначно разделить на мужчин, женщин и интерсексов” – я не знаю, на самом деле ли это так, источников он не привел, но это довольно депрессивная перспектива. Но в целом, для ситуаций, под которые наш мозг эволюционировал, это логично (биологическое упрощение далее). Ты видишь в кустах животное, ты хочешь предсказать, будет ли оно на тебя нападать и надо ли тебе сейчас убегать, на основе тех признаков, которые ты наблюдаешь. И это решение надо принять быстро – если оно на тебя планирует нападать, а ты промедлишь, то ты можешь умереть. Поэтому проще всего будет зафреймить вопрос как “тигр это или газель?” и предположить, что тигр на тебя нападать будет, а газель не будет. Это работает хорошо, потому что на тигров и газелей животные делятся однозначно – смешанных химер, которые выглядят как газели, но перегрызут тебе горло, можно не особо ожидать встретить. Вот весь мозг вокруг такой архитектуры и крутится.



Если кто не понял еще, это к моему отношению к строгим определениям в споре. Люди обожают определения, потому что их стиль мышления – наивный байес – начинается с того, что ты конкретизируешь категории. Кажется, что только после этого можно начать разговор. Когда ты спрашиваешь “что ты имеешь в виду под социализмом?”, ты пытаешься разбить рассматриваемые объекты на социализмы и не-социализмы, и потом вместо того, чтобы считать корреляции между признаками напрямую, ты пытаешься скоррелировать их через то, относятся они к социализму или нет.



И когда ты это делаешь, ты теряешь точность. Это трейдофф – чем точнее твое определение (чем более однозначное и четко сформулированное разделение на категории оно предполагает), тем менее точны выводы, в смысле предсказания конкретных объективных признаков, которые ты на основе него делаешь. С четкими определениями спорить легко и приятно, они ложатся на архитектуру мозга, чувствуются максимально правильно и корректно, и они в целом быстрее, там меньше ходьбы по кругу, меньше проблем с недопониманием, как у нечетких определений; но они теряют привязку к реальности – имеют меньшую предсказательную силу, менее полезны в попытке реально понять реальные признаки. И чем более размыты изначально категории, с которыми приходится работать, тем больше предсказательной силы они теряют при попытке их конкретизировать.



Я в раннем диалоге на тему приводила в пример математику, где спрашивать про определения терминов допустимо и даже необходимо. Потому что в математике сущности делятся на категории максимально четко и строго, четче, чем в любой другой сфере человеческой деятельности, поэтому от перехода к наивному байесу информация не теряется, можно продолжать разговор. Другие “хардовые” точные дисциплины тоже сюда можно записать. А вот о более субъективных и абстрактных вещах – политике, там, морали, искусстве – попытка что-то “объективно” конкретизировать лишает разговор всякой объективности, потому что точность предсказания объективных признаков падает до уровня околорандома. Оно и понятно любому профану от биологии – в условиях, в которых эволюционировал человеческий мозг, таких понятий не существовало, развить соответствующую нейронную архитектуру нам возможности не было.



Самое плохое тут, впрочем, даже не потеря точности, а то, что интуитивно кажется, что на определении категории разговор окончен. Большая часть вычислительных сил в наивном байесе уходит на определение центральной переменной на основе известных признаков, а потом определение неизвестных выполняется буквально одним произведением векторов – если тигр, то беги, что уж там. Оно происходит настолько моментально и настолько подсознательно, что даже неясно, что там есть еще шаги. “Золотой Грааль” морали, например, порой формулируется как умение отличать добро от зла. Мол, если у тебя есть 100% объективный и правильный способ определять, что хорошо, а что плохо, то все, на этом мораль решена, можно похлопать себя по спине и остановиться, даже неочевидно, о чем еще там дальше можно спорить. Хотя это просто определение категории, которой и не существует вообще! А до предсказания реальных признаков в реальном мире еще так-то долго, просто этот шаг выполняется моментально и неосознанно, и он несет в себе все ошибки точности, которые к этому моменту накопил наивный байес.



Я бы хотела назвать это копом в голове, но, увы, это никем не навязано и никак от этого не избавиться, это просто факт работы мозга, против которого не попрешь. Но хотя бы стоит осознавать этот недостаток своего ограниченного хуманского тела и понимать необходимость категорий и определений для диалога не как что-то правильное и достойное, в пользу чего надо спорить, а как препятствие, с которым приходится мириться и под которое надо подстраиваться.


Другие посты
Подписаться