Отчетность сзв м что это: Отчет по форме СЗВ-М 2021 году. Новая отчетность в ПФР для работодателей

Содержание

Как уточнить СЗВ-М

Выясним, как уточнять сведения о застрахованных лицах в ПФР (по форме СЗВ-М). В частности, когда вы сдаете первичный отчет (исходная форма) и когда вторичный (дополняющая / отменяющая формы). Поскольку никакого конкретного порядка заполнения и уточнения формы СЗВ-М законодательством не установлено, у бухгалтеров возникает множество вопросов.

Ежемесячно до 15-го числа бухгалтеры подают в Пенсионный фонд РФ сведения о застрахованных лицах (по форме СЗВ-М). Данные сведения предоставляются одним отчетом, для них предусмотрена исходная форма. Но никто не застрахован от ошибок. Для их исправления предусмотрены отменяющая и дополняющая формы. Рассмотрим, как правильно уточнять поданные сведения.

Форма СЗВ-М «Сведения о застрахованных лицах» утверждена постановлением Правления ПФ РФ от 01.02.2016 № 83п. Формат сведений для ведения индивидуального (персонифицированного) учета утвержден постановлением Правления ПФ РФ от 07.12.2016 № 1077п.

В представленных сведениях отражают данные обо всех застрахованных лицах, числящихся в организации (у индивидуального предпринимателя): фамилия, имя, отчество работника, его ИНН и СНИЛС.

Одним из реквизитов отчета является «Тип формы (код)», который может принимать следующие значения:

  • «исхд» — исходная форма, впервые подаваемая о застрахованных лицах за данный отчетный период;
  • «доп» — дополняющая форма, подаваемая с целью дополнения ранее принятых ПФР сведений о застрахованных лицах за данный отчетный период;
  • «отмн» — отменяющая форма, подаваемая с целью отмены ранее неверно поданных сведений о застрахованных лицах за указанный отчетный период.

Как видите, когда вы сдаете первичный отчет, то тип формы исходная («исхд»). Если отчет вторичный, то это либо дополняющая («доп») форма либо отменяющая («отмн»). Каких-то иных корректирующих форм СЗВ-М не предусмотрено.

Никакого конкретного порядка заполнения и уточнения формы СЗВ-М законодательством не установлено.

К сведению

ПФР отмечает, что от своевременности и достоверности представляемой в фонд отчетности зависит индексация пенсий неработающим пенсионерам. По результатам поступившей отчетности специалисты ПФР проверяют, продолжает пенсионер трудиться или нет. Если трудовая деятельность прекращена, то в соответствии с законодательством неработающему пенсионеру со следующего месяца в беззаявительном порядке производится индексация пенсии 1.

Когда повторно подается исходная форма

Исходная форма — это та форма, которую страхователь представляет за отчетный период впервые 2.

Пенсионный фонд РФ не примет форму СЗВ-М в случае обнаружения следующих критичных ошибок 3:

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

В таких ситуациях отчетность считается непринятой и работодателю направляется отрицательный протокол. Тогда компании следует исправить ошибки и вновь представить в ПФР форму СЗВ-М с типом «исходная» 4.

Еще одна распространенная ошибка связана с заполнением кода отчетного периода — например, указано «12» (декабрь) вместо «11» (ноябрь). В данном случае вы получите…

Типичные ошибки, возникающие в ходе приема ежемесячной отчетности по форме СЗВ-М

Ошибка
Действия плательщика
Ошибка при заполнении кода отчетного периода (месяц или год) — например, 09 (сентябрь) вместо 08 (август). В данном случае организация получает положительный протокол, при этом отчетность за 08 (август) фактически не считается сданной. Следует представить исходную форму за 08 (август). За 09 (сентябрь) форма уже считается принятой, при необходимости за сентябрь может быть представлена дополняющая форма (при наличии новых работников), или отменяющая форма (если  есть ошибочно включенные работники).
Ошибка структуры файла: Файл не соответствует xsd-схеме. В данном случае организации придет отрицательный протокол. Следует представить Исходную форму.
Ошибка на дубликат: При предоставлении сведений о застрахованных лицах с типом формы «Исходная» не должно быть ранее представленных сведений с типом «Исходные» за отчетный период, за который представляются сведения. В данном случае организации придет отрицательный протокол.  Данный  протокол говорит, что «Исходная» форма предприятием уже представлялась, следовательно, необходимо представлять форму СЗВ-М «Дополняющую».
Ошибка регистрационного номера в ПФР и наименования страхователя: Элемент «Регистрационный номер». Указывается номер, под которым страхователь зарегистрирован как плательщик страховых взносов, с указанием кодов региона и района по классификации, принятой в ПФР. В случае некорректного заполнения организации придет отрицательный протокол. Следует представить «Исходную» форму.
Ошибка ФИО, СНИЛС и ИНН:
1.    Отсутствие элементов «Фамилия», «Имя», «Отчество»;
2.    Указывается ФИО, содержащиеся в страховом свидетельстве;
3.    Должен быть указан хотя бы один из элементов ‘Фамилия’ или ‘Имя’;
4.    Во всех документах в элементах Фамилия, Имя, Отчество: не допускается смешение в этих элементах букв русского и латинского алфавитов;
5.    Во всех документах в элементах Фамилия, Имя, Отчество знаки ‘–’ не могут идти подряд или через пробел;
6.    Указывается СНИЛС, содержащийся в страховом свидетельстве.
 
В этом случае организация получает положительный протокол, в котором заполнен раздел «Ошибки» и указана информация  о некорректно представленных сведениях. На лиц, по которым надо внести изменения представляется «Дополняющая» форма СЗВ-М.

Бухгалтерия предприятия 8 редакции 3.0 – Учет без забот

Опубликовано 21.11.2016 09:39
Автор: Administrator
Просмотров: 4906

Наверно, нет такого бухгалтера, который ни разу не допускал бы ошибок в отчетности, главное — вовремя их обнаружить и сдать уточненную форму, чтобы избежать неприятных последствий. В этой статье мы поговорим о том, как исправить ошибки в форме СЗВ-М, в каких случаях они чаще всего возникают, и какие уточнения необходимо сдать в Пенсионный фонд при обнаружении ошибок. 

 Уточняющие формы отчета СЗВ-М могут быть двух видов:

— дополняющая, которая сдается если Вы забыли внести данные о сотруднике или необходимо откорректировать информацию по какому-то человеку;
— отменяющая, представляется в том случае, если работник был включен в отчет ошибочно.
В программе 1С: Бухгалтерия предприятия 8 редакции 3.0 для того, чтобы создать уточняющую форму СЗВ-М, необходимо перейти в раздел «Зарплата и кадры» и выбрать пункт «Сведения о застрахованных лицах, СЗВ-М». Создаем новый документ и для реквизита «Тип формы» в верхнем правом углу выбираем нужное нам значение.

 

 

