Сзв м кто должен сдавать: Форма СЗВ-М и сроки сдачи 2022 году — Контур.Экстерн — СКБ Контур

Машина опорных векторов

Содержание

— объяснение | by Soner Yıldırım

Машина опорных векторов (SVM) — это контролируемый алгоритм машинного обучения, который в основном используется для задач классификации. Он также подходит для задач регрессии.

Алгоритмы обучения с учителем пытаются предсказать цель (зависимую переменную) с использованием признаков (независимых переменных). В зависимости от характеристик целевой переменной это может быть задача классификации (дискретная целевая переменная) или задача регрессии (непрерывная целевая переменная). Прогнозирование выполняется с помощью функции сопоставления, которая сопоставляет независимые переменные с зависимыми переменными. Функция отображения для SVM представляет собой граница решения , которая делает различие между двумя или более классами. Как нарисовать или определить границу решения — самая важная часть алгоритмов SVM.

Перед созданием границы решения каждое наблюдение (или точка данных) отображается в n-мерном пространстве. «n» — количество используемых функций. Например, если мы используем «длину» и «ширину» для классификации различных «ячеек», наблюдения отображаются в двумерном пространстве, а граница решения — линия.

SVM в двумерном пространстве

Это очень простой пример, просто чтобы проиллюстрировать идею SVM. Маловероятно, что вы столкнетесь с такой задачей в реальной жизни. Границей решения в данном случае является линия. Если мы используем 3 функции, граница решения представляет собой плоскость в трехмерном пространстве. Если мы используем более 3 функций, граница решения становится гиперплоскостью, которую очень трудно визуализировать.

Опорные векторы

Основная мотивация состоит в том, чтобы нарисовать границу решения, которая максимизирует расстояние до опорных векторов. Граница решения рисуется таким образом, чтобы расстояние до опорных векторов было максимальным. Если граница решения слишком близка к опорному вектору, она будет очень чувствительна к шумам и плохо обобщается. Даже очень небольшие изменения в независимых переменных могут привести к неправильной классификации.

Неправильный выбор границы решения

Точки данных не всегда линейно отделимы, как на рисунке выше. В этих случаях SVM использует трюк ядра , который измеряет сходство (или близость) точек данных в многомерном пространстве, чтобы сделать их линейно разделимыми. Это легче понять с рисунками ниже. Как видите, два разных класса в двумерном пространстве нельзя разделить линией. Использование трюка с ядром делает их линейно разделимыми:

Рисунок исходный Рисунок исходный код

Прежде чем я подробно расскажу о трюках с ядром, я хотел бы упомянуть c параметр и концепцию под названием «мягкий запас».

Реальные данные зашумлены и в большинстве случаев неразделимы линейно. Стандартный SVM пытается разделить все положительные и отрицательные примеры (т. е. два разных класса) и не позволяет неправильно классифицировать какие-либо точки. Это приводит к переоснащению модели или, в некоторых случаях, невозможно найти границу решения с помощью стандартного SVM. SVM с переобучением достигает высокой точности с обучающим набором, но не будет хорошо работать на новых, ранее невиданных примерах. Чтобы решить эту проблему, в 1995, Кортес и Вапник, предложили идею SVM с «мягкой границей», которая позволяет неправильно классифицировать некоторые примеры или находиться на неправильной стороне границы решения. Мягкая маржа SVM часто приводит к лучшей обобщенной модели. При определении границы решения SVM с мягким запасом пытается решить задачу оптимизации со следующими целями:

  • Увеличить расстояние границы решения до классов (или опорных векторов)
  • Максимизировать количество точек, которые правильно классифицированы в обучающем наборе

Очевидно, что между этими двумя целями есть компромисс. Граница решения может быть очень близка к одному конкретному классу, чтобы правильно пометить все точки данных в обучающем наборе. Однако в этом случае точность набора тестовых данных может быть ниже, поскольку граница решения слишком чувствительна к шуму и небольшим изменениям независимых переменных. С другой стороны, граница решения может быть максимально удалена от каждого класса за счет некоторых ошибочно классифицированных исключений. Этот компромисс контролируется параметр с.

Параметр C добавляет штраф за каждую неправильно классифицированную точку данных. Если c мало, штраф за ошибочную классификацию баллов будет низким, поэтому граница решения с большим запасом выбирается за счет большего количества ошибочных классификаций. Если c велико, SVM пытается свести к минимуму количество неправильно классифицированных примеров из-за высокого штрафа, что приводит к границе решения с меньшим запасом. Штраф не одинаков для всех неправильно классифицированных примеров. Оно прямо пропорционально расстоянию до границы решения.

