Чтобы Пенсионный фонд принял отчет СЗВ-М с первого раза, в нем должны быть указаны корректные данные о работодателе и застрахованных лицах. Кроме того, заполненная форма должна своевременно попасть в ПФР допустимым способом, зависящим от численности застрахованных лиц. Можно ли в 2022 году заполнить СЗВ-М онлайн бесплатно, где взять бланк, из каких разделов он состоит и какие данные нужны для заполнения, узнайте из нашего материала. Здесь же вы найдете образец заполнения СЗВ-М в 2022 году по новой форме, а также ответы на другие сопутствующие вопросы.
Кто из работодателей обязан представлять СЗВ-М, поможет разобраться информация на рисунке:
Принимая решение, нужно ли представлять в ПФР форму СЗВ-М, учитывайте следующее:
Вопрос о том, нужно ли представлять СЗВ-М на руководителя — единственного учредителя, вызывает много споров и судебных разбирательств. Однако чиновники требуют в такой ситуации отчитываться по форме СЗВ-М (письма Минтруда от 16.03.2018 № 17-4/10/В-1846, от 29.03.2018 № ЛЧ-08-24/5721), а судьи их поддерживают (постановление АС Центрального округа от 18.04.2019 по делу № А14-1839/2018).
Ранее мы рассказывали, какие законодательные нормы обязывают представлять СЗВ-М на единственного учредителя.
Нужно ли заполнять СЗВ-М на совместителей и декретниц, разъяснили эксперты КонсультантПлюс. Получите пробный доступ к К+ бесплатно и переходите в Готовое решение.
С 30.05.2021 (то есть с отчета за май 2021) форма СЗВ-М и порядок ее заполнения утверждены постановлением Правления ПФР от 15. 04.2021 № 103п. Она представляет собой один из отчетов работодателей в Пенсионный фонд, содержащий персонифицированные сведения о физлицах (Ф.И.О., СНИЛС и ИНН) — сотрудниках, с которыми оформлены трудовые договоры, и лицах, заключивших договоры гражданско-правового характера (ГПХ). Скачать форму можно бесплатно, кликнув по картинке ниже:
Бланк СЗВ-М Скачать
СЗВ-М необходимо представлять ежемесячно — не позднее 15-го числа месяца, следующего за отчетным (п. 2.2 ст. 11 закона «Об индивидуальном (персонифицированном) учете в системе обязательного пенсионного страхования» от 01.04.1996 № 27-ФЗ).
В отдельных случаях на заполнение СЗВ-М можно потратить чуть больше указанного времени: если 15-е число выпадает на выходной или праздничный день, крайний отчетный срок сдвигается на первый рабочий день (письмо ПФР от 07.04.2016 № 09-19/4844).
Какой штраф за нарушения с СЗВ-М, узнайте в Готовом решении от КонсультантПлюс. Пробный доступ к системе можно получить бесплатно.
Далее расскажем о составе отчетной формы и покажем, как выглядит образец СЗВ-М.
Структура и состав данных СЗВ-М довольно просты. Если у работодателя не много застрахованных лиц, весь отчет может поместиться на 1 странице.
Всего в отчете 4 раздела:
Регистрационный номер в ПФР — это 12-значный цифровой код, присваиваемый каждому работодателю при регистрации в Пенсионном фонде. Чтобы убедиться, что имеющиеся у составителя отчета данные об этом номере достоверны, можно его проверить на сайте ФНС, открыв выписку из ЕГРЮЛ/ЕГРИП. В выписке регистрационный номер указан в разделе «Сведения о страхователе в Пенсионном фонде».
Остальные сведения о работодателе, вносимые в форму, должны быть полностью идентичными данным из учредительных документов (в части наименования компании), а также Свидетельства о постановке на учет в налоговом органе (данные об ИНН и КПП).
В этом разделе нужно проставить всего 2 цифры: календарный год и номер отчетного месяца в установленном формате.
В этом разделе указывается один из трех предлагаемых типов формы: «Исходная», «Дополняющая» или «Отменяющая». Расшифровка каждого типа приведена в п. 13 Порядка заполнения.
По информации из этого раздела специалисты ПФР поймут, сдаете ли вы отчет СЗВ-М с исходными данными за отчетный период или корректируете уже поданную форму при выявлении в ней недостающих или ошибочных данных.
Для заполнения раздела нужны корректные данные о Ф.И.О., СНИЛС и ИНН застрахованных лиц.
При этом в графе «Фамилия, имя, отчество» отчество заполняется при его наличии. Это же правило касается графы «ИНН» — если у физлица его нет, данная графа не заполняется. А вот без данных о СНИЛС отчет сдать не получится.
Завершается оформление отчета стандартной процедурой — подписанием ответственным лицом с проставлением его должности и расшифровкой Ф.
Посмотреть и скачать образец СЗВ-М 2022 года по новой форме можно в КонсультантПлюс, получив бесплатный пробный доступ:
Скачайте наш чек-лист по заполнению СЗВ-М и не допускайте ошибок.
Читайте также еще об одном новом отчете в ПФР, который нужно сдавать вместе с СЗВ-М.
Работодатели, сдающие отчетность в ПФР впервые, часто интересуются, можно ли заполнить СЗВ-М онлайн и есть ли бесплатные сервисы формирования этой формы.
Существует немало платных и бесплатных сервисов по формированию отчетных форм для ПФР. К примеру, для заполнения СЗВ-М онлайн бесплатно можно воспользоваться предложением от ПФР. На его официальном сайте можно скачать программу Spu_orb и сформировать набор документов для Пенсионного фонда, в том числе СЗВ-М. Эта программа распространяется бесплатно.
Устанавливается программа быстро и не требует специальных компьютерных навыков. Достаточно следовать подсказкам мастера установки:
Познакомьтесь с нашими материалами о том, как современные технологии облегчают формирование разнообразных учетных и отчетных документов:
Рассмотрим, как заполнять отчет СЗВ-М после установки и запуска программы Spu_orb.
Основные этапы оформления отчета:
Для начала работы в меню «Настройки» следует выбрать пункт «Реквизиты предприятия» и отразить необходимую информацию:
Чтобы заполнить СЗВ-М данными о сотрудниках, в меню «Ввод данных» выберите отчетную форму «Сведения о застрахованных лицах: СЗВ-М».
Затем укажите отчетные месяц и год, тип формы (исходная) и дату заполнения формы с помощью кнопки «Добавить» и введите данные о сотрудниках:
Если вы ошиблись при вводе данных, программа на это укажет:
В отчет включаются работники, с которыми в отчетном месяце действовал трудовой договор или договор подряда — хотя бы один день. Тот факт, перечислял работодатель по таким контрактам вознаграждения или нет, значения не имеет.
После того как данные обо всех сотрудниках внесены в форму, готовый СЗВ-М можно просмотреть с помощью кнопки «Печать», выгрузить и/или распечатать.
Возможность заполнить СЗВ-М онлайн бесплатно предоставляют некоторые коммерческие сайты. Для этого предлагается заполнить необходимыми данными предложенные поля, которые соответствуют содержанию СЗВ-М, и распечатать форму. Однако такие сервисы, как правило, не позволяют проверить корректность введенных данных и сформировать файл для отправки отчета в электронной форме.
СЗВ-М можно сдавать на бумаге или электронно в зависимости от числа застрахованных лиц:
С 10.01.2022 если численность застрахованных лиц за прошлый отчетный период 10 и менее человек, работодатель вправе выбрать между бумажным и электронным отчетом. Начиная с 11 работников права выбора нет — в ПФР можно отчитаться только электронно (п. 2 ст. 8 федерального закона от 01.04.1996 № 27-ФЗ).
Прочитайте также о том, можно ли отправить СЗВ-М по почте.
Форма СЗВ-М представляется ежемесячно не позднее 15-го числа месяца, следующего за отчетным. В ней указываются данные о работодателе: регистрационный номер в ПФР, наименование, ИНН и КПП, а также корректные сведения о Ф.И.О., СНИЛС и ИНН застрахованных лиц, с которыми в отчетном месяце были заключены, продолжали действовать или прекращены трудовые договоры или договоры ГПХ.
Заполнить СЗВ-М онлайн бесплатно в 2022 году можно на коммерческих интернет-сайтах. Но безопаснее использовать специальную программу от ПФР или применяемые большинством работодателей учетные программы, предоставляющие возможность последующей проверки на корректность введенных данных и формирования файла для отправки отчета в электронной форме.
Источники:
Текст: Елена Карсетская – юрист, эксперт по трудовому праву. Автор многочисленных публикаций в профессиональных изданиях. Автор книг «Трудовые книжки», «Сокращение штата», «Прием и увольнение работников»; «Локальные акты организации» и других.
С 1 января 2023 года произойдет объединение Пенсионного фонда РФ и Фонда социального страхования РФ. Как следствие, изменятся формы и состав отчетности, которая будет представляться в объединенный фонд. Рассмотрим, что будет представлять собой новая форма ЕФС-1, которая заменит СЗВ-ТД. СЗВ-СТАЖ. СЗВ-М. 4-ФСС к ДСВ-3.
С 2023 года вместо Пенсионного фонда РФ и Фонда социального страхования РФ будет действовать единый фонд – Фонд пенсионного и социального страхования Российской Федерации (Федеральный закон от 14.07.2022 № 236-ФЗ «О Фонде пенсионною и социального страхования Российской Федерации»). Кратко фонд будет именоваться Социальный фонд России, а сокращенно – СФР.
Соответственно, с нового года станут неактуальными действующие сейчас формы. СЗВ-ТД. СЗВ-СТАЖ. СЗВ-М, 4-ФСС, ДСВ-3. Вместо данных форм будет введена единая форма сведений (п. 2 ст. 8 Федерального закона от 01.04.1996 № 27-ФЗ «Об индивидуальном (персонифицированном) учете в системах обязательного пенсионного страхования и обязательного социального страхования» в редакции, действующей с 01.03.2022). В единую форму войдет также информация о страховых взносах на обязательное социальное страхование (несчастные случай и профзаболевания), поэтому отпадает необходимость в отдельной форме 4-ФСС.
На данный момент единая форма еще не утверждена, но Правление ПФР подготовило проект Постановления об утверждении единой формы и правилах ее заполнения. С максимальной долей вероятности, с 2023 года будет использоваться единая форма, предложенная данным проектом. Поэтому заранее ознакомимся с особенностями данного документа.
Итак, форма будет иметь краткое наименование ЕФС-1. Состоять она будет из титульного листа и двух разделов:
Раздел 1 – «Сведения о трудовой (иной) деятельности, страховом стаже, заработной плате и дополнительных страховых взносах на накопительную пенсию»;
Раздел 2 – «Сведения о начисленных страховых взносах на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний».
Каждый раздел содержит еще несколько подразделов, которые имеют свои особенности заполнения и сроки представления. Нет необходимости всегда представлять полностью заполненную форму. Организация может представлять конкретные разделы и подразделы в соответствии с установленными сроками их представления (п. 1.11 Проекта, но титульный лист надо заполнять всегда, независимо от комплектации отчета).
Раздел 1 фактически заменяет формы СЗВ-ТД, СЗВ-СТАЖ и ДСВ-3. Обратите внимание: в данный раздел надо будет включать информацию не только о работниках, но и об исполнителях по гражданско-правовым договорам.
Раздел 1 состоит из подразделов:
– подраздел 1 «Сведения о трудовой (иной) деятельности, страховом стаже, заработной плате зарегистрированного лица (ЗЛ)».
Этот подраздел содержит общие сведения о работнике (исполнителе по договору ГПХ). Поэтому заполнять этот подраздел надо обязательно, если вы заполняете один из следующих подразделов раздела 1.
– подраздел 1.1. «Сведения о трудовой (иной) деятельности»
Этот подраздел содержит информацию, которая сейчас отражается в СЗВ-ТД. Но еще раз отметим, что заполнять данный раздел надо будет не только, когда будут иметь место кадровые мероприятия в отношении работников, но и в отношении исполнителей по договорам ГПХ, поэтому появляются свои нюансы.
Вводятся новые коды «НАЧАЛО ДОГОВОРА ГПХ», «ОКОНЧАНИЕ ДОГОВОРА ГПХ». Отметим, что проект ЕФС-1 создавался до введения изменений в трудовое законодательство относительно необходимости приостановления трудовых договоров с мобилизованными работниками. Поэтому, очевидно, что Проект будет дополнен кодами «ПРИОСТАНОВЛЕНИЕ» и «ВОЗОБНОВЛЕНИЕ».
Представлять сведения из подраздела 1.1. надо будет по правилам, действующим сейчас в отношении формы СЗВ-ТД: при приеме/увольнении, заключении/расторжении договора ГПХ – не позднее следующего рабочего дня; при переводе, переходе на электронную трудовую книжку и пр. – не позднее 25-го числа следующего месяца.
– подраздел 1.2. «Сведения о страховом стаже»
Данный подраздел заменит форму СЗВ-СТАЖ. Состав информации во многом схож с действующей формой, но имеются нюансы. Например, вводится графа «Занятость» в разделе «Условия досрочного назначения страховой пенсии», а также информация о результатах СОУТ. Сдавать подраздел надо не позднее 25 января следующего года.
– подраздел 1.3 – актуален только для работников государственных и муниципальных учреждений.
– подраздел 2 – заполняется в случае, если работники имеют право на досрочную пенсию. Сдавать подраздел надо не позднее 25 января следующего года.
– подраздел 3 – «Сведения о застрахованных лицах, за которых перечислены дополнительные страховые взносы на накопительную пенсию и уплачены взноси работодателя». Повторяет сведения, которые сейчас отражаются в ДСВ-3.
Сдавать подраздел надо ежеквартально, не позднее 25-го числа месяца, следующего за отчетным кварталом.
Раздел 2 формы ЕФС-1 в принципе повторяет действующую сейчас форму 4-ФСС. Сдавать раздел надо ежеквартально, не позднее 25 числа месяца, следующего за отчетным кварталом.
Отчётность в ПФР, ФСС и другие госорганы удобно подготовить, отредактировать и отправить через сервис электронной отчётности компании Такском «Онлайн-Спринтер».
Преимущества «Онлайн-Спринтера»
1. Веб-решение
Минимальные требования к рабочему месту – мощный компьютер необязателен.
2. Всегда актуальные версии форм отчётности
Вовремя обновляются вслед за изменениями законодательства.
3. Сверка с бюджетом и с контрагентами
Сверяйтесь с ФНС и ПФР – бесплатно во всех тарифах, причём с ФНС – в автоматическом режиме. Сверяйте книги покупок и продаж – бесплатно во всех тарифах.
4. Удобная работа с несколькими компаниями
Сдавайте отчётность за несколько организаций в одном интерфейсе.
5. Поддержка клиентов 24/7
Телефон и e-mail – круглосуточно.
Чат – на сайте, в интерфейсе программы, в личном кабинете – с 9:30 до 18:00 (мск), по будням.
Интересует электронная отчетность?
Имя
Просьба заполнить имя, чтобы консультант знал как к вам обращаться
Номер телефона
Заполните поле телефон, чтобы консультант вам перезвонил
Я согласен на обработку персональных данных
Нажимая на кнопку, я выражаю свое согласие с обработкой персональных данных ООО «Такском»
отчетность ФСС ПФР онлайн-отчетность ФПСС СФР
Отправить
Запинить
Твитнуть
Поделиться
Эта статья была опубликована в рамках блога о науке о данных
Введение в метод опорных векторов (SVM)
SVM — это мощный контролируемый алгоритм, который лучше всего работает с небольшими наборами данных, но со сложными.
Машина опорных векторов, сокращенно SVM, может использоваться как для задач регрессии, так и для задач классификации, но, как правило, они лучше всего работают в задачах классификации. Они были очень известны в то время, когда они были созданы, в 19 веке.90-х годов, и продолжает оставаться популярным методом высокопроизводительного алгоритма с небольшой настройкой.Надеюсь, вы уже освоили деревья решений, случайный лес, наивный байесовский метод, метод K-ближайшего соседа и ансамблевое моделирование. Если нет, я бы посоветовал вам уделить несколько минут и прочитать о них.
В этой статье я объясню вам, что такое SVM, как работает SVM, а также математическую интуицию, лежащую в основе этого важного алгоритма машинного обучения.
СодержаниеЭто задача машинного обучения с учителем, в которой мы пытаемся найти гиперплоскость, которая лучше всего разделяет два класса. Примечание: Не путайте SVM и логистическую регрессию. Оба алгоритма пытаются найти лучшую гиперплоскость, но главное отличие состоит в том, что логистическая регрессия является вероятностным подходом, тогда как метод опорных векторов основан на статистических подходах.
Теперь вопрос, какую гиперплоскость он выбирает? Может быть бесконечное количество гиперплоскостей, проходящих через точку и идеально классифицирующих два класса. Итак, какой из них лучший?
Итак, SVM делает это, находя максимальное расстояние между гиперплоскостями, что означает максимальное расстояние между двумя классами.
В зависимости от количества имеющихся у вас функций вы можете выбрать логистическую регрессию или SVM.
SVM лучше всего работает, когда набор данных небольшой и сложный. Обычно рекомендуется сначала использовать логистическую регрессию и посмотреть, как она работает, если она не дает хорошей точности, вы можете использовать SVM без какого-либо ядра (подробнее о ядрах мы поговорим в следующем разделе). Логистическая регрессия и SVM без ядра имеют одинаковую производительность, но в зависимости от ваших функций один может быть более эффективным, чем другой.
Типы метода опорных векторов Линейный SVMТолько когда данные идеально линейно разделимы, мы можем использовать Linear SVM. Идеальная линейная разделимость означает, что точки данных можно разделить на 2 класса, используя одну прямую линию (если она двумерная).
Нелинейный SVMКогда данные не являются линейно разделимыми, мы можем использовать нелинейный SVM, что означает, что когда точки данных не могут быть разделены на 2 класса с помощью прямой линии (если они 2D), тогда мы используем некоторые передовые методы, такие как приемы ядра, для их классификации. . В большинстве реальных приложений мы не находим линейно разделяемых точек данных, поэтому для их решения мы используем трюк ядра.
Теперь давайте определим два основных термина, которые будут неоднократно повторяться в этой статье:
Опорные векторы: Это точки, которые находятся ближе всего к гиперплоскости. Разделительная линия будет определена с помощью этих точек данных.
Поле: это расстояние между гиперплоскостью и ближайшими к гиперплоскости наблюдениями (опорными векторами). В SVM большая маржа считается хорошей маржой. Существует два типа полей жесткая маржа и мягкая маржа. Подробнее об этих двух я расскажу в следующем разделе.
Изображение 1
Как работает машина опорных векторов? SVM определяется таким образом, что он определяется только в терминах опорных векторов, нам не нужно беспокоиться о других наблюдениях, поскольку запас делается с использованием точек, которые находятся ближе всего к гиперплоскости (опорные векторы), тогда как в логистической регрессии классификатор определен по всем точкам. Следовательно, SVM обладает некоторыми естественными ускорениями.
Давайте разберемся с работой SVM на примере. Предположим, у нас есть набор данных с двумя классами (зеленый и синий). Мы хотим классифицировать эту новую точку данных как синюю или зеленую.
Источник изображения: Автор
Чтобы классифицировать эти точки, у нас может быть много границ решений, но вопрос в том, какая из них наилучшая и как ее найти? ПРИМЕЧАНИЕ: Поскольку мы наносим точки данных на двумерный график, мы называем эту границу решения прямой линией , но если у нас есть больше измерений, мы называем эту границу решения «гиперплоскостью»
Источник изображения: АвторЛучшей гиперплоскостью является та плоскость, которая максимально удалена от обоих классов, и это основная цель SVM. Это делается путем поиска различных гиперплоскостей, которые наилучшим образом классифицируют метки, после чего выбирается та, которая находится дальше всего от точек данных, или та, которая имеет максимальный запас.
Источник изображения: Автор Математическая интуиция за машиной опорных векторовМногие люди игнорируют математическую интуицию, стоящую за этим алгоритмом, потому что его довольно сложно переварить. Здесь, в этом разделе, мы постараемся понять каждый шаг работы под капотом. SVM — это широкая тема, и люди все еще проводят исследования этого алгоритма. Если вы планируете проводить исследования, то это может быть неподходящим местом для вас.
Здесь мы поймем только ту часть, которая требуется при реализации этого алгоритма. Вы, должно быть, слышали о первичной формуле , двойной формулировке, множителе Лагранжа 9.0012 и т. д. Я не говорю, что эти темы не важны, но они более важны, если вы планируете проводить исследования в этой области. Давайте двигаться вперед и увидеть магию этого алгоритма.
Прежде чем углубляться в мельчайшие подробности этой темы, давайте сначала разберемся, что такое точечный продукт.
Все мы знаем, что вектор — это величина, которая имеет не только направление, но и величину, и точно так же, как числа, мы можем использовать математические операции, такие как сложение, умножение. В этом разделе мы попытаемся узнать об умножении векторов, которое можно выполнить двумя способами: скалярным произведением и перекрестным произведением. Разница только в том, что скалярное произведение используется для получения в результате скалярного значения, тогда как перекрестное произведение используется для повторного получения вектора.
Скалярное произведение может быть определено как проекция одного вектора на другой, умноженная на произведение другого вектора.
Изображение 2
Здесь a и b — два вектора, чтобы найти скалярное произведение между этими двумя векторами, мы сначала находим величину обоих векторов, а чтобы найти величину, мы используем теорему Пифагора или формулу расстояния.
После нахождения величины мы просто умножаем ее на угол косинуса между обоими векторами. Математически это можно записать как:
А . В = |А| cosθ * |B|
Где |А| cosθ — проекция A на B
И |Б| величина вектора B
Теперь в SVM нам нужна только проекция A, а не величина B, позже я объясню почему. Чтобы просто получить проекцию, мы можем просто взять единичный вектор B, потому что он будет в направлении B, но его величина будет равна 1. Следовательно, теперь уравнение принимает вид:
А.В = |А| cosθ * единичный вектор B
Теперь давайте перейдем к следующей части и посмотрим, как мы будем использовать это в SVM.
Использование скалярного произведения в SVM:
Рассмотрим случайную точку X, и мы хотим знать, лежит ли она на правой стороне плоскости или на левой стороне плоскости (положительной или отрицательной).
Чтобы найти это, сначала предположим, что эта точка является вектором (X), а затем мы создадим вектор (w), перпендикулярный гиперплоскости. Предположим, что расстояние вектора w от начала координат до границы решения равно «c». Теперь возьмем проекцию вектора X на w.
Мы уже знаем, что проекция любого вектора или другого вектора называется скалярным произведением. Следовательно, мы берем скалярное произведение векторов x и w. Если скалярное произведение больше, чем «с», мы можем сказать, что точка лежит на правой стороне. Если скалярное произведение меньше «с», то точка находится слева, а если скалярное произведение равно «с», то точка лежит на границе решения.
Вы, должно быть, сомневаетесь, почему мы взяли этот перпендикулярный вектор w к гиперплоскости? Итак, нам нужно расстояние вектора X от границы решения, и на границе может быть бесконечное количество точек, от которых можно измерить расстояние. Вот почему мы приходим к стандарту, мы просто берем перпендикуляр и используем его в качестве эталона, а затем берем проекции всех других точек данных на этот перпендикулярный вектор, а затем сравниваем расстояние.
В SVM также есть понятие маржи. В следующем разделе мы увидим, как мы находим уравнение гиперплоскости и что именно нам нужно оптимизировать в SVM.
Запас в методе опорных векторов
Все мы знаем, что уравнение гиперплоскости имеет вид w. x+b=0, где w — вектор, нормальный к гиперплоскости, а b — смещение.
Чтобы классифицировать точку как отрицательную или положительную, нам нужно определить решающее правило. Мы можем определить правило принятия решения как:
Если значение w.x+b>0, то мы можем сказать, что это положительная точка, в противном случае это отрицательная точка. Теперь нам нужны (w,b) такие, чтобы поле имело максимальное расстояние. Допустим, это расстояние равно «d».
Для расчета d нам нужно уравнение L1 и L2. Для этого примем несколько предположений, что уравнение L1 равно w.x+b=1 , а уравнение L2 равно w.x+b=-1 . Теперь вопрос приходит
1. Почему величина равная, почему не взяли 1 и -2?
2. Почему мы взяли только 1 и -1, а не любое другое значение, например 24 и -100?
3. Почему мы взяли эту линию?
Попробуем ответить на эти вопросы:
1. Мы хотим, чтобы наша плоскость находилась на одинаковом расстоянии от обоих классов, что означает, что L должна проходить через центр L1 и L2, поэтому мы берем величину равной.
2. Допустим, уравнение нашей гиперплоскости 2x+y=2, мы видим, что даже если мы умножим все уравнение на какое-то другое число, линия не изменится (попробуйте построить на графике). Следовательно, для математического удобства мы принимаем его равным 1,9.0006
3. Теперь главный вопрос, а почему именно эту строку надо считать? Чтобы ответить на этот вопрос, я попытаюсь воспользоваться помощью графиков.
Предположим, что уравнение нашей гиперплоскости 2x+y=2:
Давайте создадим запас для этой гиперплоскости,
Если умножить эти уравнения на 10, мы увидим, что параллельная линия (красная и зеленая) приближается к нашей гиперплоскости. Для большей наглядности посмотрите на этот график (https://www.desmos.com/calculator/dvjo3vacyp)
Мы также наблюдаем, что если мы разделим это уравнение на 10, то эти параллельные линии станут больше. Посмотрите на этот график (https://www.desmos.com/calculator/15dbwehq9).грамм).
Этим я хотел показать вам, что параллельные прямые зависят от (w,b) нашей гиперплоскости, если мы умножим уравнение гиперплоскости с коэффициентом больше 1, то параллельные прямые сожмутся, а если мы умножим с коэффициентом меньше чем 1, они расширяются.
Теперь мы можем сказать, что эти линии будут двигаться, когда мы изменяем (w,b), и вот как это оптимизируется. Но что такое функция оптимизации? Давайте посчитаем.
Мы знаем, что цель SVM состоит в том, чтобы максимизировать этот запас, который означает расстояние (d). Но ограничений на это расстояние (d) немного. Давайте посмотрим, что это за ограничения.
Функция оптимизации и ее ограничения
Чтобы получить нашу функцию оптимизации, нужно учесть несколько ограничений. Это ограничение заключается в том, что «Мы рассчитаем расстояние (d) таким образом, чтобы ни одна положительная или отрицательная точка не пересекала предельную линию». Запишем эти ограничения математически:
Вместо того, чтобы выдвигать вперед 2 ограничения, мы попробуем упростить эти два ограничения до 1. Мы предполагаем, что отрицательные классы имеют y=-1 и положительные классы имеют y=1 .
Можно сказать, что для правильной классификации каждой точки всегда должно выполняться это условие:
Предположим, что зеленая точка правильно классифицирована, что означает, что она будет соответствовать w. x+b>=1, , если мы умножим это на y=1 , мы получим то же самое уравнение, упомянутое выше. Точно так же, если мы сделаем это с красной точкой с y=-1 , мы снова получим это уравнение . Следовательно, мы можем сказать, что нам нужно максимизировать (d) так, чтобы это ограничение выполнялось.
Возьмем 2 опорных вектора, 1 из отрицательного класса и 2 и из положительного класса. Расстояние между этими двумя векторами x1 и x2 будет равно (x2-x1) вектору . Что нам нужно, так это кратчайшее расстояние между этими двумя точками, которое можно найти с помощью трюка, который мы использовали в скалярном произведении. Мы берем вектор «w», перпендикулярный гиперплоскости, а затем находим проекцию вектора (x2-x1) на «w». Примечание: этот перпендикулярный вектор должен быть единичным вектором, тогда только это будет работать. Почему это должен быть единичный вектор? Это было объяснено в разделе точечного произведения. Чтобы сделать этот «w» единичным вектором, мы разделим его на норму «w».
Мы уже знаем, как найти проекцию вектора на другой вектор. Мы делаем это скалярным произведением обоих векторов. Итак, давайте посмотрим, как
Так как x2 и x1 являются опорными векторами и лежат на гиперплоскости, то они будут следовать y i * (2.x+b)=1 поэтому мы можем записать это как:
Подставляя уравнения (2) и (3) в уравнение (1) получаем:
Отсюда уравнение, которое мы должны максимизировать:
Теперь мы нашли нашу функцию оптимизации, но здесь есть загвоздка в том, что мы не находим этот тип идеально линейно разделимых данных в отрасли, почти ни в одном случае мы не получаем этот тип данных и, следовательно, мы не можем использовать это условие мы доказали здесь. Тип задачи, которую мы только что изучили, называется Hard Margin SVM теперь мы будем изучать мягкую маржу, которая похожа на эту, но есть еще несколько интересных приемов, которые мы используем в Soft Margin SVM.
Мягкая маржа SVM
В реальных приложениях мы не находим ни одного набора данных, который был бы линейно разделим, мы найдем либо почти линейно разделимый набор данных, либо нелинейно разделимый набор данных. В этом сценарии мы не можем использовать трюк, который мы доказали выше, потому что он говорит, что он будет работать только тогда, когда набор данных полностью линейно разделим.
Чтобы решить эту проблему, мы модифицируем это уравнение таким образом, чтобы оно допускало мало ошибочных классификаций, что означает, что оно допускало неправильную классификацию нескольких точек.
Мы знаем, что max[f(x)] также можно записать как min[1/f(x)] , общепринятой практикой является минимизация функции стоимости для задач оптимизации; следовательно, мы можем инвертировать функцию.
Чтобы составить уравнение с мягкой границей, мы добавляем к этому уравнению еще 2 члена, которые равны дзета 9.0012 и умножить на гиперпараметр c
Для всех правильно классифицированных точек наша дзета будет равна 0, а для всех неправильно классифицированных точек дзета — это просто расстояние этой конкретной точки от ее правильной гиперплоскости, что означает, что если мы видим неправильно классифицированные зеленые точки, значение zeta будет расстоянием этих точек от гиперплоскости L1 и для неправильно классифицированной красной точки zeta будет расстоянием этой точки от гиперплоскости L2.
Итак, теперь мы можем сказать, что это Ошибка SVM = Ошибка маржи + Ошибка классификации. Чем выше маржа, тем меньше возможная маржинальная ошибка, и наоборот.
Допустим, вы берете высокое значение «c» = 1000, это будет означать, что вы не хотите сосредотачиваться на маржинальной ошибке и просто хотите получить модель, которая не неправильно классифицирует ни одну точку данных.
Посмотрите на рисунок ниже.
Если кто-то спросит вас, какая модель лучше, та, где маржа максимальна и есть 2 неправильно классифицированные точки, или та, где маржа очень меньше, и все точки классифицированы правильно?
Ну, на этот вопрос нет правильного ответа, но мы можем использовать SVM Error = Margin Error + Classification Error, чтобы оправдать это. Если вы не хотите, чтобы в модели была какая-либо неправильная классификация, вы можете выбрать рисунок 2 . Это означает, что мы увеличим «c», чтобы уменьшить ошибку классификации, но если вы хотите, чтобы ваша маржа была максимальной, значение «c» должно быть минимальным. Вот почему «c» — это гиперпараметр, и мы находим оптимальное значение «c», используя GridsearchCV и перекрестную проверку.
Давайте двигаться дальше и теперь узнаем об очень хорошем трюке под названием «Трюк с ядром» .
Ядра в машине опорных векторов
Самая интересная особенность SVM заключается в том, что он может работать даже с нелинейным набором данных, и для этого мы используем «Kernel Trick», который упрощает классификацию точек. Предположим, у нас есть такой набор данных:
.Источник изображения: Автор
Здесь мы видим, что не можем провести ни одной линии или, скажем, гиперплоскости, которая могла бы правильно классифицировать точки. Итак, что мы делаем, так это пытаемся преобразовать это пространство более низкой размерности в пространство более высокой размерности, используя некоторые квадратичные функции, которые позволят нам найти границу решения, которая четко разделяет точки данных. Эти функции, которые помогают нам в этом, называются ядрами, и то, какое ядро использовать, определяется исключительно настройкой гиперпараметров.
Изображение 3
Ниже приведены некоторые функции ядра, которые вы можете использовать в SVM:
1. Полиномиальное ядро Ниже приведена формула ядра полинома:
Здесь d — степень многочлена, которую нам нужно указать вручную.
Предположим, у нас есть две функции X1 и X2 и выходная переменная Y, поэтому, используя полиномиальное ядро, мы можем записать ее как:
Итак, нам нужно найти X 1 2 , X 2 2 и X1.X2, и теперь мы видим, что 2 измерения были преобразованы в 5 измерений.
Изображение 4 2. Сигмовидное ядро Мы можем использовать его как прокси для нейронных сетей. Уравнение:
Он просто берет ваши входные данные, сопоставляя их со значениями 0 и 1, чтобы их можно было разделить простой прямой линией.
Источник изображения: https://dataaspirant.com/svm-kernels/#t-1608054630725
3. Ядро RBF
На самом деле он создает нелинейные комбинации наших функций, чтобы поднять ваши выборки в многомерное пространство признаков, где мы можем использовать линейную границу решения для разделения ваших классов. Это наиболее часто используемое ядро в классификациях SVM, следующее формула объясняет это математически:
где,
1. «σ» — это дисперсия и наш гиперпараметр
2. || Х₁ – Х₂ || — Евклидово расстояние между двумя точками X₁ и X₂
Изображение 5
4. Ядро функции БесселяВ основном используется для устранения перекрестного члена в математических функциях. Ниже приведена формула ядра функции Бесселя:
5. Ядро AnovaОн хорошо работает с задачами многомерной регрессии. Формула для этой функции ядра:
Как правильно выбрать ядро?
Мне хорошо известно, что у вас должны быть сомнения относительно того, как решить, какая функция ядра будет эффективно работать с вашим набором данных. Необходимо выбрать хорошую функцию ядра, поскольку от этого зависит производительность модели.
Выбор ядра полностью зависит от того, с каким набором данных вы работаете. Если это линейно разделимо, вы должны выбрать. для линейной функции ядра, так как она очень проста в использовании, а сложность намного ниже по сравнению с другими функциями ядра. Я бы рекомендовал вам начать с гипотезы о том, что ваши данные линейно разделимы, и выбрать линейную функцию ядра.
Затем вы можете перейти к более сложным функциям ядра. Обычно мы используем SVM с RBF и линейной функцией ядра, потому что другие ядра, такие как полиномиальное ядро, используются редко из-за низкой эффективности. Но что, если и линейный, и RBF дают примерно одинаковые результаты? Какое ядро теперь выбираем? Давайте разберемся с этим на примере, для простоты я возьму только 2 функции, которые означают только 2 измерения. На рисунке ниже я нанес границу решения линейного SVM для 2 функций набора данных радужной оболочки:
Изображение 6
Здесь мы видим, что линейное ядро отлично работает на этом наборе данных, а теперь посмотрим, как будет работать ядро RBF.
Изображение 7Мы видим, что оба ядра дают одинаковые результаты, оба хорошо работают с нашим набором данных, но какое из них выбрать? Линейный SVM — это параметрическая модель. Параметрическая модель — это концепция, используемая для описания модели, в которой все ее данные представлены в ее параметрах. Короче говоря, единственная информация, необходимая для прогнозирования будущего на основе текущего значения, — это параметры.
Сложность ядра RBF возрастает по мере увеличения размера обучающих данных. В дополнение к тому, что подготовка ядра RBF обходится дороже, мы также должны поддерживать матрицу ядра, а проекция в это «бесконечное» многомерное пространство, где данные становятся линейно разделимыми, также обходится дороже во время прогнозирования. Если набор данных нелинейный, то использование линейного ядра не имеет смысла, мы получим очень низкую точность, если сделаем это.
Изображение 8Таким образом, для такого набора данных мы можем использовать RBF даже не задумываясь, потому что он определяет границы решения следующим образом:
Изображение 9 Внедрение и настройка гиперпараметров машины опорных векторов в PythonДля реализации набора данных мы будем использовать набор данных Income Evaluation, который содержит информацию о личной жизни человека и результат 50 000 или <= 50. Набор данных можно найти здесь (https://www.kaggle.com/lodetomasi1995/income-classification)
.Задача здесь состоит в том, чтобы классифицировать доход человека при наличии необходимых исходных данных о его личной жизни.
Сначала импортируем все необходимые библиотеки.
# Импорт всех соответствующих библиотек из sklearn.svm импортировать SVC импортировать numpy как np импортировать панд как pd из sklearn.preprocessing импортировать StandardScaler из sklearn.model_selection импорта train_test_split импорт из sklearn.metrics: точность_оценки, путаница_матрица предварительная обработка импорта из sklearn предупреждения об импорте предупреждения.filterwarnings("игнорировать") Теперь давайте прочитаем набор данных и посмотрим на столбцы, чтобы лучше понять информацию. df = pd.read_csv('income_evaluation.csv')
df.head()
Я уже сделал часть предварительной обработки данных, и вы можете посмотреть весь код здесь. Здесь моя основная цель — рассказать вам, как реализовать SVM на python.
Теперь для обучения и тестирования нашей модели данные должны быть разделены на обучающие и тестовые данные.
Мы также будем масштабировать данные, чтобы они находились в диапазоне от 0 до 1.
# Разделить набор данных на тестовые и обучающие данные
X_train, X_test, y_train, y_test = train_test_split(df.drop('доход', ось=1),df['доход'], test_size=0,2)
Теперь давайте продолжим определение классификатора опорных векторов вместе с его гиперпараметрами. Далее мы подгоним эту модель к обучающим данным.
# Определить классификатор опорных векторов с гиперпараметрами
svc = SVC (случайное_состояние = 101)
точности = cross_val_score(svc,X_train,y_train,cv=5)
svc.fit(X_train,y_train)
print("Оценка поезда:"np.mean(точность))
printf("Оценка теста:" svc.score(X_test,y_test))
Модель обучена, и теперь мы также можем наблюдать за выходными данными.
Ниже вы можете увидеть точность набора данных теста и обучения
Вы даже можете гипертюнинговать свою модель по следующему коду:
сетка = {
'С':[0.01,0.1,1,10],
'ядро' : ["линейный","поли","rbf","сигмоид"],
'степень' : [1,3,5,7],
'гамма': [0.01,1]
}
свм = СВК ()
svm_cv = GridSearchCV (svm, сетка, cv = 5)
svm_cv.fit(X_train,y_train)
печать ("Лучшие параметры:", svm_cv.best_params_)
print("Оценка поезда:", svm_cv.best_score_)
print("Оценка теста:", svm_cv.score(X_test,y_test))
Набор данных довольно большой, и, следовательно, потребуется время для обучения, по этой причине я не могу вставить результат приведенного выше кода здесь, потому что SVM плохо работает с большими наборами данных, требуется много времени, чтобы получить обученный.
Преимущества SVM1. SVM работает лучше, когда данные являются линейными
2. Более эффективен в больших размерах
3. С помощью трюка с ядром мы можем решить любую сложную проблему
4. SVM не чувствителен к выбросам
5. Может помочь нам с классификацией изображений
Недостатки SVM1. Выбрать хорошее ядро непросто
2. Не показывает хороших результатов на большом наборе данных
3. Гиперпараметрами SVM являются Cost-C и gamma. Не так-то просто точно настроить эти гиперпараметры. Трудно представить себе их влияние
Конец ПримечанияВ этой статье мы подробно рассмотрели очень мощный алгоритм машинного обучения, метод опорных векторов. Я обсудил его концепцию работы, математическую интуицию за SVM, реализацию на питоне, приемы классификации нелинейных наборов данных, плюсы и минусы, и, наконец, мы решили проблему с помощью SVM.
Об автореВ настоящее время я учусь на последнем курсе по статистике (бакалавр статистики) и очень интересуюсь наукой о данных, машинным обучением и искусственным интеллектом. Мне нравится погружаться в данные, чтобы обнаруживать тенденции и другие ценные сведения о данных. Я постоянно учусь и мотивирован пробовать что-то новое.
Открыт к сотрудничеству и работе.
При возникновении любых сомнений и вопросов, не стесняйтесь обращаться ко мне по электронной почте
Свяжитесь со мной в LinkedIn и Twitter
Медиафайлы, показанные в этой статье, не принадлежат Analytics Vidhya и используются по усмотрению Автора.
Понять его внутреннюю работу и внедрить SVM в четырех различных сценариях
Что бы мы делали без sklearn?Мы увидели, как подойти к проблеме классификации с помощью логистической регрессии, LDA и деревьев решений. Теперь для классификации вводится еще один инструмент: машина опорных векторов .
Машина опорных векторов является обобщением классификатора, называемого классификатор максимальной маржи . Классификатор максимальной маржи прост, но его нельзя применить к большинству наборов данных, поскольку классы должны быть разделены линейной границей.
Вот почему классификатор опорных векторов был введен как расширение классификатора максимальной маржи, которое можно применять в более широком диапазоне случаев.
Наконец, машина опорных векторов является просто дальнейшим расширением классификатора опорных векторов для учета нелинейных границ классов.
Может использоваться как для бинарной, так и для мультиклассовой классификации.
Объяснение теории SVM может быть очень техническим. Надеюсь, эта статья поможет вам понять, как работают SVM.
После изучения теории вы сможете реализовать алгоритм в четырех различных сценариях!
Без лишних слов, давайте приступим к делу.
GIF-файлов SVM нет.. поэтому мне пришлось довольствоваться «машинным» gif-омЧтобы посмотреть практические видеоуроки по машинному обучению, глубокому обучению и искусственному интеллекту, посетите мой канал YouTube.
Этот метод основан на разделении классов с помощью гиперплоскости.
Что такое гиперплоскость?
В p -мерном пространстве гиперплоскость представляет собой плоское аффинное подпространство размерности p-1 . Визуально в 2D-пространстве гиперплоскость будет линией, а в 3D-пространстве — плоской плоскостью.
Математически гиперплоскость выглядит просто:
Общее уравнение гиперплоскостиЕсли X удовлетворяет приведенному выше уравнению, то точка лежит на плоскости. В противном случае он должен быть на одной стороне плоскости, как показано ниже.
Линия представляет собой гиперплоскость в двумерном пространстве. Точки, удовлетворяющие приведенному выше уравнению, будут лежать на прямой, а другие — по одну сторону от плоскости.В общем случае, если данные можно идеально разделить с помощью гиперплоскости, то существует бесконечное количество гиперплоскостей, поскольку их можно сдвигать вверх или вниз или слегка поворачивать, не соприкасаясь с наблюдением.
Вот почему мы используем гиперплоскость максимального поля или оптимальную разделяющую гиперплоскость , которая является разделяющей гиперплоскостью, наиболее удаленной от наблюдений. Мы рассчитываем перпендикулярное расстояние от каждого тренировочного наблюдения с учетом гиперплоскости. Это известно как поле . Следовательно, оптимальной разделяющей гиперплоскостью является та, которая имеет наибольший запас.
Пример гиперплоскости с максимальным запасомКак видно выше, есть три точки, равноудаленные от гиперплоскости. Эти наблюдения известны как поддерживают векторы , потому что, если их положение смещается, смещается и гиперплоскость. Интересно, что это означает, что гиперплоскость зависит только от опорных векторов, а не от каких-либо других наблюдений.
Что делать, если не существует разделяющей плоскости?
Перекрывающиеся классы, где не существует разделяющей гиперплоскостиВ этом случае классификатор максимального поля отсутствует. Мы используем классификатор опорных векторов, который может почти разделить классы, используя мягкое поле , называемое классификатор опорных векторов. Однако дальнейшее обсуждение этого метода становится слишком техническим, и поскольку это не самый идеальный подход, мы пока пропустим эту тему.
Машина опорных векторов является расширением классификатора опорных векторов, полученным в результате расширения пространства признаков с использованием ядер . Подход ядра — это просто эффективный вычислительный подход для размещения нелинейной границы между классами.
Не вдаваясь в технические подробности, ядро — это функция, которая количественно определяет сходство двух наблюдений. Ядро может быть любой степени. Использование ядра со степенью больше единицы приводит к более гибкой границе решения, как показано ниже.
Пример классификации с SVMЧтобы лучше понять, как выбор ядра может повлиять на алгоритм SVM, давайте реализуем его в четырех разных сценариях.
Этот проект разделен на четыре мини-проекта.
В первой части показано, как выполнять классификацию с помощью линейного ядра и как параметр регуляризации C влияет на результирующую гиперплоскость .
Затем во второй части будет показано, как работать с ядром Гаусса для создания нелинейной гиперплоскости.
Третья часть моделирует перекрывающиеся классы, и мы будем использовать перекрестную проверку , чтобы найти наилучшие параметры для SVM.
Наконец, мы выполняем очень простой классификатор спама с использованием SVM.
Приведенные выше упражнения взяты из курса Эндрю Нг, доступного бесплатно на Coursera. Я просто решаю их с помощью Python, чего инструктор не рекомендует. Тем не менее, я настоятельно рекомендую курс для всех начинающих.
Как всегда, записная книжка и данные доступны здесь.
Прежде чем мы начнем, давайте импортируем несколько полезных библиотек:
Обратите внимание, что здесь мы импортируем loadmat , потому что наши данные представлены в матричной форме.
Затем мы сохраняем пути к нашим наборам данных в разных переменных:
Наконец, мы создадим функцию, которая поможет нам быстро построить каждый набор данных:
Отлично!
Теперь, в этой части, мы реализуем машину опорных векторов, используя линейное ядро, и увидим, как параметр регуляризации может повлиять на гиперплоскость.
Во-первых, давайте загрузим и визуализируем данные:
И вы должны увидеть:
Обратите внимание на наличие выброса слева на графике . Давайте посмотрим, как параметр регуляризации повлияет на гиперплоскость при наличии выброса.
Приведенный выше блок кода просто подбирает SVM к данным, и мы используем прогнозы для построения гиперплоскости. Обратите внимание, что мы используем параметр регуляризации, равный 1. Результат должен быть следующим:
Гиперплоскость с C=1Как видите, гиперплоскость проигнорировала выброс. Следовательно, низкий параметр регуляризации будет равен , лучше обобщить . Ошибка теста обычно выше, чем ошибка перекрестной проверки.
Теперь давайте увеличим параметр регуляризации:
И вы получите:
Гиперплоскость с C=100Теперь выброс находится на правой стороне гиперплоскости, но это также означает, что мы переобучаем. В конечном счете, эта граница не будет работать на ненаблюдаемых данных.
Теперь мы знаем, что для согласования нелинейных границ нам нужно изменить функцию ядра. В этом упражнении мы будем использовать гауссовское ядро .
Во-первых, давайте нанесем на график наши данные:
И вы должны увидеть:
Перед внедрением SVM вы должны знать, что ядро Гаусса выражается как: как быстро метрика подобия стремится к нулю, поскольку они дальше друг от друга.
Поэтому реализуем его следующим кодом:
И у вас должна получиться следующая гиперплоскость:
Нелинейная гиперплоскость с гауссовским ядромУдивительно! Гиперплоскость не является идеальной границей, но она неплохо справляется с классификацией большинства данных. Я предлагаю вам попробовать разные значения сигма , чтобы увидеть, как это влияет на гиперплоскость.
Перекрестная проверка необходима для выбора наилучших параметров настройки для оптимальной производительности нашей модели. Давайте посмотрим, как это можно применить к SVM.
Конечно, давайте посмотрим, как выглядят данные для этого упражнения:
И вы получите:
Обратите внимание, что у нас есть перекрывающиеся классы. Конечно, наша гиперплоскость не будет идеальной, но мы будем использовать перекрестную проверку, чтобы убедиться, что это лучшее, что мы можем получить:
Из приведенной выше ячейки кода вы должны получить, что лучший параметр регуляризации равен 1, а сигма должна быть 0,1. Используя эти значения, мы можем сгенерировать гиперплоскость:
И получить:
Гиперплоскость с C=1 и sigma=0,1Наконец, мы обучаем классификатор спама с помощью SVM.
Об авторе