Рассмотрим 3 самых распространенных случая предоставления уточненки:

1. Заполняя форму за октябрь, мы не включили в отчет сотрудника, который был уволен 1 октября. Если человек отработал хотя бы один день в отчетном месяце, то информация о нем обязательно должна быть в отчете. В этом случае сдается дополняющая форма, в которой прописываем только ФИО, СНИЛС и ИНН уволившегося работника, поданных ранее сотрудников не перечисляем.

 

 

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

 

Если сотрудник уже не работал в отчетном месяце, а заработная плата и взносы ему начислялись (например, премия за отработанный квартал), то он всё равно исключается из отчета.

3. Если были указаны неверные данные по работнику (ФИО, СНИЛС, ИНН), то сдаём дополняющую форму, указывая корректную информацию. Остальных сотрудников в этом случае тоже перечислять не нужно.

 

 

Автор статьи: Светлана Губина

Понравилась статья? Подпишитесь на рассылку новых материалов 


Добавить комментарий

М — что это такое?

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

Одной из таких форм является СЗВ-М, где содержатся сведения о застрахованных сотрудниках. Речь здесь идет не о страховании жизни или здоровья, а о пенсионном страховании. Следовательно, компании обязаны направлять данный отчет в ПФР, чтобы последний мог контролировать правильность начисления пенсий.

Расшифровка сочетания «СЗВ-М» отсутствует. Точнее, она нигде не определена в законе или других нормативных правовых актах. Название у данного отчета — «Сведения о застрахованных лицах». Если предположить, что первые две буквы расшифровываются как «сведения о застрахованных», то «В», скорее всего, означает то, что он входящий, то есть направляется в Пенсионный фонд РФ (документы, которые предоставляются из ПФР, обладают индексом «И» — исходящие). Буква «М», вероятно, обозначает периодичность предоставления данной формы отчетности – каждый месяц. Таким образом, СЗВ-М никак не расшифровывается. Это установленный государственными органами код, который используются для идентификации отчетности в различных информационных системах.

Содержание описываемой формы определено Постановлением Правительства РФ №83п в 2016 году. В Пенсионный фонд РФ ее предоставляют все предприниматели и организации, использующие в своей деятельности труд наемных работников. Обязанность составлять и отправлять отчет лежит также на адвокатах, нотариусах и других предпринимателях.

Важно: единственным признаком обязанности по предоставлению СЗВ-М является наличие оформленных трудовых отношений с наемными сотрудниками. Если в компании или у ИП имеется хоть один трудовой договор, они обязаны направлять данный отчет в ПФ РФ.

В некоторых ООО единственный учредитель заключает с собой трудовой договор для исполнения функций директора. В такой ситуации компания обязана предоставлять в ПФР отчет по форме СЗВ-М. В противном случае она может быть привлечена к административной ответственности. Если же трудовой договор учредитель сам с собой не заключил и получает доход только в виде дивидендов, то такой компании подавать отчет СЗВ-М в ПФР не нужно. Также отсутствует обязанность отчитываться и у ИП, если у него нет наемных сотрудников (тогда страховые взносы ИП платит в ПФР только за себя).

Описываемый отчет направляется в контролирующий орган ежемесячно не позже 15 числа. В нем должны содержаться данные обо всех сотрудниках предприятия, с которыми заключены трудовые договоры, действующие в течение месяца. Если сотрудник уволился, то информация по нему все равно включается в СЗВ-М. Однако в следующих отчетных периодах данные о нем уже подаваться не будут.

Важно: с 2017 года при расторжении трудового договора с работником работодатель должен предоставить ему выписку из отчета СЗВ-М. Работник может обратиться к руководству с заявлением о предоставлении ему сведений из описываемой формы, и работодатель обязан удовлетворить такую просьбу в течение 5 дней с момента поступления заявления.

Содержание отчетности очень простое:

  1. Сведения об отчитывающейся организации: краткое наименование, ИНН, КПП и регистрационный номер в системе пенсионного страхования.
  2. Цифровое обозначение периода, за который сформирован отчет.
  3. Тип отчета:
    • ИСХД — для СЗВ-М, который направляется впервые;
    • ДОП – для отчета, содержащего дополняющие данные;
    • ОТМ – для формы, которая отменяет предыдущую.
  4. Сведения обо всех официально трудоустроенных сотрудниках: ФИО, СНИЛС и ИНН.

Большинство организаций и ИП составляют форму в специальных программах, где ведутся регламентированные виды учета. Помимо составления отчетов, в таких приложениях можно контролировать все движения персонала (прием, перевод на другую должность, увольнение), анализировать выплаты под отчет (в том числе осуществлять учет ГСМ по топливным картам), начислять налоги и так далее. Такие программные продукты содержат форму отчета СЗВ-М, которая автоматически заполняется на основании имеющихся данных. Это существенно экономит время и повышает производительность.

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

Отчет СЗВ-М необходимо сдавать ежемесячно при наличии сотрудников

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

В ПФР компании и ИП предоставляют несколько форм отчетов. Один из них СЗВ-М, в котором содержатся сведения обо всех работниках организации (ФИО, ИНН, СНИЛС). Направлять такой отчет в контролирующий орган обязаны все работодатели, то есть компании, использующие труд наемного персонала. Заполняется форма достаточно просто. В ПФР она направляется либо почтой, либо по цифровым каналам связи (при наличии у организации ЭЦП).

Ответ на ваш вопрос, возможно, находится здесь

Форма СЗВ-М для ежемесячной отчетности в ПФР