Функция ядра является своего рода мерой сходства. Входные данные — исходные признаки, а выходные данные — мера сходства в новом пространстве признаков. Сходство здесь означает степень близости. Это дорогостоящая операция по фактическому преобразованию точек данных в многомерное пространство признаков. Алгоритм фактически не преобразует точки данных в новое многомерное пространство признаков. Kernelized SVM вычисляет границы решений с точки зрения мер подобия в многомерном пространстве признаков без фактического преобразования. Я думаю, поэтому его также называют трюк с ядром .

Источник рисунка

В scikit-learn доступны следующие функции ядра: линейная, полиномиальная, радиальная базисная функция (RBF) и сигмоидальная.

RBF (или Gaussian RBF) — широко используемая функция ядра. Он определяется параметром gamma , который в основном контролирует расстояние воздействия одной тренировочной точки. Низкие значения гаммы указывают на большой радиус подобия, что приводит к группировке большего количества точек. При высоких значениях гаммы точки должны располагаться очень близко друг к другу, чтобы их можно было отнести к одной группе (или классу). Следовательно, модели с очень большими значениями гаммы имеют тенденцию к переобучению. Следующие визуализации лучше объясняют концепцию:

Источник цифр

По мере уменьшения гаммы области, разделяющие разные классы, становятся более обобщенными. Очень большие значения гаммы приводят к слишком специфичным областям класса (переоснащение).

Для линейного ядра нам просто нужно оптимизировать параметр c. Однако, если мы хотим использовать ядро ​​RBF, параметры c и gamma должны быть оптимизированы одновременно. Если гамма велика, влияние с становится незначительным. Если гамма мала, c влияет на модель точно так же, как на линейную модель. Типичные значения c и gamma следующие. Однако в зависимости от приложения могут существовать конкретные оптимальные значения:

0,0001 < gamma < 10

0,1 < c < 100

Очень важно помнить, что для SVM необходимо нормализовать входные данные, чтобы признаки находились в одном масштабе и были совместимы.

Плюсы:

  • Эффективен в случаях, когда количество измерений превышает количество выборок
  • При нахождении границы решения используется подмножество обучающих точек, а не все точки, поэтому эффективно используется память
  • Универсальный, он предоставляет различные типы функций ядра, а также позволяет создавать собственные функции ядра

Минусы:

  • Требуется тщательная нормализация
  • Трудно понять логику прогнозов
  • Когда у нас есть большой набор данных, обучение время увеличивается, что негативно влияет на производительность

Я хочу рассмотреть простой случай, чтобы показать синтаксис и шаги, которые необходимо выполнить. Начнем с импорта необходимых нам библиотек:

Scikit-learn также предоставляет наборы данных для практики. Набор данных по раку молочной железы подходит для нашей задачи:

Нам нужно разделить набор данных для обучения и тестирования, используя функцию scikit-learn train_test_split . Затем я создаю объект машины опорных векторов для классификации с линейным ядром и обучаю его, используя набор данных поезда:

Используя нашу обученную модель, мы можем предсказать целевую переменную в тестовом наборе данных и измерить точность модели:

95% — это довольно хорошая точность, но для задач классификации есть еще две меры: точность и отзыв . Эти термины настолько важны, что могут стать темой отдельного поста. На самом деле, они четко объяснены в ускоренном курсе Google по машинному обучению.

Это была простая линейно разделимая задача. Для случаев, которые не являются линейно разделимыми, мы можем использовать ядра, используя параметр ядра SVC (т.е. ядро ​​​​= ‘rbf’). Я не указывал параметр c, поэтому использовалось значение по умолчанию (c=1). Чтобы найти лучшие параметры, мы можем использовать GridSearchCV() функция scikit-learn.

Спасибо, что прочитали. Пожалуйста, дайте мне знать, если у вас есть какие-либо отзывы.

  • Деревья решений и случайные леса — объяснение
  • Наивный байесовский классификатор — объяснение
  • Обработка пропущенных значений с помощью Pandas
  • Прогнозирование цен на подержанные автомобили с помощью машинного обучения
  • Очистка и анализ данных с бонусной историей 902930 9 /datafreakankur.com/machine-learning-kernel-functions-3d-visualization/
  • https://www.sciencedirect.com/science/article/pii/B978012811318

    72

  • https://datatuts.com/svm-parameter-tuning/
  • https://jakevdp.github.io/PythonDataScienceHandbook/05.07 -support-vector-machines.html

Эффективность метода опорных векторов при анализе медицинских данных | Программа инженерного образования (EngEd)

