Содержание
ПОРЯДОК ЗАПОЛНЕНИЯ ФОРМЫ «СВЕДЕНИЯ О ЗАСТРАХОВАННЫХ ЛИЦАХ (СЗВ-М)» \ КонсультантПлюс
Взамен формы СЗВ-М, утвержденной данным документом, Приказом ФНС России от 29.09.2022 N ЕД-7-11/878@ утверждена форма персонифицированных сведений о физических лицах, которая применяется начиная с представления сведений за январь 2023 года (Информация ФНС России).
Приложение 2
Утвержден
постановлением Правления ПФР
от 15 апреля 2021 г. N 103п
1. Форма «Сведения о застрахованных лицах (СЗВ-М)» (далее — форма СЗВ-М) может быть представлена в форме электронного документа или на бумажном носителе.
2. В случае представления формы СЗВ-М на бумажном носителе страхователь заполняет ее чернилами, шариковой ручкой (могут использоваться любые цвета, кроме красного и зеленого) печатными буквами или при помощи средств вычислительной техники без помарок, исправлений и без каких-либо сокращений.
3. Документ, представляемый на бумажном носителе, заверяется подписью руководителя или доверенного лица и печатью организации (при наличии). Страхователь, не являющийся юридическим лицом, заверяет входящие документы личной подписью. Позиции «Наименование должности руководителя», «Расшифровка подписи» (фамилия, имя, отчество (при наличии) указывается полностью) обязательны к заполнению.
4. Форма СЗВ-М в форме электронного документа представляется страхователем по форматам, утвержденным постановлением Правления Пенсионного фонда Российской Федерации от 7 декабря 2016 г. N 1077п «Об утверждении формата сведений для ведения индивидуального (персонифицированного) учета (форма СЗВ-М)» (зарегистрировано Министерством юстиции Российской Федерации 26 декабря 2016 г., регистрационный N 44964), и подписывается усиленной квалифицированной электронной подписью в соответствии с Федеральным законом от 6 апреля 2011 г. N 63-ФЗ «Об электронной подписи» (Собрание законодательства Российской Федерации, 2011, N 15, ст. 2036; 2021, N 9, ст. 1467).
5. В разделе 1 «Реквизиты страхователя» все поля заполняются обязательно.
6. В поле «Регистрационный номер в ПФР» указывается регистрационный номер страхователя, присвоенный ему при регистрации в качестве страхователя по обязательному пенсионному страхованию.
7. В поле «Полное или сокращенное наименование» указывается полное или сокращенное наименование организации в соответствии с учредительными документами (допускается наименование в латинской транскрипции) либо наименование отделения иностранной организации, осуществляющей деятельность на территории Российской Федерации, обособленного подразделения.
8. В поле «ИНН» указывается идентификационный номер налогоплательщика (далее — ИНН).
Для юридического лица, образованного в соответствии с законодательством Российской Федерации, ИНН указывается в соответствии со свидетельством о постановке на учет в налоговом органе по месту нахождения на территории Российской Федерации.
Для физического лица ИНН указывается в соответствии со свидетельством о постановке на учет в налоговом органе физического лица по месту жительства на территории Российской Федерации.
9. В поле «КПП» указывается код причины постановки на учет по месту нахождения организации (далее — КПП) в соответствии со свидетельством о постановке на учет в налоговом органе юридического лица, образованного в соответствии с законодательством Российской Федерации, по месту нахождения на территории Российской Федерации.
КПП по месту нахождения обособленного подразделения указывается в соответствии с уведомлением о постановке на учет в налоговом органе юридического лица, образованного в соответствии с законодательством Российской Федерации, по месту нахождения обособленного подразделения на территории Российской Федерации. КПП должен состоять из 9 цифр либо отсутствовать.
10. Раздел 2 «Отчетный период календарного года» заполняется обязательно.
11. Номер месяца календарного года указывается в формате ММ, а год, за который представляется форма СЗВ-М, — в формате ГГГГ.
12. Раздел 3 «Тип формы (код)» заполняется обязательно.
13. В поле «Тип сведений формы (код)» указывается один из типов представляемой формы: исходная, дополняющая или отменяющая.
Форма СЗВ-М с типом «Исходная» представляется страхователем на застрахованных лиц впервые за данный отчетный период.
Форма СЗВ-М с типом «Дополняющая» представляется страхователем с целью дополнения ранее принятых ПФР сведений о застрахованных лицах за данный отчетный период.
Форма СЗВ-М с типом «Отменяющая» представляется страхователем с целью отмены ранее неверно поданных сведений о застрахованных лицах за указанный отчетный период.
14. В разделе 4 «Сведения о застрахованных лицах» указываются сведения о застрахованных лицах, на которых распространяется обязательное пенсионное страхование в соответствии со статьей 7 Федерального закона от 15 декабря 2001 г. N 167-ФЗ «Об обязательном пенсионном страховании в Российской Федерации» (Собрание законодательства Российской Федерации, 2001, N 51, ст. 4832; 2021, N 1, ст. 41).
15. Графа «N п/п» заполняется сквозной нумерацией. Номер присваивается записи по конкретному застрахованному лицу. Номера должны указываться в порядке возрастания без пропусков и повторений.
16. В графе «Фамилия, имя, отчество (при наличии) застрахованного лица» сведения заполняются на русском языке в именительном падеже полностью, без сокращений или замены имени и отчества инициалами. Заполняется обязательно.
17. В графе «Страховой номер индивидуального лицевого счета» указывается страховой номер индивидуального лицевого счета зарегистрированного лица (далее — СНИЛС), в отношении которого представляется форма СЗВ-М. Заполняется обязательно.
СНИЛС должен состоять из 11 цифр по формату XXX-XXX-XXX-CC или XXX-XXX-XXX CC.
18. Сведения, указанные в пунктах 16, 17 настоящего Порядка, должны соответствовать сведениям, указанным в документе, подтверждающем регистрацию в системе индивидуального (персонифицированного) учета Пенсионного фонда Российской Федерации <1>.
———————————
<1> Постановление Правления ПФР от 13 июня 2019 г. N 335п «Об утверждении формы документа, подтверждающего регистрацию в системе индивидуального (персонифицированного) учета, и порядка его оформления в форме электронного документа» (зарегистрировано Министерством юстиции Российской Федерации 18 сентября 2019 г., регистрационный N 55951).
19. Графа «ИНН» заполняется при наличии у страхователя данных об ИНН физического лица.
Машины опорных векторов
в машинном обучении (SVM): руководство 2023 г. Акцент сместился с фундаментальных математических вопросов о простой линейной регрессии и логистической регрессии на более продвинутые алгоритмы машинного обучения. Одна из таких популярных моделей, приемлемая для вычислений и дающая отличные результаты, — это машины опорных векторов в машинном обучении.
Модель, которая используется для классификации, а также регрессии, фундаментальные знания о регрессии опорных векторов и классификации должны быть известны всем энтузиастам Data Science. В этой статье мы рассмотрим алгоритм SVM или машинное обучение SVM, чтобы узнать больше о том, как моделировать работы в деталях, чтобы вы могли добавить алгоритм машины опорных векторов в свой набор инструментов Data Science. Посетите неполный учебный курс по науке о данных, чтобы лучше понять машины опорных векторов в машинном обучении.
Что такое машины опорных векторов (SVM) в машинном обучении?
Модель SVM или модель Support Vector Machine — это популярный набор моделей обучения с учителем, которые используются для регрессионного и классификационного анализа. Это модель, основанная на структуре статистического обучения, известная своей надежностью и эффективностью во многих случаях использования. Основываясь на невероятностном бинарном линейном классификаторе, машина опорных векторов используется для разделения разных классов с помощью различных ядер.
Одна из основных причин, по которой компании склоняются к моделям машин опорных векторов по сравнению с другими моделями, заключается в том, что машины опорных векторов обладают значительно более высокой точностью, которую можно использовать при меньшем количестве вычислений из системы. Здесь следует отметить один небольшой момент: приложения SVM обычно реализуются в области классификации.
Вопрос о том, какое ядро выбрать при выполнении минимальных вычислений, огромен, особенно когда мы имеем дело с большими наборами данных. Это делается с помощью так называемого «трюка с ядром». Мы подробно рассмотрим эту тему в следующем разделе. Давайте сначала получим представление о машинах опорных векторов, рассмотрев несколько примеров.
Почему SVM используются в машинном обучении?
Две основные причины, по которым машины опорных векторов используются в машинном обучении:
- Относительно высокая точность: одно из основных преимуществ машины опорных векторов заключается в том, что по сравнению с более фундаментальными алгоритмами она имеет гораздо более высокую относительную точность. . Это означает, что при развертывании модели в реальном мире мы видим лучшие результаты от реализованных моделей машинного обучения.
- Минимальное время вычислений. Из-за «уловки ядра» время вычислений машин опорных векторов SVM сокращается, а это означает, что мы, специалисты по данным, можем получать лучшие результаты за меньшее время, используя меньше ресурсов. Это беспроигрышный вариант, поскольку мы можем получить лучшие результаты, не влияя на затраты на использование оборудования, и даже быстрее.
Типы алгоритма опорных векторов
В этом разделе мы узнаем больше о типах SVM на основе типа данных, которые мы используем. Это более конкретно для классификации, поскольку это основной вариант использования для машин опорных векторов.
1. Линейный SVM
Алгоритм машины линейных опорных векторов используется, когда у нас есть линейно разделимые данные. Говоря простым языком, если у нас есть набор данных, который можно разделить на две группы с помощью простой прямой линии, мы называем его линейно разделимыми данными, а используемый для этого классификатор называется линейным классификатором SVM.
2. Нелинейный SVM
Алгоритм нелинейного метода опорных векторов используется, когда у нас есть нелинейно разделимые данные. Говоря простым языком, если у нас есть набор данных, который нельзя разделить на две группы с помощью простой прямой линии, мы называем его нелинейными разделимыми данными, а используемый для этого классификатор называется нелинейным классификатором SVM.
Гиперплоскость и опорные векторы в алгоритме SVM
В этом разделе мы обсудим больше гиперплоскости и опорных векторов в SVM:
1. Гиперплоскость
При заданном наборе точек может быть несколько способов разделить классы в n-мерном пространстве. То, как работает SVM, преобразует данные более низкого измерения в данные более высокого измерения, а затем разделяет точки. Существует несколько способов разделения данных, и их можно назвать границами принятия решений. Однако основная идея классификации SVM заключается в том, чтобы найти наилучшую возможную границу решения. Гиперплоскость — это оптимальная, обобщенная и наиболее подходящая граница для классификатора машины опорных векторов.
Например, в двумерном пространстве, как показано в нашем примере, гиперплоскость будет прямой линией. Напротив, если данные существуют в трехмерном пространстве, то гиперплоскость будет существовать в двух измерениях. Хорошее эмпирическое правило заключается в том, что для n-мерного пространства гиперплоскость обычно имеет n-1 измерение.
Цель состоит в том, чтобы создать гиперплоскость с максимально возможным запасом для создания обобщенной модели. Это указывает на максимальное расстояние между точками данных.
2. Опорные векторы
Термин опорный вектор указывает, что у нас есть опорные векторы к главной гиперплоскости. Если у нас есть максимальное расстояние между опорными векторами, это указывает на наилучшее соответствие. Таким образом, опорные векторы — это векторы, которые проходят через точки, ближайшие к гиперплоскости, и влияют на общее положение гиперплоскости.
Как найти правильную гиперплоскость?
Теперь мы подходим к важному вопросу: как нам найти правильную гиперплоскость? Давайте попробуем визуализировать и понять два способа, которыми мы находим правильную гиперплоскость:
1. Максимальное расстояние между опорными векторами
Рекомендуемый способ найти правильную гиперплоскость — максимизировать расстояние между опорными векторами. Ниже мы визуализируем, как это будет выглядеть в двумерном пространстве, это можно сделать и в n-мерном пространстве, но визуализировать нам будет сложно.
2. Преобразование данных более низкого измерения в данные более высокого измерения
Когда мы преобразуем данные более низкого измерения в данные более высокого измерения, с помощью созданных новых функций он разделяет точки в более высоком измерении, и мы можем затем передайте гиперплоскость с большей эффективностью, чтобы отделить данные.
Это делается с помощью следующих шагов:
- Дополнить данные некоторыми нелинейными функциями, вычисленными с использованием существующих функций
- Найти разделяющую гиперплоскость в многомерном пространстве исходное пространство
Как SVM работает в машинном обучении?
SVM работает по принципу максимизации расстояния между опорными векторами. Это гарантирует, что у нас будет максимально возможная разница между точками, что дает нам обобщенную модель. Цель классификации машины опорных векторов состоит в том, чтобы максимизировать разницу между опорными векторами. Вы можете узнать больше о SVM в машинном обучении на учебном курсе по науке о данных.
1. Линейно разделимые данные
Мы используем ядра в машинах опорных векторов. Ядра SVM — это функции, на основе которых мы можем преобразовать данные, чтобы было легче подобрать гиперплоскость для лучшего разделения точек.
Линейно разделимые точки состоят из точек, которые можно разделить простой прямой линией. Линия должна иметь максимально возможный запас между ближайшими точками, чтобы сформировать обобщенную модель SVM.
2. Нелинейные данные
Нелинейные данные — это данные, которые нельзя разделить простой прямой линией. Мы можем разделить классы, сопоставив данные с пространством более высокого измерения, чтобы мы могли классифицировать точки. Здесь мы используем производные функции более высокого измерения из самого набора данных. Например, с набором данных, представленным на осях X и Y, мы будем использовать такие функции, как X2, Y2 и XY, чтобы создать модель более высокого измерения, спроецировать данные, создать гиперплоскость, а затем вернуть данные к их исходному состоянию. оригинальное пространство.
Это делается с помощью хитрого трюка, который мы обсудим в следующем разделе. В конце концов, рисунок будет выглядеть так, как показано на рисунке ниже, разделяя два класса в одном и том же исходном пространстве.
3. Уловка ядра
Уловка ядра — это «суперсила» машин опорных векторов. Машина опорных векторов использует ядра, ls, которые представляют собой функцию, на основе которой можно разделить точки. Точки, которые не могут быть разделены линейно, являются проекциями в пространство более высокого измерения.
В. Итак, в чем тут «хитрость»?
A. SVM представляет нелинейные точки данных таким образом, что точки данных преобразуются, а затем находят гиперплоскость. Однако точки остались прежними, и они не были преобразованы.
Этот трюк является причиной того, что кажущееся преобразование точек из более низкого измерения в более высокое известно как трюк с ядром.
Функции ядра SVM
Мы уже давно говорим о ядрах SVM. Давайте кратко рассмотрим некоторые важные функции ядра, которые помогают преобразовывать данные, чтобы передавать гиперплоскости для разделения данных. Все хитрые приемы, о которых мы говорим, — это математика; преобразования данных выполняются с использованием линейной алгебры. Сейчас мы немного углубимся в математику, так как это поможет вам получить представление о ядре.
1. Функция линейного ядра
Линейное ядро в основном используется для линейно разделимых данных. Он используется для точек, которые имеют линейную зависимость.
2. Функция полиномиального ядра
Функция полиномиального ядра используется путем использования скалярного произведения и преобразования данных в n-мерное. Это помогает представлять данные с более высокой размерностью, используя недавно преобразованные точки данных.
3. RBF (Функция радиального базиса)
Это одна из наиболее распространенных и широко используемых функций в качестве ядра, которая ведет себя аналогично взвешенной модели ближайшего соседа. Он может преобразовывать данные в бесконечные измерения, а затем использовать взвешенную модель ближайшего соседа для определения наблюдений, которые оказывают наибольшее влияние на новую точку данных для классификации. «Радиальная» функция в RBF может быть либо Лапласом, либо Гауссовой. Мы можем решить это на основе гиперпараметра «Гамма».
4. Сигмовидная функция
Сигмовидная функция встречается в таких случаях использования, как нейронные сети, где она используется в качестве функции активации (Tanh). Она также известна как функция гиперболического тангенса и имеет определенные варианты использования, в которых она может лучше разделять данные.
Так объяснялась машина опорных векторов. Теперь мы узнали о различных ядрах, которые используются в функциях машины опорных векторов. Далее мы рассмотрим код Python-классификатора SVM.
Простой классификатор SVM [шаг за шагом]
В этом разделе мы рассмотрим реализацию SVM на Python. Мы быстро рассмотрим пример кода Python, чтобы увидеть машину опорных векторов в действии:
Шаг 1.
Импорт необходимых библиотек
Машину опорных векторов можно использовать из библиотеки python SVC, что означает классификатор опорных векторов. Это контролируемый алгоритм обучения, который используется для выполнения классификации и может быть найден в научном наборе для обучения. Мы можем рассмотреть два варианта использования набора данных с линейным и нелинейным распределением для этой демонстрации Python.
from sklearn.svm import svc # «Классификатор опорных векторов»
Шаг 2: импорт требуемого набора данных
Как правило, в этом случае мы должны импортировать требуемый набор данных, выполнить необходимые шаги предварительной обработки, а затем проанализировать и визуализировать данные. Здесь, в этом случае, мы создадим два больших двоичных объекта, чтобы подчеркнуть мощь машин опорных векторов с использованием ядер, которые мы обсуждали в предыдущих разделах.
Кроме того, наш набор данных будет выглядеть примерно так, где мы хотели бы продемонстрировать линейное разделение данных.
Теперь, если бы мы использовали линейный дискриминационный классификатор, мы попытались бы найти оптимальную прямую линию между двумя наборами данных, чтобы мы могли разделить наборы данных. Существуют различные линии, которые можно провести для разделения наборов данных.
Не знаете, что выбрать? Помните, что мы обсуждали в предыдущих разделах? Наша цель — максимизировать маржу. В следующем разделе мы обсудим именно это.
Шаг 3. Максимизируйте маржу
Теперь нам нужно подобрать машину линейных опорных векторов, чтобы мы могли построить оптимальную гиперплоскость для получения наилучшей модели. В этом случае мы будем использовать линейное ядро, так как точки на осях X и Y имеют линейную связь.
Мы используем линейное ядро в классификаторе опорных векторов (svc) из пакета обучения Sciket для надлежащего разделения наборов данных. Цель разделительной границы решения состоит в том, чтобы максимизировать разницу между различными группами точек. Некоторые точки касаются линии и указываются отдельно. Эти точки являются критическими и называются опорными векторами. Они хранятся в атрибуте support_vectors_ функции.
Шаг 4. Подгонка машинного классификатора опорных векторов
На основе настройки гиперпараметров необходимо решить, какой будет наилучшая возможная модель для данного набора данных. Здесь мы замечаем опорные векторы, и положение прямой разделительной линии (называемой гиперплоскостью для n-мерных данных) будет меняться в зависимости от того, как можно максимизировать поля.
В зависимости от параметров и количества строк в обучающих и тестовых данных положение и точность модели SVM будут различаться.
Шаг 5. Определите тип ядра на основе типа распределения данных
На основе распределения данных возможно также нелинейное распределение набора данных, которое можно решить с помощью других ядер. Например, если бы мы использовали линейное ядро для набора данных с нелинейным распределением, мы бы увидели график, похожий на следующий.
Если бы мы проецировали и преобразовывали двумерные данные в трехмерное пространство, это выглядело бы следующим образом.
Здесь, в этом случае, если бы мы использовали ядро RBF, график выглядел бы так, как показано на изображении ниже, где мы успешно разделили и сопоставили гиперплоскость обратно с исходными точками.
В этом разделе мы успешно рассмотрели некоторый простой код Python для создания соответствующих наборов данных и показали, как можно использовать машины опорных векторов для создания достаточно точных моделей с минимальными вычислениями с использованием трюка с ядром. В следующем разделе мы рассмотрим некоторые приложения машин опорных векторов, которым также можно научиться на лучших онлайн-курсах по науке о данных.
Применение SVM с гиперпараметрами по умолчанию
Вернемся к примеру и применим SVM после предварительной обработки данных с гиперпараметрами по умолчанию.
1. Линейное ядро
из sklearn import svm svm2 = svm.SVC (ядро = «линейный») svm2
SVC(C=1.0, cache_size=200, class_weight=Нет, coef0=0.0, solution_function_shape='ovr', степень=3, гамма='авто', ядро='линейный', max_iter=-1, вероятность=ложь, random_state=нет, сжатие=истина, tol=0,001, verbose=False)
модель2 = svm2. fit(x_train_sc, y_train) y_pred2 = svm2.predict(x_test_sc) print('Оценка точности') print(metrics.accuracy_score(y_test,y_pred2))
Показатель точности:0,9707602339181286
2. Гауссовское ядро
svm3 = SVM.SVC(kernel='rbf') svm3
SVC(C=1,0, cache_size=200, class_weight=Нет, coef0=0,0, solution_function_shape='ovr', степень=3, гамма='авто', ядро='rbf', max_iter=-1, вероятность=ложь, random_state=нет, сжатие=истина, tol=0,001, verbose=False)
модель3 = svm3.fit(x_train_sc, y_train) y_pred3 = svm3.predict(x_test_sc) print('Оценка точности') print(metrics.accuracy_score(y_test, y_pred3))
Показатель точности:0,935672514619883
3. Полиномиальное ядро
svm4 = SVM.SVC(kernel='poly') svm4
SVC(C=1.0, cache_size=200, class_weight=Нет, coef0=0.0, solution_function_shape='ovr', степень=3, гамма='авто', ядро='поли', max_iter=-1, вероятность=ложь, random_state=нет, сжатие=истина, tol=0,001, verbose=False)
модель4 = svm4. fit(x_train_sc, y_train) y_pred4 = svm4.predict(x_test_sc) print('Оценка точности') print(metrics.accuracy_score(y_test,y_pred4))
Показатель точности:0,6198830409356725
Как настроить параметры SVM?
1. Ядро
Ядро в машине опорных векторов отвечает за преобразование входных данных в требуемый формат. Некоторые из ядер, используемых в машинах опорных векторов, представляют собой линейные, полиномиальные и радиальные базисные функции (RBF). Чтобы создать нелинейную гиперплоскость, мы используем RBF и полиномиальную функцию. Для сложных приложений следует использовать более продвинутые ядра для разделения нелинейных классов. С помощью этого преобразования вы можете получить точные классификаторы.
2. Регуляризация
Используя параметры C Scikit-learn и корректировку, мы можем поддерживать регуляризацию. C обозначает штрафной параметр, представляющий ошибку или любую форму неправильной классификации. Эта неправильная классификация позволяет вам понять, насколько допустима ошибка. Это поможет вам аннулировать компенсацию между неправильно классифицированным термином и границей решения. При меньшем значении C вы получаете гиперплоскость с небольшим запасом, а при большем значении C получается гиперплоскость с большим значением.
3. Гамма
Меньшее значение Гаммы создает слабую подгонку обучающего набора данных. С другой стороны, высокое значение гаммы позволяет модели лучше соответствовать. Низкое значение гаммы позволит учитывать только близлежащие точки для расчета отдельной плоскости. Однако высокое значение гаммы будет учитывать все точки данных для расчета окончательной разделительной линии.
Примеры SVM
В. Какова основная цель алгоритма классификации?
Основной целью модели классификации в машинном обучении является эффективное разделение различных классов точек и их обобщение. Когда это делается в двумерной (2-D) плоскости, это означает рисование прямой линии, чтобы мы могли линейно разделить два класса точек таким образом, чтобы будущие точки также имели высокую вероятность точного разделения точек.
Используя приведенный ниже пример машины опорных векторов, мы также введем некоторые новые термины:
Давайте поймем простую терминологию:
- Гиперплоскость: Подобно тому, как линия может разделять точки в двумерном пространстве, гиперплоскость – это плоскость, разделяющая точки в n-мерном пространстве
- Положительная гиперплоскость: Пунктирная линия, которую мы видим на рисунке, расположенная в положительной области, называется положительной гиперплоскостью. Положительная гиперплоскость проходит через первую точку положительного пространства.
- Отрицательная гиперплоскость: Пунктирная линия, которую мы видим на рисунке, расположенная в отрицательной области, называется отрицательной гиперплоскостью. Отрицательная гиперплоскость проходит через первую точку отрицательного пространства.
- Hard Margin показывает, что модель SVM пытается очень хорошо работать с набором данных и может привести к переоснащению. Это используется в линейно разделимых данных, только в линейно разделимых данных.
- Мягкая маржа указывает, что модель является гибкой с точки зрения подбора набора данных и поэтому не вызовет переобучения. Это используется в большинстве случаев, когда данные не являются линейно разделимыми. Это допускает некоторую степень неправильной классификации, чтобы модель лучше подходила к тестовому набору данных.
- Гиперплоскость максимальной маржи: граница решения (обозначенная на рисунке выше сплошной линией) — это граница решения, на основе которой точки разветвляются.
Идея выбора границы решения заключается в том, что чем больше запас (разница между положительной гиперплоскостью и отрицательной гиперплоскостью), тем меньше ошибка обобщения, поскольку, когда у нас меньшие поля с границами решения, это имеет тенденцию приводить к переоснащению. .
Помимо этого простого, но эффективного примера, машина опорных векторов используется для выполнения более сложных задач, таких как категоризация текста, классификация изображений и даже обнаружение лиц.
Применение машины опорных векторов
В этом разделе мы рассмотрим некоторые варианты использования машин опорных векторов:
- Классификация электронной почты. является спамом или ветчиной
- Обнаружение лиц: используя SVM, мы можем выполнять распознавание лиц, где мы обучаем модель на наборе данных и можем прогнозировать. На изображении ниже мы видим набор обучающих данных. Кроме того, на изображении ниже мы видим тестовый набор данных, где текст красного цвета указывает на то, что изображение было неверно предсказано.
Мы также можем получить такие показатели, как точность, отзыв и оценка f1.
- Категоризация текста: для обучения используется категоризация как индуктивных, так и трансдуктивных моделей, и для сравнения с пороговым значением используются разные оценки.
- Распознавание рукописного ввода: SVM также может использоваться для распознавания рукописного ввода, когда мы можем преобразовывать рукописный текст в машиночитаемый текст.
- Биоинформатика: включает классификацию рака и классификацию белков, где мы используем SVM для определения классификации пациентов и генов на основе биологических маркеров.
Преимущества и недостатки метода опорных векторов
В этом разделе мы рассмотрим преимущества и недостатки метода опорных векторов:
Преимущества метода опорных векторов различных классов, SVM работает хорошо. Недостатки SVM Машина опорных векторов (SVM) — это машина, которая контролируется для изучения алгоритмов, используемых как для классификации, так и для регрессии. Цель алгоритма SVM — найти гиперплоскость в N-мерном пространстве, которая четко классифицирует точки данных. В этом блоге мы рассмотрели сквозные вопросы, которые будут заданы на собеседовании. Мы узнали об уловке ядра и поняли различную терминологию, связанную с машинами опорных векторов. Мы также рассмотрели несколько простых примеров кодирования и то, как можно увеличить прибыль с помощью опорных векторов. Вы можете пройти неполный учебный курс по науке о данных от KnowledgeHut, если хотите получить отличное трудоустройство. Машина опорных векторов — это набор моделей обучения с учителем, которые можно использовать как для классификации, так и для регрессии. Он хорошо работает с многомерными данными и имеет довольно высокую точность и минимальное время вычислений, особенно с небольшими обучающими наборами данных. К сожалению, он не дает вероятностной оценки баллов. Он используется для линейно и нелинейно разделяемых данных и используется в таких случаях, как классификация электронной почты, категоризация текста, обнаружение лиц и распознавание рукописного ввода. SVM – это классификаторы с максимальной маржой по сравнению с некоторыми другими алгоритмами, например, наивным байесовским классификатором, который является вероятностным классификатором. Помимо этого, есть и другие функции ядра, которые мы можем использовать. В зависимости от варианта использования необходимо выбрать модель. Время прогнозирования для нейронных сетей быстрее, чем SVM. Обработка параметров SVM увеличивается линейно с увеличением размера входных данных. Во многих случаях нейронные сети работают лучше, но могут требовать больших вычислительных ресурсов. У SVM есть множество преимуществ. Он имеет лучшую эффективность памяти и хорошо работает с многомерными данными (где количество столбцов больше, чем количество строк). Это также хорошо работает, когда размер данных небольшой. У него также есть преимущество трюка с ядром, когда для лучшего разделения данных можно использовать различные ядра. Да, SVM можно использовать для регрессии, и для этого же можно использовать пакет регрессии опорных векторов (SVR) в Python. Он использует те же принципы, что и машины опорных векторов, но для задач регрессии. Целевая функция основной задачи отлично работает для линейно разделимого набора данных, однако не решает нелинейный набор данных. В этой статье «Машины опорных векторов для начинающих — проблема двойственности » мы углубимся в преобразование основной задачи в двойственную задачу и решение целевых функций с использованием квадратичного программирования. Не волнуйтесь, если это звучит слишком сложно, я объясню концепции шаг за шагом. Table Of Contents . Опорные векторы и Поля . Затем использовали концепции для создания целевых функций для классификатора жесткой и мягкой маржи в нашем последнем руководстве. Мы также узнали, что целевая функция, которую мы определили, известна как 9.Tx_i+b) \geq 1 – \xi_i , \text{где } \xi_i \geq 0 Вот несколько важных моментов, которые следует помнить из предыдущего урока, Если вам нужно обратиться к предыдущему руководству, вот ссылка, Основная задача полезна при решении линейного SVM с использованием SGD. Помните, что нам нужно оптимизировать параметры Однако наша конечная цель — решить нелинейную SVM, где основная задача бесполезна. Для того, чтобы найти решение, нам нужно использовать несколько математических приемов. Мы пройдем их все один за другим. В математической теории оптимизации, двойственность означает, что задачи оптимизации можно рассматривать с любой из двух точек зрения: основной проблемы или двойной проблемы ( принцип двойственности ). Решение двойственной задачи обеспечивает нижнюю границу решения основной задачи (минимизации). Википедия Я объясню очень просто, чтобы вы могли понять, не имея сильной математической подготовки. 9*=0$ Заключение
Часто задаваемые вопросы (FAQ)
1. Что такое машины опорных векторов с примерами?
2. Классификатором какого типа является SVM?
3. Что лучше, SVM или нейронная сеть?
4. Каковы преимущества SVM?
5. Можем ли мы использовать SVM для регрессии?
Машины опорных векторов для начинающих
\end{align} Основная задача
D+1
(где D — размерность) в основной задаче. Двойственность
Множитель Лагранжа
Мы можем найти максимум или минимум функции многих переменных с некоторым ограничением, используя Множитель Лагранжа . Tx_i+b) \geq 1 – \xi_i$ для целевой функции, 9к \Большой\}
\end{align}
Концепции
Мы начнем с обобщенной версии. Давайте узнаем, как решить такую проблему, как:
\begin{align}
\макс_{х,у} е(х,у) \\
\text{такой, что } g(x,y) = c
\end{align}
Обратитесь к приведенному ниже графику, где функция f(x,y) была представлена с использованием контурного графика ( поверхность ), а g(x,y) показана в виде линии ( зеленый ).
Если бы у нас не было ограничения g(x,y) , мы могли бы просто взять производную от f(x,y) w.r.t x и y , затем установите их на 0 , чтобы найти решение для x и y .
Однако теперь у нас есть ограничение, заданное функцией g(x,y) (представлено с помощью зеленой линии). Следовательно, нам нужно найти точку на зеленой кривой, для которой f(x,y) максимально.
Обратите внимание, что решением является точка, где f(x,y) и g(x,y) оба параллельны (выделено желтым кружком). Математически векторы градиента в этой точке касания ориентированы в одном направлении.
Мы собираемся ввести новую переменную $\alpha$ как Множитель Лагранжа . Затем выразите следующее в виде функции с именем Lagrangian.
\begin{align}
L(x,y,\alpha) = f(x,y) — \alpha \Big ( g(x,y) — c \Big)
\end{align}
Решение состоит в том, чтобы найти $(x,y,\alpha)$ так, чтобы $\Delta L=0$
\begin{align}
\дельта_{х,у,\альфа} L(х,у,\альфа) = 0
\end{выравнивание}
Возьмем сначала частную производную по $\alpha$
\begin{align}
\delta_{\alpha} L (x,y,\alpha) =& \frac{d}{d \alpha} \bigg ( f(x,y) — \alpha \Big ( g(x,y) — c \большой) \большой) \\
=& – \Большой ( g(x,y) -c \Большой )
\end{align}
Следовательно, мы можем сказать,
\begin{align}
\delta_{\alpha} L (x,y,\alpha) =& — g(x,y) + c = 0
\end{align}
Мы также можем взять частичную производную относительно x
\begin{align}
\delta_{\alpha}L (x,y,\alpha) =& \frac{d}{d \alpha} \bigg ( f(x,y) — \alpha \Big ( g(x,y) — c \большой) \большой) =
0 \\
\delta_x f(x,y) – \alpha \delta_x g(x,y) =& 0 \\
\delta_x f(x,y) =& \alpha \delta_x g(x,y)
\end{выравнивание}
Аналогично,
\begin{align}
\delta_y f(x,y) =& \alpha \delta_y g(x,y)
\end{align}
Мы можем записать их, используя одно уравнение,
\begin{align}
\delta_{x,y} f(x,y) =& \alpha \delta_{x,y} g(x,y)
\end{align}
Это соответствует идее, что $\delta f(x,y)$ и $\delta g(x,y)$ оба указывают на одно и то же направление в решении ( желтый кружок ) . Это означает, что градиенты действительно параллельны .
Обратите внимание, даже если они указывают в одном и том же направлении, они могут иметь разную величину , поэтому градиент g(x,y) масштабируется $\alpha$
Теперь у нас есть 3 уравнения и 3 неизвестных. Мы можем легко решить их.
Если вы зашли так далеко и вышеизложенная идея не имела большого смысла, не волнуйтесь, дочитайте всю статью и прочитайте еще несколько раз, и все начнет обретать смысл. Не стесняйтесь оставлять вопросы в разделе комментариев, я постараюсь ответить на них. 92=1$ в красном круге.
- $x+y$ должно находиться на окружности в соответствии с определенным ограничением.
- Мы можем визуально определить две точки (среди всех точек), где значение $x+y$ должно касаться окружности в двух разных точках.
- Эти точки представляют собой максимальное и минимальное значения.
Теперь воспользуемся Множителем Лагранжа 9.2} &=1 \\
\alpha &= \pm \frac{1}{\sqrt{2}}
\end{align}
Используя это, мы можем получить значения x и y .
\начать{выравнивание}
х &= \pm \frac{1}{ 2 \frac{1}{\sqrt{2}}} \\
х &= \frac{1}{\sqrt{2}} \\
\text{аналогично} \\
y &= \frac{1}{\sqrt{2}}
\end{align}
Поскольку мы пытаемся максимизировать $x+y$, мы будем рассматривать только положительные значения.
Итак, у нас есть окончательный результат:
\begin{align}
f(x,y) =& x+y \\
=& \frac{1}{\sqrt{2}} + \frac{1}{\sqrt{2}} \\
= & \sqrt{2}
\end{выравнивание}
Множественные ограничения
Множитель Лагранжа также может использоваться для векторизованной реализации. Предположим, что x имеет размеры D , тогда всего будет D+1
неизвестных для следующей функции,
\begin{align}
\max_x f(x) \\
\text{с. т. } г(х) = 0
\end{align}
У вас также может быть более одного ограничения. Если у вас n
ограничений, то всего будет D+n
неизвестных.
9п \alpha_i g_i(x)
\end{align}
Ограничение неравенства
Множитель Лагранжа также работает с ограничениями неравенства. Мы всегда можем добавить ограничения неравенства вместе с ограничением равенства. Возьмем пример:
\begin{align}
\max_x f(x) & \\
\text{с.т. } g_i(x) \leq 0 & \text{ , } \forall i = 1..n \\
h_i(x) = 0 & \text{ , } \forall j = 1..m \\
\end{align}
Мы можем определить лагранжиан как (одна константа для каждого ограничения), 9м \lambda_j h_j(x) \\
\end{align}
Однако, чтобы найти решение для переменных, недостаточно просто взять градиенты и установить их равными нулю из-за ограничений неравенства.
Установка $\Delta_{x, \lambda} L = 0 $ по-прежнему дает два условия, но для ограничения неравенства нам нужно иметь 3 дополнительных условия. Следовательно, вместо всего 3 у нас теперь будет всего 5 условий.
\начать{выравнивание}
\alpha_i g_i(x) =& 0 \text{ , } \forall i = 1..n \\
g_i (x) \leq & 0 \text{ , } \forall i = 1..n \\
\alpha_i \geq & 0 \text{ , } \forall i = 1..n \\
\delta_{x_d} L =& 0 \text{ , } \forall d = 1..D \\
\delta_{\lambda_j} L =& 0 \text{ , } \forall j = 1..m \\
\end{выравнивание} 9Tx_i+b) \geq 1$, что означает, что если точка не является опорным вектором, то $\alpha_i = 0$
Вышеприведенные два интуитивных предположения важны, это указывает на то, что не опорные векторы не играют роли в нахождении веса и предвзятость.
Зная $\alpha_i$ для всех точек, мы можем вычислить весовой вектор $\beta$, просуммировав только опорные векторы.
\начать{выравнивание}
\beta = \sum_{i , \alpha_i \geq 0} \alpha_i y_ix_i
\end{align}
Чтобы вычислить смещение b 9п \alpha_i y_i = 0
\end{align}
Обратите внимание, что целевая функция такая же, как у классификатора с жесткими границами, однако ограничение неравенства отличается.
Так как $\alpha_i+\lambda_i=C$ и $\alpha_i \geq 0 , \lambda_i \geq 0$, мы можем сказать $0 \leq \alpha_i \leq 0$. На $\lambda$ ограничений нет, так как это не часть окончательного уравнения.
Вектор весов и смещение
Подобно классификатору с жесткими границами, мы можем получить вектор весов из опорных векторов, как и раньше. Теперь опорные векторы включают в себя все точки, которые находятся на пределе (нулевой запас $\xi_i=0$), а также все точки с положительным запасом $\xi_i > 0$
\begin{выравнивание}
\beta = \sum_{i , \alpha_i \geq 0} \alpha_i y_ix_i
\end{align}
Теперь мы можем найти $\xi_i$,
\begin{align}
\lambda_i (0-\xi_i) = & 0 \\
(C – \alpha_i) (0-\xi_i) = & 0 , [ \lambda_i \text{ из условия ККТ }] \\
\xi_i (C – \alpha_i) = & 0 \\
\end{align}
Теперь у нас есть два случая для опорных векторов с $\alpha_i > 0$
- Если $\xi_i > 0 $, то $(C- \alpha_i) = 0$. Мы можем сказать $\alpha_i = C$
9Tx_j$ как внутренний продукт для достижения нелинейности.