Выбрать журналАктуальные вопросы бухгалтерского учета и налогообложенияАктуальные вопросы бухгалтерского учета и налогообложения: учет в сельском хозяйствеБухгалтер Крыма: учет в унитарных предприятияхБухгалтер Крыма: учет в сельском хозяйствеБухгалтер КрымаАптека: бухгалтерский учет и налогообложениеЖилищно-коммунальное хозяйство: бухгалтерский учет и налогообложениеНалог на прибыльНДС: проблемы и решенияОплата труда: бухгалтерский учет и налогообложениеСтроительство: акты и комментарии для бухгалтераСтроительство: бухгалтерский учет и налогообложениеТуристические и гостиничные услуги: бухгалтерский учет и налогообложениеУпрощенная система налогообложения: бухгалтерский учет и налогообложениеУслуги связи: бухгалтерский учет и налогообложениеОплата труда в государственном (муниципальном) учреждении: бухгалтерский учет и налогообложениеАвтономные учреждения: акты и комментарии для бухгалтераАвтономные учреждения: бухгалтерский учет и налогообложениеБюджетные организации: акты и комментарии для бухгалтераБюджетные организации: бухгалтерский учет и налогообложениеКазенные учреждения: акты и комментарии для бухгалтераКазенные учреждения: бухгалтерский учет и налогообложениеОплата труда в государственном (муниципальном) учреждении: акты и комментарии для бухгалтераОтдел кадров государственного (муниципального) учрежденияРазъяснения органов исполнительной власти по ведению финансово-хозяйственной деятельности в бюджетной сфереРевизии и проверки финансово-хозяйственной деятельности государственных (муниципальных) учрежденийРуководитель автономного учрежденияРуководитель бюджетной организацииСиловые министерства и ведомства: бухгалтерский учет и налогообложениеУчреждения здравоохранения: бухгалтерский учет и налогообложениеУчреждения культуры и искусства: бухгалтерский учет и налогообложениеУчреждения образования: бухгалтерский учет и налогообложениеУчреждения физической культуры и спорта: бухгалтерский учет и налогообложение

20192020

НомерЛюбой

Электронная версия

r — Точность измерения модели

на базе SVM

Я разработал модель, которая оценивает пользователя на основе того, насколько он важен для организации. Для этого я создал 1000 записей для 1000 пользователей. Здесь у меня есть одна зависимая переменная «Value» и есть другие независимые функции, которые влияют на «Value» пользователя. «Значение» может иметь любое значение от 1 до 1000.

Я нормировал тренировочные данные как 90:10, и когда я запустил алгоритм SVM, я увидел, что предсказания тестовых данных хорошо совпадают.

Теперь я ищу некоторую функцию на языке R, которая будет сравнивать предсказанное «Значение» и фактическое «Значение» данных тестирования и сообщать мне, насколько точным было предсказание «Значение».

Я столкнулся с confusionMatrix, но, похоже, он работает, он будет работать, когда зависимые данные могут иметь только 2 класса, например 0/1 или true / false. В моем случае «Значение» может иметь любое целое число от 0 до 1000.

Подскажите, пожалуйста, как лучше всего оценить точность и чувствительность модели.

Добавление ответа пользователю 20160, так как у меня недостаточно точки для добавления комментариев.

Я использую приведенную ниже логику для запуска svn на моих данных обучения и тестирования.

  ## отдельные переменные объекта и класса
test.feature.vars <- test.data [, - 1]
test.class.var <- test.data [, 1]

> formula.init <- "user.rating ~."
> formula.init <- as.formula (formula.init)
> svm.model <- svm (formula = formula.init, data = train.data,
+ ядро ​​= "радиальное", стоимость = 100, гамма = 1)
> резюме (svm.модель)


svm.predictions <- предсказать (svm.model, test.feature.vars)
  

А теперь мне нужно сравнить data = svm.predictions и ссылка = test.class.var

Обновление 2: на основании того, что ответил geekoverdose.

Спасибо. Я попытался подогнать предложенную вами модель и оценить метрику RMSE.

  userValue, User_Salary_Rating, USer_Exp_years, Low_Critical_App, isThirdPartyUser, isSuperUser, isSysAdm
100,18,6,2,0,0,12
10,0,0,0,0,0,0
30,0,3,0,0,0,7
26,0,3,0,0,0,3
52,0,3,0,1,0,10
71,9,0,0,0,1,10
46,0,6,0,0,0,10
29,0,0,0,0,0,15
62,9,3,0,0,0,15
57,0,3,0,1,0,15
  

И когда я запускаю команду поезда, я получаю ошибку ниже.Пожалуйста, подскажите, что здесь может быть не так.

 > модель <- train (x = test.data [, 2: 6], y = test.data $ userWeight, method = 'svmLinear', tuneGrid = expand.grid (C = 3 ** (- 5: 5 )), trControl = trainControl (метод = 'repeatcv', число = 10, повторы = 10, savePredictions = T))
Что-то не так; все значения метрики RMSE отсутствуют:
      RMSE Rsquared
 Мин. : Нет данных Мин. : NA
 1-й кв .: нет данных 1-й квартал: нет данных
 Медиана: нет данных Медиана: нет данных
 Среднее значение: NaN Среднее значение: NaN
 3-й кв.: Нет данных 3-й квартал: нет данных
 Максимум. : Нет данных Макс. : NA
 NA: 11 NA: 11
