Чем больше я работаю над проектами машинного обучения, тем больше у меня возникает вопросов о деревьях решений. Но деревья — это черный ящик для новичков. Что делают деревья?
В этом посте я покажу, как визуализировать деревья и понять энтропию, стоящую за этим методом. Идея деревьев решений — это просто бинарные вопросы для каждого разделения данных.
В этой записной книжке Jupyter я предоставил несколько кодов для визуализации деревьев решений, если вы хотите попробовать это сделать самостоятельно.
Энтропия — это ключевой шаг в деревьях решений. Что такое энтропия тогда?
Энтропия — это понятие, используемое в физике, информатике и т. д. И если вы проверите определение энтропии в Википедии, вы наверняка запутаетесь.
Метафора для объяснения энтропии звучит так: «Энтропия — это мера беспорядка» от физиков.
Представьте себе эту грязную комнату, обычно вы можете использовать субъективную меру, чтобы оценить, насколько она грязная.
К счастью, визуальный осмотр можно заменить более математическим подходом к данным.
Существует математическая функция для оценки беспорядка среди математических объектов, и мы применим ее к нашим данным.
почему энтропия важна в деревьях решений?
В деревьях решений цель состоит в том, чтобы привести данные в порядок. Вы пытаетесь разделить свои данные и сгруппировать образцы по классам, к которым они принадлежат. Значение энтропии меньше, что означает, что данные более аккуратны.
Математическое определение энтропии
Представим, что у нас всего N предметов. n принадлежит метке 1, m принадлежит метке 2. Отношение p=n/N, q=m/N.
Энтропия этого набора определяется следующим уравнением:
E=-plog2(p)-qlog2(q)
Набор считается аккуратным, если он содержит только предметы с одинаковыми метками, и беспорядочным, если он представляет собой смесь предметов с разными метками.
Таким образом, деревья решений здесь для того, чтобы упорядочить набор данных, просматривая значения векторов признаков. На каждом шаге вы хотите уменьшить энтропию, поэтому эта величина вычисляется до разреза и после разреза. Если он уменьшается, разделение подтверждается, в противном случае мы должны попытаться разделить с другой функцией или остановить эту ветвь.
Посмотрите на функцию энтропии,
х есть р, у есть энтропия.
Функция энтропии симметрична (извините за мой рисунок от руки).
Энтропия всегда будет между 0 и 1. На самом деле, вы хотите увидеть этот сценарий, разделенный больший набор данных имеет более низкую энтропию, чем до разделения. В противном случае это дерево не проверяется.
Заключение
Энтропия — это не просто математическая формула, она имеет простую интерпретацию, понятную каждому. Я надеюсь, что вы нашли этот пост полезным!