Привет! Это снова я, Алексей из команды ИИ проекта Inspiart EYS. В этот раз я хотел бы немного рассказать о задаче классификации и ее возможном применении в системе автоматического сведения звука.
Задача классификации
Задача классификации – одна из наиболее известных задач. Она заключается в построении алгоритма, способного классифицировать (определить принадлежность) произвольные объекты по определенным, заранее установленным классам.
Например, у нас есть выборка фотографий котов и собак. В данном случае нам необходимо построить алгоритм, который будет способен разделить фотографии на два класса: фотографии собак и фотографии котов.
А можно классифицировать аудиофайлы по инструментам, которые звучат в данном файле (каждый файл содержит только один инструмент: или гитару, или пианино, или барабаны и т.д.). Хороший классификатор позволит определять инструмент и накладывать на него соответствующие эффекты, что в свою очередь может улучшить систему автоматического сведения звука.
Алгоритмы решения
Для решения данной задачи были придуманы различные алгоритмы. Я хотел бы вкратце рассказать о некоторых из них.
Метод опорных векторов (Support Vector Machine, SVM)
Данный алгоритм является линейным классификатором. Основная идея заключается в нахождении гиперплоскости, разделяющей классы. Если нельзя линейно разделить классы, исходные вектора переводятся в пространство более высокой размерности и ищется разделяющая гиперплоскость в данном пространстве. После нахождения разделяющей гиперплоскости ее проецируют обратно на исходное измерение.
Метод k-ближайших соседей (k-nearest neighbors algorithm, k-NN)
Метод k-ближайших соседей является одним из самых простейших классификаторов. Основная идея заключается в том, что объект, который необходимо классифицировать, принадлежит к тому же классу, что и его ближайшие соседи. Соответственно, сначала находятся ближайшие соседи к данному объекту, а потом на основании того, к каким классам принадлежат соседи, принимается решение. Для принятия решения может использоваться как и простое “большинство”, так и другие более сложные варианты выбора класса.
Искусственные нейронные сети (Neural Networks or basically Deep Neural Networks, DNN)
Также в последнее время показали невероятные результаты в разных областях классификаторы, построенные на основе искусственных нейронных сетей. Основная идея данных классификаторов заключается в обучении нейронной сети на большой выборке данных. Во время обучения нейронная сеть находит сложные зависимости между данными, что позволяет решать сложные многоклассовые задачи.
Существуют много различных алгоритмов классификации, и выбор подходящего зависит от конкретной задачи.