Ошибка в train.default (x = test.data [, 2: 6], y = test.data $ userWeight,:
  Остановка
Вдобавок: было 50 или более предупреждений (используйте warnings (), чтобы увидеть первые 50).
  

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

Практическое руководство по интерпретации и визуализации машин опорных векторов | Автор: Хьюго Долан

Об авторе

Хьюго Долан изучает финансовую математику в Университетском колледже Дублина.Это в основном основано и мотивировано недавним опытом анализа данных и машинного обучения в конкурсе NFL Punt Analytics Kaggle и участием в команде, выигравшей Citadel Dublin Data Open, а также материалами из онлайн-курса Стэнфорда CS229.

Эта статья содержит следующие разделы:

  1. Введение в линейные модели, SVM и ядра
  2. Интерпретация пространств инженерных функций большой размерности, в которых используются ядра SVM…
  3. Методы оценки эффективности границ классификации высокой размерности
  4. Практические варианты работы с дисбалансами большого класса
  5. Сколько данных вам нужно для обучения SVM

Я сделаю несколько предположений:

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

Введение в линейные модели, SVM и ядра

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

Многие модели, такие как логистическая регрессия, наивный байесовский анализ и дискриминантный анализ, и многие другие, являются примерами линейных моделей.

Основное преимущество линейных моделей перед нейронными сетями (нелинейная модель) состоит в том, что веса признаков напрямую соответствуют важности признака в модели. Таким образом, легко понять, чему модель «научилась».

Обучение модели регуляризованной регрессии L1 сразу становится очевидным, что большинство наших функций в нашем наборе данных совершенно не имеют отношения к прогнозированию наших результатов.Ясно, что признаки 0,1 вносят положительный вклад в модель, в то время как наличие признаков 2,3,4 в данном примере приводит к отрицательным вкладам в результат

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

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

Как мы видим, простая линейная модель не может разделить две «шумные гиперболы», поскольку она может соответствовать только «прямой» плоскости / линии через данные.Во втором примере используется нелинейная модель (на самом деле трюк с ядром, мы скоро к этому вернемся).

Машина опорных векторов (SVM) - единственная линейная модель, которая может классифицировать данные, которые нельзя разделить линейно.

Вы можете спросить, как SVM, которая является линейной моделью, может соответствовать линейному классификатору нелинейных данных. Интуитивно с помощью простой модели линейной регрессии мы можем вручную спроектировать x, x², x³,… функции, чтобы попытаться подобрать нелинейный набор точек данных.

Хотя характеристика X - единственная независимая переменная, которую мы должны предсказать y, которая по своей природе имеет нелинейную связь с x, мы можем спроектировать характеристики x² и x³, чтобы улучшить наше соответствие y.

Перенося эту интуицию на нашу SVM, когда мы проектируем функцию x², мы, по сути, умножаем свойство x на себя. Итак, предположим, что мы проектируем функции из нашего набора данных, умножая комбинации функций x1, x2, x3… вместе, тогда теоретически мы * могли бы * получить пространство, в котором ваши спроектированные функции будут линейно разделены. Взяв предыдущий простой пример, посмотрите, как данные ниже преобразуются в почти линейный тренд в пространстве функций x³.

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

К сожалению, для достижения этого со сложным набором данных требуется создание не только трехмерного пространства (объекты x, x², x³), но на самом деле пространств объектов с чрезвычайно высокой размерностью, вычисление которых для каждого примера в нашем наборе данных было бы очень затратным в вычислительном отношении. Ниже я показываю пример функции ø (x), которая берет наши исходные характеристики x и объединяет их для создания множества полиномиальных функций 2-го порядка.

Прежде чем мы продолжим : Я буду использовать обозначение x для обозначения точек данных / обучающих примеров с надстрочными индексами для обозначения конкретной точки данных и подстрочными индексами для обозначения конкретной функции.

Обычно это пространство большой размерности. Если бы у нас изначально было 100 функций, то эта функция произвела бы 100 * 100 инженерных функций. Это требует больших вычислительных ресурсов, в данном случае временная сложность Big-O (n²), подумайте о том, чтобы написать два вложенных цикла for для генерации всех комбинаций, созданных ø (x).

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

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

Итак, как это помогает снизить вычислительную сложность? Итак, по определению скалярного произведения, мы берем i-ю запись ø (x (i)) и умножаем ее на i-ю запись ø (x (j)), а затем суммируем все это, чтобы получить одиночный скейлер. Применяя это, мы получаем:

Как по волшебству, мы можем полностью избавиться от необходимости вычислять ø (x) с помощью простых алгебраических манипуляций с помощью уловки с ядром.j)):

Простая подстановка, обратите внимание, что наше ядро ​​использует здесь x и z только для того, чтобы удалить нотацию надстрочного индекса.

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

Таким образом, мы можем использовать трюк с ядром для преобразования нелинейной набор данных в набор данных, который можно линейно разделить, только в пространстве более высокого измерения. Sklearn поставляется с несколькими ядрами в реализации SVC, включая Radius Basis Kernel (RBF) и Polynomial Kernels, каждое из которых имеет свои собственные гиперпараметры, которые можно настроить экспериментально с помощью перекрестной проверки для достижения наилучших результатов.

Небольшая заминка, интерпретация многомерного пространства инженерных характеристик…

Итак, помните, как мы сказали, что большое преимущество линейной модели состояло в том, что веса / параметры модели можно было интерпретировать как важность характеристик. Что ж, как только мы создадим набор функций большой или бесконечной размерности, веса модели неявно будут соответствовать пространству высокой размерности, что бесполезно для понимания.

Вместо этого мы можем подобрать модель логистической регрессии, которая оценивает вероятность того, что метка y будет равна 1 с учетом исходных характеристик, где f (x) - функция принятия решения SVM:

Если это выглядит знакомо, подумайте о логистической регрессии. !

Мы используем оценку максимального правдоподобия, чтобы соответствовать параметрам этой модели логистической регрессии, метод называется масштабированием Платта, исходную статью [3] определенно стоит прочитать, если вам интересно, как устроена внутренняя работа.

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

SKlearn поставляется с этой функцией, встроенной в модель SVC, вам просто нужно убедиться, что вероятность = true, при инициализации, а затем использовать clf. pred_proba (X) функция для получения вероятностей.

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

Вот пример, который я сделал, когда работал над NFL Punt Analytics Kaggle Competition, изучая влияние различных факторов на сотрясения мозга:

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

Есть также отличный пример применения этого к маркетинговым данным [1], который вы можете найти здесь. Я также хотел бы поблагодарить Георгия, который нашел время, чтобы ответить на некоторые мои вопросы о газете.

Методы оценки производительности

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

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

Хороший метод, который я нашел, называется «Гистограмма проектов» [2], он включает в себя графическое представление распределения выходных данных функции принятия решений SVM для ваших обучающих и тестовых наборов.

Функцию принятия решения легко получить в реализации SVC SKlearn, просто позвонив по номеру solution_function (X). Вам нужно отслеживать метки ваших наборов данных, чтобы вы могли закодировать гистограмму прогнозов цветом, как показано ниже:

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

SVM имеет запас разделения, равный 1 с каждой стороны от границы принятия решения, это принудительное ограничение задачи двойной оптимизации («опорные векторы» - это точки данных, которые лежат вдоль этих полей).Вы заметите, что в приведенной выше модели есть некоторая утечка в области полей и действительно переход от одного класса к классу на противоположной стороне границы решения. Это связано с тем, что мы установили гиперпараметр регуляризации C> 0 (это позволяет найти компромисс между некоторой ошибкой классификации и минимизацией целевой функции SVM).

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

Практические варианты работы с несбалансированными данными

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

Пример реального набора данных с дисбалансом более 3000: 1

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

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

Существуют две общепринятые практики исправления моделей машинного обучения, работающих с несбалансированными данными:

  1. Избыточная выборка класса меньшинства / недостаточная выборка класса большинства
  2. Увеличение веса для примеров меньшинства в функции затрат

Опция 1: SMOTE

Существует два способа повторной выборки данных: удаление существующих примеров (недостаточная выборка) или добавление новых примеров (избыточная выборка). Наиболее распространенным методом является избыточная выборка класса меньшинства с использованием алгоритма SMOTE (Synthetic Minority Oversampling Technique) [5]

Его намного проще, чем следует из названия, для каждой точки меньшинства в наборе данных он выбирает k ближайших других примеров меньшинств. (обычно 5) и случайным образом интерполирует новые примеры меньшинств вдоль линии, «присоединяющейся» к существующим примерам меньшинств.

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

Мы видим, как SMOTE сгенерировал новые точки данных по линиям существующих точек.

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

Вариант 2: Введение весов в целевую функцию

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