Анализ данных здравоохранения сопряжен со многими проблемами и трудностями. Большинство ключевых проблем в области анализа медицинских данных связаны со сбором соответствующих данных и отсутствием алгоритмов для анализа этих данных. Это эффективно повлияло на способность извлекать скрытую информацию из медицинских данных, что затруднило достижение клинических целей, основанных на данных. Это повлияло на способность в достаточной мере решать важнейшие проблемы здравоохранения в мире.

Алгоритмы опорных векторов — это критически важные алгоритмы, обещающие решить проблему со здоровьем с помощью точной вычислительной мощности. SVM работает посредством регрессии, классификации и обнаружения выбросов данных. Различные исследователи сообщают о способности SVM обнаруживать различные состояния здоровья, такие как рак, кровяное давление и диабет, с помощью анализа медицинских данных. SVM, вероятно, совершит значительную революцию с более широким использованием для решения глобальных проблем со здоровьем.

В этой статье основное внимание уделяется оценке того, как SVM может диагностировать и прогнозировать различные состояния здоровья, используя медицинские данные. В статье также подчеркивается, почему SVM эффективен при обработке медицинских данных.

Использование SVM в анализе данных о состоянии здоровья

SVM — это критическая контролируемая модель машинного обучения, используемая для обработки различных наборов данных для решения множества проблем. SVM можно использовать для определения и решения глобальных проблем со здоровьем различными способами, описанными ниже:

Классификация SVM

Классификация — это основной способ, с помощью которого SVM может выполнять анализ медицинских данных. SVM работает как разделитель различных наборов данных в многомерной среде. Он способен выполнять как мультиклассовую, так и бинарную классификацию данных. Классификация медицинских данных жизненно важна для клинического кодирования, превращая их в стандартизированный статистический код. Например, классификация подразделяет данные в коде диагноза или процедуры для анализа важной информации. Классификация основана на различных параметрах, связанных с вопросами оценки здоровья.

1. Двоичная классификация данных с использованием SVM

Двоичная классификация — это задача, которая подразделяется на два класса. Когда данные имеют ровно две категории, SVM можно использовать в достаточной степени. SVM начинает с классификации данных путем определения гиперплоскостей, разделяющих точки данных на основе некоторых параметров. Существуют различные гиперплоскости, причем лучшими являются наиболее значительные поля, общие неразделимые данные.

Однако в неразделимых данных SVM использует мягкое/наилучшее поле для разделения некоторых данных, если не всех. Гиперплоскость обычно является линейной, разделяя значения на два разных набора. Чтобы предотвратить любую переобучение медицинских данных, алгоритмы VM обычно используют множество нелинейных функций, которые не зависят от задачи.

2. Многоклассовая классификация данных с использованием SVM

Изначально SVM не поддерживает многоклассовую классификацию. Однако теперь он может разбивать данные на несколько наборов классификации. Тип мультикласса может быть подходом «один к одному» или «один к остальным». Подход «один к одному» разбивает проблему мультиклассов на широкий спектр множественных бинарных классификаций.

Таким образом, для каждой пары достигнутых классов существует бинарный классификатор. Существует необходимость в гиперплоскости для разделения двух типов, игнорируя третий класс в этом подходе. Таким образом, метод не учитывает точки, которые не входят в две категории. Например, этот подход классифицирует медицинские данные, включая рак и диабет, рак и гипертонию и диабет и гипертонию при обработке медицинских данных.

Подход One-to-rest разбивает многоклассовые задачи на бинарный классификатор для каждого класса, при этом гиперплоскость отделяет курс от всех других точек. Подход учитывает все медицинские данные во внимание. Например, данные о трех состояниях здоровья классифицируются по трем разным классам, по одному против остальных. Например, мультикласс с раком, диабетом и гипертонией, классификация приводит к трем наборам с раком, диабетом и гипертонией и многими другими.

SVM в регрессии данных

SVM жизненно важен для определения взаимосвязи между переменными на основе медицинских данных. SVM в регрессии использует тот же принцип, что и классификация. Например, гиперплоскость индивидуальна, и ошибка допустима. SVM использует классы для отражения связи между наборами данных. В большинстве случаев SVM использует прием ядра, особенно при обработке нелинейных данных. Регрессия SVM сильно зависит от гиперплоскости медицинских данных и границы решения.

Уравнение гиперплоскости: Y = wx+b

Граничные уравнения решения в наборе данных:

wx+b= +a

wx+b= -a

Таким образом, гиперплоскость, удовлетворяющая секторно-векторной регрессии, должна удовлетворять следующему:

$-a < Y- wx +b < +a$

SVM при обнаружении выбросов

