[заставка без звука] В этом видео мы поговорим о том, как решать задачи многоклассовой классификации с помощью линейных моделей. Итак, как следует из названия, в задачах многоклассовой классификации — K возможных классов. Например, на этой картинке изображена выборка, у которой три класса: синий, красный и зелёный. И нужно как-то научиться отличать каждый класс от всех остальных. В случае с бинарной классификацией наш подход был довольно простой. Мы находили такой вектор весов w, что знак скалярного произведения этого вектора весов на вектор признаков говорил, к какому классу относится тот или иной объект. На самом деле, этот подход можно расширить и применить его же к задаче многоклассовой классификации. Это называется — один против всех. Мы будем строить свой бинарный классификатор для каждого класса. И задачей этого классификатора будет отделение данного класса от всех остальных. Например, на этой картинке мы можем отделить зелёные точки от всех остальных с помощью такого линейного классификатора. А красные точки от всех остальных — с помощью вот такого. Давайте поговорим об этом подходе чуть более формально. Итак, Мы будем решать K задач бинарной классификации. Рассмотрим одну из них. Допустим, мы хотим отделить класс k от всех остальных классов. В этом случае у нас будет несколько специфичная выборка. Объекты x i-тое останутся такими же, а вот ответы будут бинарными. Ответ на i-том объекте будет = 1, если этот объект относится к классу k и — 0, если он относится к какому-то другому классу. Объектов в выборке будет столько же, сколько и в условной задаче — l штук. Мы построим некоторый линейный классификатор, который отделяет k-тый класс от всех остальных. Он будет иметь вид знака скалярного произведения электровесов в w k-тое на вектор признаков x. Как мы говорили раньше, если скалярное произведение больше 0, то классификатор считает, что объект относится к классу 1. В нашем случае это будет класс k. И чем больше значение этого скалярного произведения, тем больше классификатор уверен в этом решении. Таким образом, будет логично отнести объект к тому классу, уверенность в принадлежности к которому больше всего, то есть для которого скалярное произведение w k-тое на x больше всего. Именно так и будет выглядеть итоговый многоклассовый классификатор a(x). Он будет возвращать тот класс k, для которого скалярное произведение w k-того на x больше всего. Удобно смотреть на матрицу ошибок, когда мы пытаемся проанализировать, насколько хорошо работает наш многоклассовый классификатор. Она может выглядеть вот так. Каждая строка соответствует тем объектам, который классификатор отнёс к тому или иному классу, а каждый столбец соответствует объектам, который на самом деле относится к тому или иному классу. Например, на пересечении первой строки второго столбца будет стоять число q12, которое показывает, сколько объектов второго класса наш классификатор отнёс к первому классу. Эта матрица, например, может позволить понять, какие классы мы путаем между собой чаще всего. Можно измерять и знакомые нам метрики качества. Например, долю правильных ответов или accuracy. Формула её вычисления никак не поменяется в зависимости от числа классов — два их, три или сто. Также можно измерять точность и полноту для задачи отделения того или иного класса от всех остальных классов. Если мы вычислим такие точность и полноту для каждого из классов, после этого их можно усреднить, получив такие агрегированные оценки. Или, например, можно вычислить F-меру для сдачи отделения одного класса от всех остальных и потом усреднить этот показатель по всем классам. Итак, мы обсудили, что многоклассовые задачи можно решать путём нахождения нескольких бинарных классификаторов. Этих классификаторов будет столько, сколько у нас классов в исходной задаче. При этом, например, удобно смотреть на матрицу ошибок, которая позволяет понять, какие классы мы путаем между собой чаще всего. Или можно вычислять знакомые нам метрики качества: долю правильных ответов, точность, полноту или F-меру.