У меня нет личного опыта использования этого метода, но его можно использовать вместе с вариантом 1. Это ссылка на хорошую статью [4], в которой подробно описаны многие подходы к устранению дисбаланса классов

Сколько данных нужно ли мне обучать SVM

Разумное практическое правило - как минимум в 10 раз больше обучающих примеров, чем функций. Если у вас большой объем обучающих данных, вам лучше всего использовать менее 50000 обучающих примеров, поскольку реализация SVC в sklearn имеет сложность O (n³), что означает, что время конвергенции к решению растет кубическим образом с количеством обучающих примеров, это может работать довольно медленно даже на приличном ноутбуке или контейнере kaggle.

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

Примечание. Если вы новичок в этом, советуем использовать модуль разделения теста sklearn и исправить случайное начальное число, чтобы ваши результаты были воспроизводимы, если вы вернетесь, чтобы отредактировать какой-то более ранний код и повторно запустить обучение / процедура выбора модели.

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

Ссылки на статьи

[1] Налбантов, Георгий и К. Биоч, Ян и Гроенен, Патрик. (2005). Решение и интерпретация задач двоичной классификации в маркетинге с помощью SVM. 566–573. 10.1007 / 3–540–31314–1_69.

[2] Черкасский, Владимир и Дхар, Саптик. (2010). Простой метод интерпретации многомерных нелинейных моделей классификации SVM.. 267–272.

[3] Платт Дж. (2019). Вероятностные выходы для машин опорных векторов и сравнения с регуляризованными методами правдоподобия . [онлайн] Citeseer.ist.psu.edu. Доступно по адресу: http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1639.

[4] Батувита, Рукшан и Паладе, Василе. (2013). Методы обучения дисбалансу классов для машин опорных векторов. 10.1002 / 9781118646106.ch5.

[5] Chawla, N.V., et al. «SMOTE: метод передискретизации синтетических меньшинств.» Журнал исследований искусственного интеллекта , www.jair.org/index.php/jair/article/view/10302.

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

- Введение в алгоритмы машинного обучения | Рохит Ганди

Стоимость равна 0, если прогнозируемое и фактическое значения имеют один и тот же знак. Если это не так, мы рассчитываем размер убытка. Мы также добавляем параметр регуляризации функции стоимости. Цель параметра регуляризации - уравновесить максимизацию маржи и убыток.После добавления параметра регуляризации функции стоимости выглядят следующим образом.

Функция потерь для SVM

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

Градиенты

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

Обновление градиента - без ошибочной классификации

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

Обновление градиента - неправильная классификация

Реализация SVM в Python

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

Поскольку набор данных Iris состоит из трех классов, мы удалим один из классов. Это оставляет нам проблему классификации бинарных классов.

Визуализация точек данных

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

Мы извлекаем необходимые функции и разделяем их на данные для обучения и тестирования. 90% данных используются для обучения, а остальные 10% используются для тестирования. Теперь давайте создадим нашу модель SVM, используя библиотеку numpy.

α (0,0001) - скорость обучения, а параметр регуляризации λ установлен равным 1 / эпох. Следовательно, значение регуляризации уменьшает количество возрастов эпох.

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

Точность нашей модели SVM

Есть еще один простой способ реализовать алгоритм SVM.Мы можем использовать библиотеку Scikit learn и просто вызвать связанные функции для реализации модели SVM. Количество строк кода значительно сокращается, если слишком мало строк.

Заключение

Машина опорных векторов - это элегантный и мощный алгоритм. Используйте его с умом 🙂

SVM на практике - Data Science Central

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

Модель реализована с использованием R и библиотеки «e1071».
Чтобы установить и использовать его, введите:

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

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

Параметры настройки

Еще один важный момент - для проверки параметров алгоритма SVM . Как и многие алгоритмы машинного обучения, SVM имеет некоторые параметры, которые необходимо настроить для повышения производительности. Это очень важно: SVM очень чувствительна к выбору параметров . Даже близкие значения параметров могут привести к очень разным результатам классификации.(-3: 1))

> сводка (настроенные_параметры)

Настройка параметров «svm»:

- метод выборки: 10-кратная перекрестная проверка

- лучшие параметры:

гамма-стоимость

0,1 1

- лучшая производительность: 0,1409453

- Подробные результаты производительности:

дисперсия ошибки гамма-стоимости

1 1e-05 0,1 0,2549098 0,010693238

2 1e-04 0,1 0,2548908 0,010689828

3 1e-03 0.1 0,2546062 0,010685683

4 1e-02 0,1 0,2397427 0,010388229

5 1e-01 0,1 0,1776163 0,014591070

6 1e-05 1,0 0,2549043 0,010691266

7 1e-03 1,0 0,2524830 0,010660262

8 1e-02 1,0 0,2262167 0,010391502

9 1e-01 1.0 0.1409453 0.009898745

10 1e-05 10,0 0,2548687 0,0106

11 1e-04 10,0 0,2545997 0,010686525

12 1e-03 10,0 0,2403118 0,010394169

13 1e-02 10,0 0.1932509 0,009984875

14 1e-01 10,0 0,1529182 0,013780632


Необходимо настроить γ (гамму), чтобы лучше согласовать гиперплоскость с данными. Он отвечает за степень линейности гиперплоскости и отсутствует при использовании линейных ядер. Чем меньше γ , тем больше гиперплоскость будет выглядеть как прямая линия . Если γ слишком велико, гиперплоскость будет более изогнутой и может слишком хорошо очерчивать данные и привести к переобучению.

Рисунок 2 - большое значение γ

Еще один параметр, который необходимо настроить для повышения точности, - это C. Он отвечает за размер «мягкого поля» SVM. Мягкий край - это «серая» область вокруг гиперплоскости. Это означает, что баллы внутри этого мягкого поля не относятся ни к одной из этих двух категорий. Чем меньше значение C, тем больше мягкий запас .

Рисунок 3 - Отличные значения C

Рисунок 4 - Малые значения C


Как подготовить данные

Метод svm () в R ожидает матрицу или фрейм данных с одним столбцом, определяющим класс этой строки и несколькими функциями, описывающими эти данные.В следующей таблице показан пример двух классов, 0 и 1, и некоторых функций. Каждая строка представляет собой запись данных.

класс f1 f2 f3

1 0 0,100 0,500 0,900
2 0 0,101 0,490 0,901
3 0 0,110 0,540 0,890
4 0 0,100 0,501 0,809
5 1 0,780 0,730 0,090
6 1 0,820 0,790 0,100
7 1 0,870 0,750 0,099
8 1 0,890 0,720 0,089

ввод для метода svm () может быть:

> svm (class ~., data = my_data, kernel = "radial", gamma = 0.1, cost = 1)

