[БЕЗ_ЗВУКА] В этом видео мы поговорим о самых простых и наивных методах отбора признаков — одномерных методах. Нам понадобится несколько обозначений. Через xij будем обозначать значение j‐того признака на i‐том объекте. Через xj с верхней чертой — среднее значение j‐того признака по всей выборке. yi — значение целевой переменной или ответа на i‐том объекте. y с верхней чертой — среднее значение целевой переменной на всей выборке. Наша задача — оценить предсказательную силу или информативность каждого признака. То есть то, насколько хорошо по данному признаку можно предсказывать целевую переменную. Далее данные оцененной информативности можно использовать, например, чтобы отобрать k лучших признаков, k признаков с наибольшей информативностью. Или отобрать те признаки, у которых значение информативности больше порога, например больше некоторой квантили распределения информативности. Один из самых простых методов, который можно использовать, чтобы измерить связь между переменной, то есть признаком, и ответами, — это корреляция. Вы уже хорошо с ней знакомы и знаете, что она вычисляется по вот такой непростой формуле. Чем больше по модулю корреляция между признаком и целевой переменной, тем мы будем считать более информативным данный признак. При этом у корреляции, вспомним, есть одно интересное свойство: она максимальна по модулю, то есть равна +1 или −1, если между признаком и целевой переменной есть линейная связь. То есть если целевую переменную можно строго линейно выразить через значение признака. Это означает, что корреляция измеряет только линейную информативность, то есть способность признака линейно предсказывать целевую переменную. Обратим внимание, что корреляция, вообще говоря, расчитана на вещественные признаки и вещественные ответы. Тем не менее, её можно использовать в случае, если признаки и ответы бинарные. В этом случае имеет смысл кодировать бинарный признак или ответ с помощью значений −1 и +1. Рассмотрим немножко другую постановку задачи. Предположим, мы решаем задачу бинарной классификации и хотим оценить важность j‐того признака для решения именно этой задачи бинарной классификации. В этом случае мы можем попробовать построить классификатор, который использует лишь этот один j‐тый признак, и оценить его качество. Например, можно рассмотреть очень простой классификатор, который берёт значение j‐того признака на объекте, сравнивает его с порогом t. И если значение меньше этого порога — то он относит объект к первому классу, если же меньше порога — то к отрицательному классу: нулевому или минус первому, в зависимости от того, как мы его обозначили. Далее, поскольку этот классификатор зависит от параметра t, от порога t, то его качество можно измерить с помощью метрики вроде площади под ROC-кривой или площади под Precision-Recall кривой в зависимости от того, что важнее в данной задаче. Далее можно по данной площади отсортировать все признаки и выбирать лучшие. Есть и ещё один подход в одномерном оценивании качества признаков, который основан на метриках из теории информации. При этом совершенно не нужно знать теорию информации, чтобы использовать их. Примером такой метрики является взаимная информация, или mutual information. Давайте введём несколько обозначений, чтобы записать данную метрику. Она рассчитана на ситуацию, в которой и признак, и целевая переменная являются дискретными, то есть принимают конечное число значений. Будем считать, что у нас задача многоклассовой классификации. В этом случае целевая переменная принимает m разных значений, которые будем обозначать как 1, 2,..., m. И будем считать, что признак тоже принимает лишь n значений, которые обозначим как 1, 2,..., n. Поскольку для метрики взаимной информации не важны конкретные значения признаков, можно обозначать их вот так с помощью натуральных чисел. Вероятностью некоторого события будем обозначать долю объектов, для которых это событие выполнено. Например, вероятность того, что признак, значение признака равно v, а значение целевой переменной равно k, или P (x = v, y = k), будем вычислять как долю объектов, у которых значение признака равно v и одновременно значение целевой переменной равно k. Или, например, вероятность того, что x = v будем вычислять как долю объектов выборки, на которых значение j-того признака равняется v. Используя эти обозначения, введём взаимную информацию. Взаимная информация между j-тым признаком и целевой переменой вычисляется вот по этой сложной формуле. Она зависит как раз от вероятности того, что j-тый признак равен v, целевая переменная равна k одновременно, и от маргинальных вероятностей, то есть отдельных вероятностей событий, что признак, j-тый признак равен v и целевая переменная равна k. Главная особенность взаимной информации состоит в следующем. Предположим, что события «признак принимает значение v» и «целевая переменная принимает значение k» независимы, то есть значение признака и целевой переменной никак не связаны между собой. В этом случае совместная вероятность, которая стоит в числителе под логарифмом, распадётся на две маргинальные вероятности: Px = v и Py = k. Тогда числитель и знаменатель сократятся, и под логарифмом окажется единица. Логарифм единицы равен нулю, и взаимная информация равна нулю. То есть взаимная информация будет равна нулю, если признак и целевая переменная независимы. Если же между ними есть какая-то связь, то взаимная информация будет отличаться от нуля. Причём она может быть как больше, так и меньше нуля. Это означает, что информативность признаков нужно оценивать по модулю взаимной информации. Обсудим некоторые проблемы подхода, в котором мы оцениваем важности всех признаков по отдельности. Вот простой пример двумерной выборки, для которой нужно решить задачу классификации. Заметьте, если спроецировать данную выборку на ось абсцисс, на ось x, то она будет как-то разделима. Да, там будут ошибки, но более-менее класс разделить можно. Если же спроецировать данную выборку на ось ординат, на ось y, то все объекты разных классов перемешаются, и выборка будет практически неразделима. В этом случае любой метод одномерного оценивания информативности признаков скажет, что первый признак более-менее информативен, второй признак — совершенно не информативен. Тем не менее, если использовать эти признаки одновременно, то эти классы будут разделимы идеально. То есть, на самом деле, второй признак важен, но он важен только в совокупности с первым признаком, и методы, которые мы только что обсудили, не способны это обнаружить. А вот ещё более тяжёлый пример. В этом случае, если спроецировать выборку на ось x или на ось y, то объекты классов перемешаются, и в обоих случаях данные будут совершенно неразделимы, задачи будут нерешаемые. И опять же, любой из методов, которые мы обсудили, скажет, что оба признака совершенно не информативны. Тем не менее, если использовать их одновременно, то, например, решающее дерево может идеально решить данную задачу классификации. Итак, мы обсудили разные подходы к одномерному отбору признаков. Например, измерение корреляции, измерение взаимной информации или измерение площади под кривой для простого классификатора, который просто выбирает класс, отсекая по порогу значения признака. Тем не менее, у этих подходов есть некоторые проблемы. Они не учитывают взаимосвязь признаков, зависимость целевой переменной от сложных комбинаций признаков. В следующем видео мы поговорим о методах, которые позволяют учитывать такие взаимосвязи при отборах признаков, о жадных методах отбора признаков.