Содержание
Краткое введение в машину опорных векторов — Адитья Рохилла
Машина опорных векторов (SVM) — один из самых популярных классификаторов машинного обучения. Он подпадает под категорию контролируемых алгоритмов обучения и использует концепцию маржи для классификации классов. Он дает лучшую точность, чем KNN, деревья решений и наивный байесовский классификатор, и, следовательно, весьма полезен.
Кому следует читать это сообщение
Любой, кто уже знаком с концепциями машинного обучения и заинтересован в изучении SVM. Если вы новичок в этой области, сначала прочитайте этот пост.
Прочитав этот пост, вы узнаете:
- Что такое SVM
- Как использовать классификатор SVM от Sklearn (Python)
- Настройка его параметров для получения лучших результатов
Итак, начнем!
Что такое SVM?
Как упоминалось ранее, SVM относится к классу контролируемых алгоритмов, используемых для классификации. Давайте начнем с примера с двумя классами:
Учитывая классы X1 и X2, мы хотим найти границу решения, которая лучше всего разделяет два класса, то есть с минимальной ошибкой.
SVM делает это с помощью ‘H y per plane’ . Теперь эта гиперплоскость может быть одной линией в случае двумерных данных и может быть плоскостью в трехмерных.
Кредиты: ResearchGate.com
Не вдаваясь в математику за кулисами, давайте разберемся здесь с некоторыми основными функциями.
Машины опорных векторов используют концепцию «Опорные векторы » , которые являются ближайшими точками к гиперплоскости.
В приведенном выше примере красная линия обозначает границу нашего решения, которая разделяет 2 класса (синие звезды и красные круги), а линии с дефисом представляют наши « Margin’ , зазор, который нам нужен между опорными векторами обоих классов.
Маржа определяется с помощью опорных векторов (отсюда и название). В нашем примере желтые звезды и желтые круги являются опорными векторами, определяющими маржу. Чем лучше разрыв, тем лучше работает классификатор. Следовательно, опорные векторы играют важную роль в разработке классификатора.
Каждая новая точка данных в тестовых данных будет классифицироваться в соответствии с этим пределом. Если он находится справа от него, он будет классифицирован как красный круг, иначе как синяя звезда.
Самое приятное то, что SVM также может классифицировать нелинейные данные.
Кредиты: Stackexchange.com
В случае с нелинейными данными все становится немного сложнее. Здесь SVM использует ‘K ernel-trick ’ , он использует функцию ядра для отображения нелинейных данных в более высокие измерения, чтобы они стали линейными и нашли там границу решения.
Функция ядра всегда используется SVM, будь то линейные или нелинейные данные, но ее основная функция вступает в игру, когда данные неразделимы в своей текущей форме. Здесь функция ядра добавляет измерения к проблеме для классификации.
Теперь давайте посмотрим код.
Использование машин опорных векторов
С помощью Sklearn вы можете использовать возможности классификатора SVM, написав всего несколько строк кода.
из импорта sklearn svm # Использование линейной функции ядра Классификатор clf = svm.SVC(kernel='linear') #Обучение нашего классификатора на обучающем наборе с метками ''' X_train — ваши тренировочные данные y_train — соответствующие метки y_pred — прогнозируемые выборки тестовых данных X_test ''' clf.fit(X_train, y_train) # Прогнозирование вывода на тестовом наборе y_pred = clf.predict(X_test) #В поисках точности print("Точность:",metrics.accuracy_score(y_test, y_pred))
Как видите, в данном случае мы используем линейное ядро. В зависимости от задачи вы можете использовать различные типы функций ядра:
- Линейная
- Полиномиальная
- Радиальная базисная функция
- Гауссова
- Лапласа
… и многие другие. Выбор правильной функции ядра важен для построения классификатора. В следующем разделе мы настроим гиперпараметры, чтобы сделать наш классификатор еще лучше.
Полный код доступен здесь.
Если вам скучно, вот вам милый кот!
Параметры настройки
Ядро : Мы уже обсуждали, насколько важны функции ядра. В зависимости от характера проблемы необходимо выбрать правильную функцию ядра, поскольку функция ядра определяет гиперплоскость, выбранную для проблемы. Вот список наиболее часто используемых функций ядра.
Регуляризация : Вы когда-нибудь слышали о термине «переоснащение»? Если вы этого не сделали, я думаю, вам следует изучить некоторые основы здесь. В SVM, чтобы избежать переобучения, мы выбираем мягкую маржу вместо жесткой, т. е. мы позволяем некоторым точкам данных намеренно входить в нашу маржу (но мы все равно штрафуем ее), чтобы наш классификатор не переоснащался на нашей обучающей выборке. Здесь появляется важный параметр Гамма (γ), который управляет переоснащением в SVM. Чем выше гамма, тем выше гиперплоскость пытается соответствовать обучающим данным. Таким образом, выбор оптимальной гаммы, чтобы избежать как переобучения, так и недообучения, является ключом.
Штраф за ошибку: Параметр C представляет штраф за ошибку за неправильную классификацию для SVM. Он поддерживает компромисс между более гладкой гиперплоскостью и неправильными классификациями. Как упоминалось ранее, мы допускаем некоторые неправильные классификации, чтобы избежать переобучения нашего классификатора.
Это наиболее важные параметры, используемые для настройки классификатора SVM.
В целом SVM имеет много преимуществ, поскольку обеспечивает высокую точность, имеет низкую сложность, а также хорошо работает с нелинейными данными. Недостатком является то, что для этого требуется больше времени на обучение по сравнению с другими алгоритмами, такими как наивный байесовский алгоритм.
Вот и все для SVM! Если у вас есть какие-либо вопросы, дайте мне знать в комментариях.
Поздравляем с завершением поста!
Вот вам печенье
Не ешьте слишком много
Подходы к регуляризации для машин опорных векторов с приложениями к биомедицинским данным — MIT Media Lab
Подходы к регуляризации для машин опорных векторов с приложениями к биомедицинским данным — MIT Media Lab
Найдите людей, проекты и т. д.
29 октября 2017 г.
Люди
Даниэль Лопес Мартинес
Научный сотрудник
Группы
архив:1710.10600
Машина опорных векторов (SVM) — это широко используемый инструмент машинного обучения для классификации на основе теории статистического обучения. Учитывая набор обучающих данных, SVM находит гиперплоскость, которая разделяет два разных класса точек данных на наибольшее расстояние. В то время как стандартная форма SVM использует регуляризацию L2-нормы, другие подходы к регуляризации особенно привлекательны для наборов биомедицинских данных, где, например, разреженность и интерпретируемость значений коэффициентов классификатора являются весьма желательными характеристиками. Поэтому в этой статье мы рассматриваем различные типы подходов к регуляризации для SVM и исследуем их как в синтетических, так и в реальных наборах биомедицинских данных.
через arXiv
Связанный контент
Артикул
Исследования
Эпидемия опиоидов может иметь нового врага в «глубоком обучении с подкреплением» на основе ИИ
В новом исследовании кандидат наук Даниэль Лопес-Мартинес из Массачусетского технологического института и его коллеги использовали данные о более чем 40 000 госпитализаций
через ИИ в здравоохранении · 29 июля 2019 г.
в аффективных вычислениях
#искусственный интеллект #общественное здравоохранение #благополучие
Публикация
Исследования
Многозадачные нейронные сети для персонализированного распознавания боли по физиологическим сигналам
Лопес-Мартинес, Д. , и Пикард, Р. «Многозадачные нейронные сети для персонализированного распознавания боли по физиологическим сигналам», Международная конференция по аффективным вычислениям и интеллектуальному взаимодействию (ACII), семинар по инструментам и алгоритмам для психического здоровья и благополучия, Боль и бедствие (MHWPD), Сан-Антонио, Техас, октябрь 2017 г.
Академический доклад, октябрь 2017 г.
в аффективных вычислениях
Публикация
Исследования
Индивидуальная автоматическая оценка интенсивности боли по выражению лица
Даниэль Лопес-Мартинес, Огнен Рудович и Розалинд В. Пикард. «Персонализированная автоматическая оценка интенсивности боли по выражению лица». Конференция IEEE 2017 г. по компьютерному зрению и семинарам по распознаванию образов (CVPRW) (2017 г.): 2318-2327.
Академический доклад, июль 2017 г.
в аффективных вычислениях
Публикация
Исследования
Непрерывная оценка интенсивности боли по вегетативным сигналам с рекуррентными нейронными сетями
Лопес-Мартинес Д.