Здесь «class» - это имя столбца, который описывает классы ваших данных, а «my_data» - это, очевидно, ваш набор данных. Параметры должны быть наиболее подходящими для вашей проблемы.

Проверьте свои результаты

Всегда отделяйте часть данных для проверки. Обычной практикой является получение 2/3 данных в виде обучающего набора (чтобы найти вашу модель) и 1/3 как тестового набора. Ваша последняя ошибка должна быть сообщена на основе набора тестов, в противном случае она может быть предвзятой.

Вы можете разделить свои данные в R, как в следующем примере:

> data_index <- 1: nrow (dataset)
> testindex <- sample (data_index, trunc (length (data_index) * 30/100))
> test_set <- dataset [testindex,]
> train_set <- dataset [-testindex,]

Итак, когда вы действительно запускаете метод svm (), вы должны это сделать:

> my_model <- svm (class ~., data = train_set , Kernel = "radial", gamma = 0.1, cost = 1)

А затем для проверки результатов на test_set:

> my_prediction <- prediction (my_model, test_set [, - 1])

test_set [, - 1 ] удаляет первый столбец (столбец класса), чтобы делать прогнозы только на основе характеристик данных.Вам следует удалить столбец, который помечает ваши данные.

Станок опорных векторов | Справка Alteryx

Пример одного инструмента
У машины опорных векторов

есть пример одного инструмента. Посетите «Примеры рабочих процессов», чтобы узнать, как получить доступ к этому и многим другим примерам непосредственно в Alteryx Designer.

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

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

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

Этот инструмент использует пакет e1071 R.

Этот инструмент использует инструмент R. Выберите «Параметры»> «Загрузить инструменты прогнозирования» и войдите на портал загрузок и лицензий Alteryx, чтобы установить R и пакеты, используемые инструментом R. Посетите Скачивание и использование инструментов прогнозирования.

Подключение входа

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

Инструмент настройки

Обязательные параметры

  • Название модели : каждой модели необходимо название, чтобы ее можно было позже идентифицировать.Названия моделей должны начинаться с буквы и могут содержать буквы, цифры и специальные символы точки («.») И подчеркивания («_»). Никакие другие специальные символы не допускаются, а R чувствителен к регистру.
  • Выберите целевое поле : выберите поле из потока данных, которое вы хотите прогнозировать.
  • Выберите поля предиктора : выберите поля из потока данных, которые, по вашему мнению, «вызывают» изменения в значении целевой переменной. Столбцы, содержащие уникальные идентификаторы, такие как суррогатные первичные ключи и естественные первичные ключи, не должны использоваться в статистическом анализе.Они не имеют прогностической ценности и могут вызывать исключения во время выполнения.
  • Выберите метод классификации или регрессии на основе целевой переменной, которую вы хотите предсказать. Как правило, если целевая переменная, которую вы выбираете, является строковым или логическим типом, это, вероятно, проблема классификации. Если это числовой тип, скорее всего, это проблема регрессии.
    • Классификация :
      • Краткое описание базовой модели: вызов функции в R, цель, предикторы и связанные параметры.
      • Модель
      • Характеристики:
        • Матрица неточностей
        • Графики классификации SVM
        • В отчете объясняется, как интерпретировать каждый показатель оценки эффективности.
    • Классификации :
      • C-классификация : Оптимизирует плоскость принятия решения с учетом некоторой ошибки
      • Nu-классификация : Подобна C-классификации, но позволяет пользователю ограничить количество ошибок, выбрав Значение nu .
    • Регрессия :
      • Краткое описание базовой модели: вызов функции в R, цель, предикторы и связанные параметры.
      • Модель
      • Характеристики:
        • Среднеквадратическая ошибка
        • R-квадрат
        • Средняя абсолютная ошибка
        • Средняя абсолютная ошибка
        • Остаточный участок
        • Остаточное распределение
        • В отчете объясняется, как интерпретировать каждый показатель оценки эффективности.
    • Регрессии :
      • эпсилон-регрессия
      • Nu регрессия : Подобна эпсилон-регрессии, но позволяет пользователю ограничить количество ошибок, выбрав Значение nu .

Настройка модели (необязательно)
В разделе настройки модели пользователь выбирает тип ядра и соответствующие параметры каждого ядра.Выберите Укажите параметры модели , чтобы настроить модель.

Пользователь предоставляет параметры. : Выберите, чтобы напрямую установить необходимые параметры.

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

  • Линейное : полезно, когда отношение между классами и предикторами представляет собой простую линию, плоскость или гиперплоскость.
    • стоимость : Стоимость, связанная с неправильной группировкой записи.Более низкое значение стоимости учитывает определенный уровень ошибки при формировании групп записей, чтобы избежать переобучения.
  • Полином : расстояние измеряется с использованием полиномиальной функции переменных-предикторов.
    • стоимость: Стоимость, связанная с неправильной группировкой записи. Более низкое значение стоимости учитывает определенный уровень ошибки при формировании групп записей, чтобы избежать переобучения.
    • степень : Степень полиномиального ядра.Увеличение степени полинома позволяет сделать разницу между группами более гибкой, что снижает погрешность для выборки оценки. Однако ценой переобучения модели для оценочной выборки.
    • гамма : коэффициент члена внутреннего произведения в ядре полинома.
    • coef0 : Постоянный член в полиномиальной формулировке.
  • Радиальный (по умолчанию) : подходит для нелинейно разделяемых данных.
    • стоимость : Допускает определенную ошибку в классификации, чтобы избежать переобучения.
    • гамма : коэффициент при степенном члене в ядре радиальной базисной функции. Чем больше гамма, тем богаче пространство признаков и, следовательно, меньше ошибок для обучающего набора; однако это также может привести к плохой переоснащенности.
  • Sigmoid : в основном используется в качестве прокси для нейронных сетей
    • гамма : определяет влияние на обучающий пример.
    • coef0 : Постоянный член в сигмовидном ядре.

Машина настраивает параметры : Выберите, чтобы предоставить диапазон параметров и найти наилучшие параметры путем поиска в сетке возможных значений, что является более затратным с точки зрения вычислений и, следовательно, требует больше времени, поскольку для проверки выполняется 10-кратная перекрестная проверка. модель по нескольким значениям параметров. Однако это может привести к модели, которая лучше соответствует данным.

Параметры, которые необходимо выбрать в этом случае, аналогичны параметрам в случае раздела «Пользователь предоставляет параметры», но со следующими отличиями:

  • Количество кандидатов : сколько значений параметров пользователь хочет протестировать (по умолчанию: 5)
  • Тип ядра (поиск по сетке) : См. Раздел «Параметры, предоставляемые пользователем».Пользователь указывает минимальное и максимальное значения определенных параметров. Модель сгенерирует определенное количество кандидатов, заданных в поле «Количество кандидатов», и найдет лучшего с помощью 10-кратной перекрестной проверки.