SVM важен для медицинской оценки обнаружения выбросов. Обычно они существенно влияют на статистические результаты, поскольку могут ввести в заблуждение при интерпретации данных, если их не обнаружить. Одноклассовые SVM очень эффективны при обнаружении выбросов. В медицинских данных некоторые наблюдения не вписываются в требуемый набор данных. В этом случае выбросы обычно находятся за пределами граничной линии и не близки к лучшей гиперплоскости. Таким образом, классификация SVM обычно отражает выбросы, показанные граничной линией, и они не используются для информирования решений о данных о здоровье.

Прогноз состояния здоровья и диагностика с использованием SVM

SVM с помощью описанных выше способов может диагностировать несколько состояний здоровья, как описано ниже:

SVM при оценке рака различные виды рака. Предварительно обработанная база данных сначала проходит тестирование (независимое) и обучающие наборы данных. Данные используются для построения классификаторов SVM, построенных с максимальной точностью классификации.

На основе классификации проводится анализ прогнозируемости, специфичности, чувствительности и частоты ошибок. Например, классификаторы SVM используются при диагностике рака молочной железы. SVM делает точную классификацию рака молочной железы на основе данных маммографии. Наборы данных, близкие к гиперплоскости, с большей вероятностью будут оценивать предсказательность.

SVM при оценке диабета

Модель SVM также важна для диагностики диабета. Критическими параметрами, основанными на диагностике диабета с помощью SVM, являются индекс массы тела, возраст и концентрация глюкозы в крови. Существует три основных класса выходных данных, разделенных с помощью SVM. В классы входят люди с диабетом, с предрасположенностью к диабету и без диабета. Регрессионный анализ, отражающий взаимосвязь между функциями, показывает, как они влияют на уровень HGC. Алгоритмы SVM обладают высокой точностью в прогнозировании диабета посредством классификации и регрессии.

SVM в оценке артериального давления/гипертензии

Машины опорных векторов также необходимы для диагностики гипертонии посредством классификации и регрессионного анализа. SVM сначала выполняет классификацию данных, используя N-мерную гиперплоскость, разделяющую набор данных на два класса. Прогнозный анализ выполняется с использованием регрессии опорных векторов на основе категории, чтобы определить, влияют ли параметры на проблему со здоровьем. SVM оказался очень точным в прогнозировании и диагностике артериального давления по сравнению с другими жизненно важными алгоритмами.

Почему вам следует использовать SVM в анализе медицинских данных?

  • SVM обеспечивает хорошую точность по сравнению с другими алгоритмами анализа медицинских данных. Точность в основном высока, когда данные нелинейно и линейно разделимы. Точность в линейной разделимости высока, поскольку все переменные эффективно включаются в разделяющую гиперплоскость. SVM легко интерпретируются с помощью эффективной классификации, которая повышает точность прогнозирования проблем со здоровьем.
  • SVM прост в реализации и прост. Это может обеспечить лучшую производительность в течение короткого периода времени в медицинской оценке. Таким образом, SVM больше подходит для решения различных проблем со здоровьем, чем другие алгоритмы.
  • SVM очень эффективен, особенно в многомерных пространствах. Обычно это характеризует большое количество признаков по сравнению с наблюдениями. Сложность модели в основном (n-функций * n² выборок), поэтому она эффективна при обработке безразмерных данных. SVM используют различные гиперплоскости в таком пространстве, чтобы достаточно видеть создание отдельных классов.

Недостатки, связанные с SVM в анализе медицинских данных?

Несмотря на широкий спектр причин для выбора SVM в аналитике данных о здоровье, при использовании модели существуют различные недостатки.

Ниже приведены некоторые основные причины:

  • SVM неэффективен при обработке больших наборов данных. В больших наборах данных время обучения очень велико, а классификация затруднена из-за более медленного обучения. Целевые классы в большом наборе данных обычно перекрываются, что влияет на классификацию и предсказуемость. В результате использование SVM в обширных медицинских данных может ввести в заблуждение и повлиять на полученные результаты.
  • Еще один критический недостаток связан с правильной установкой параметра. Для точной классификации параметры нуждаются в точной идентификации, что может ввести в заблуждение при анализе. Параметры одной классификации могут не подойти для второй задачи; таким образом, точность жизненно важна. Следовательно, если параметры в аналитике медицинских данных заданы неправильно, результат будет неточным.

Заключение

SVM — одна из важнейших моделей машинного обучения, которая может эффективно обрабатывать медицинские данные. Алгоритм может точно помочь диагностировать различные состояния здоровья, такие как рак, гипертония и диабет. Три важнейших способа обработки медицинских данных SVM — это классификация (как бинарная, так и многоклассовая). Другие методы включают регрессию и обнаружение выбросов.

Одной из основных причин выбора SVM для оценки состояния здоровья является его точность. Другие причины включают его простоту, прямолинейность и эффективность памяти.