Параметры графики

  • Размер участка : установите размеры ширины и высоты получившегося графика в дюймах или сантиметрах.
  • Разрешение графика : выберите разрешение графика в точках на дюйм: 1x (96 точек на дюйм), 2x (192 точек на дюйм) или 3x (288 точек на дюйм).
    • Более низкое разрешение создает файл меньшего размера и лучше всего подходит для просмотра на мониторе.
    • При более высоком разрешении создается файл большего размера с лучшим качеством печати.
  • Базовый размер шрифта : количество точек базового шрифта, используемого в графиках, созданных макросом

Просмотр вывода

  • O якорь: Вывод «O» состоит из таблицы сериализованной модели с ее названием. Инструмент Score и набор тестовых данных можно использовать после получения результата от инструмента SVM.
  • R привязка: Вывод «R» состоит из фрагментов отчета, созданных инструментом Support Vector Machine. Отчет отличается для классификации и регрессии, поскольку для них используются разные методы оценки эффективности.

Применение машинного моделирования опорных векторов для прогнозирования распространенных заболеваний: диабет и преддиабет | BMC Medical Informatics and Decision Making

Источник данных

В этом исследовании мы использовали набор данных за 1999–2004 годы Национального исследования здоровья и питания (NHANES) для создания алгоритма SVM.NHANES - это постоянное поперечное исследование вероятностной выборки населения США. Он собирает демографическую информацию, историю здоровья и поведенческую информацию от участников домашних интервью. Участников также приглашают на подробные физические, физиологические и лабораторные обследования, которые проводит обученный персонал в специально оборудованных мобильных центрах [15].

Мы ограничили наше исследование небеременными участницами в возрасте 20 лет и старше. Считалось, что у участников диагностирован диабет, если они ответили «да» на вопрос «Говорили ли вам когда-нибудь врач или медицинские работники о том, что у вас диабет?» Участники, ответившие «нет» на этот вопрос, но у которых уровень глюкозы в плазме натощак ≥ 126 мг / дл, считались недиагностированными; пациенты с уровнем глюкозы в плазме натощак 100–125 мг / дл считались предиабетом.Считалось, что участники с уровнем глюкозы натощак <100 мг / дл не страдали диабетом (таблица 1).

Таблица 1 Описание набора данных Национального обследования здоровья и питания, использованного для исследования

Мы разработали две разные схемы классификации (Таблица 1). В схеме классификации I группа лиц с диабетом (диагностированным или недиагностированным) была выделена из лиц без диабета, включая лиц с предиабетом. В схеме классификации II группа лиц с недиагностированным диабетом или предиабетом была выделена из группы лиц без диабета.Модели были разработаны с использованием выборки из 80% людей в каждой группе и проверены на оставшихся 20%.

Выбор переменных

Мы выбрали 14 простых переменных, обычно связанных с риском диабета: семейный анамнез, возраст, пол, раса и этническая принадлежность, вес, рост, окружность талии, ИМТ, гипертония, физическая активность, курение, употребление алкоголя, образование , и семейный доход. Выбор переменных производился в соответствии с автоматическим подходом, разработанным Chen et al.[16]. Значимость автоматически выбранного набора переменных была дополнительно оценена вручную путем точной настройки параметров. В окончательный отбор были включены переменные с лучшими различительными характеристиками.

Генерация модели

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

Основная идея, лежащая в основе техники SVM, состоит в построении n-1-мерной разделяющей гиперплоскости для различения двух классов в n-мерном пространстве. Точка данных рассматривается как n-мерный вектор. Например, две переменные в наборе данных создадут двумерное пространство; разделяющая гиперплоскость будет прямой линией (одномерной), разделяющей пространство пополам.Когда задействовано больше измерений, SVM ищет оптимальную разделяющую гиперплоскость, называемую разделяющей гиперплоскостью с максимальным запасом. Расстояние между гиперплоскостью и ближайшей точкой данных с каждой стороны (называемой опорными векторами) максимально. Наилучший сценарий - разделение двух классов линейной гиперплоскостью. Однако реальные ситуации не всегда так просты. Некоторые точки данных в двух классах могут попасть в «серую» область, которую нелегко разделить. SVM решает эту проблему за счет 1) разрешения некоторых точек данных на неправильную сторону гиперплоскости путем введения определяемого пользователем параметра C, который определяет компромисс между минимизацией ошибочной классификации и максимизацией маржи; 2) с использованием функций ядра (обычно включая линейные, полиномиальные, сигмоидальные и радиальные базисные функции (RBF)) для добавления дополнительных измерений в пространство низкой размерности, в результате чего два класса могут быть разделены в пространстве высокой размерности.На рисунке 1 показан пример неразделимого двумерного пространства, которое становится разделимым после преобразования входного пространства из низкоразмерного в многомерное. Подход SVM имеет тенденцию классифицировать сущности без предоставления оценок вероятностей членства в классе в наборе данных, что является фундаментальным отличием от множественной логистической регрессии.

Рисунок 1

Демонстрация поиска разделяющей гиперплоскости в пространстве большой размерности и в пространстве низкой размерности .

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

Мы использовали LibSVM [18], свободно доступную программную библиотеку SVM, для создания моделей SVM. Чтобы сгенерировать набор данных для обучения модели, мы случайным образом выбрали ряд случаев, не являющихся случаями, чтобы соответствовать количеству наблюдений в наборе данных обучения (см. Таблицу 1 для определения случаев и случаев, не являющихся случаями).В соответствии с вводом необходимого формата данных значения выбранных признаков были нормализованы до значений от - 1 до +1. Значения категориальных переменных, таких как раса, произвольно присваиваются числам от -1 до +1. Например, -1, -0,5, 0, 0,5, 1 представляет белых неиспаноязычных, черных неиспаноязычных, американцев мексиканского происхождения, других, других испаноязычных соответственно. Значения непрерывных переменных были преобразованы в значения от -1 до +1 путем их деления на соответствующее число. Например, значения возраста были разделены на 100.В наборе обучающих данных первый столбец входных данных был установлен на известный результат, то есть 1 для положительного результата, -1 для отрицательного. Утилита, включенная в пакет LibSVM (grid.py), использовалась для поиска оптимальных параметров для параметра штрафа C и гаммы при 5-кратной перекрестной проверке. Различные функции ядра, включая линейные, полиномиальные, сигмоидальные и радиальные базисные функции (RBF), были протестированы и выбраны для моделей на основе производительности.

Моделирование множественной логистической регрессии (MLR) было выполнено с использованием тех же выбранных переменных или характеристик риска и статуса случая (как указано ранее и в таблице 1) в качестве переменной результата.Логистический регрессионный анализ был проведен с обучающим набором данных с использованием SUDAAN версии 9, вызываемой SAS, процедуры, специфичной для сложного дизайна обследования. Затем оцененные коэффициенты β были применены к набору тестовых данных, чтобы вычислить для каждого человека вероятность того, что это случай.

Оценка моделей

Оценка в наборах тестовых данных

Наборы тестовых данных использовались для оценки производительности моделей. Проверка с использованием наборов тестовых данных позволила избежать потенциального смещения оценки производительности из-за чрезмерной подгонки модели к наборам обучающих данных.Для модели SVM файлы данных в наборах тестовых данных были отформатированы в соответствии с требованием, чтобы значения переменных были нормализованы до значений от -1 до +1; первый столбец набора входных данных (указывающий статус дела) был установлен на 0. Код Java программы прогнозирования из библиотеки LibSVM был изменен для вывода значения решения (внутренняя оценка, сгенерированная инструментом SVM) для каждого члена набора тестовых данных. Для модели логистической регрессии значение прогноза для каждого члена набора тестовых данных было оценено с помощью функции логистической регрессии, созданной на этапе обучения.

10-кратная перекрестная проверка в наборе обучающих данных

Чтобы оценить надежность оценок из моделей SVM, 10-кратная перекрестная проверка была выполнена в наборе обучающих данных. Набор обучающих данных был разделен на 10 подмножеств одинакового размера. Каждое подмножество использовалось в качестве набора тестовых данных для модели, обученной для всех случаев, и равное количество неслучаев, случайно выбранных из 9 оставшихся подмножеств данных. Этот процесс перекрестной проверки был повторен 10 раз, позволяя каждому подмножеству один раз служить набором тестовых данных.Чтобы получить сводные оценки производительности, мы усреднили площадь под кривой (AUC) кривой рабочих характеристик приемника (ROC) и другие статистические данные (чувствительность, специфичность, положительное прогнозирующее значение [PPV], отрицательное прогнозируемое значение [NPV]) перекрестного -проверки.

Статистика для оценки эффективности

Кривые ROC были построены на основе прогнозируемого и истинного результата. AUC для наборов тестовых данных были рассчитаны и использованы для сравнения дискриминативных способностей моделей.Мы использовали метод Делонга для расчета P -значений для сравнения AUC на основе результатов моделей SVM и моделей MLR [19].

Чувствительность, специфичность, PPV и NPV были рассчитаны на основе следующих формул, когда для порогового значения было задано значение по умолчанию (0) в модели SVM.

, где TP, FP, TN и FN представляют количество истинных положительных результатов, ложных положительных результатов, истинных отрицательных и ложных отрицательных результатов, соответственно.

Демонстрационная реализация веб-инструмента классификации

Мы реализовали модель SVM как веб-инструмент, который мы назвали классификатором диабета.Приложение было создано с использованием технологии J2EE [20] и других сред Java с открытым исходным кодом, таких как Hibernate [21] и Strut [22]. Java-коды с открытым исходным кодом LibSVM были изменены и встроены в исходные коды системы для прогнозирования. Таблицы поиска для значений отсечения и соответствующей статистики (чувствительность, специфичность) были созданы на основе вычислений по каждой точке данных в наборах тестовых данных. Классификатор диабета находится в свободном доступе по адресу http://www.hugenavigator.net/DiseaseClassificationPortal/startPageDiabetes.делать

SVM - документация Orange Visual Programming 3

Support Vector Machines сопоставляет входные данные с пространством функций более высокой размерности.

Входы

  • Данные: входной набор данных
  • Препроцессор: метод (-ы) предварительной обработки

Выходы

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

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

Для задач регрессии SVM выполняет линейную регрессию в пространстве признаков большой размерности, используя потери, нечувствительные к ε. Его точность оценки зависит от правильной настройки параметров C, ε и ядра. Виджет выводит прогнозы класса на основе регрессии SVM.

Виджет работает как для задач классификации, так и для регрессии.

  1. Учащемуся может быть присвоено имя, под которым он будет отображаться в других виджетах. Имя по умолчанию - «SVM».
  2. Тип SVM с настройками тестовых ошибок. SVM и ν-SVM основаны на разной минимизации функции ошибок. С правой стороны вы можете установить границы ошибок теста:
    • SVM:
      • Стоимость: срок штрафа за потерю и применяется для задач классификации и регрессии.
      • ε: параметр модели epsilon-SVR, применяется к задачам регрессии.Определяет расстояние от истинных значений, в пределах которого с предсказанными значениями не связаны штрафы.
    • ν-SVM:
      • Стоимость: срок штрафа за убытки и применяется только к задачам регрессии
      • ν: параметр модели ν-SVR, применяется к задачам классификации и регрессии. Верхняя граница доли ошибок обучения и нижняя граница доли опорных векторов.
  3. Ядро
  4. - это функция, которая преобразует пространство атрибутов в пространство новых функций, чтобы соответствовать гиперплоскости с максимальным запасом, что позволяет алгоритму создавать модель с ядрами Linear, Polynomial, RBF и Sigmoid.Функции, определяющие ядро, отображаются при их выборе, и задействованные константы:
    • g для гамма-константы в функции ядра (рекомендуемое значение - 1 / k, где k - количество атрибутов, но поскольку там может быть не задан обучающий набор для виджета, по умолчанию 0, и пользователь должен установить эту опцию вручную),
    • c для константы c0 в функции ядра (по умолчанию 0) и
    • d для степени ядра (по умолчанию 3).
  5. Установите допустимое отклонение от ожидаемого значения в Числовой допуск . Установите флажок рядом с Iteration Limit , чтобы установить максимальное разрешенное количество итераций.
  6. Составить отчет.
  7. Нажмите Применить , чтобы зафиксировать изменения. Если вы установите флажок слева от кнопки Применить , изменения будут сообщены автоматически.

Примеры

В первом (регрессионном) примере мы использовали , содержащий набор данных , и разделили данные на два подмножества данных ( Data Sample и Remaining Data ) с помощью Data Sampler.Образец был отправлен в SVM, который произвел Model , который затем использовался в прогнозировании для прогнозирования значений в Remaining Data . Аналогичную схему можно использовать, если данные уже находятся в двух отдельных файлах; в этом случае вместо комбинации File - Data Sampler будут использоваться два виджета File.

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *