Машинное обучение с SVM

В настоящее время я учусь в Udacity, и многое уже уходит в упадок, я познакомился с некоторыми ключевыми вещами, которые нужно понять в отношении машинного обучения. Если задуматься, как разделить линейно неразделимые данные с помощью SVM? Этот вопрос был у меня в голове, когда я проходил урок по Support Vector Machine. Но по ходу дела стало легче, все «глубокие вещи» прояснились, и это внезапно стало призрачным. Итак, я решил написать что-нибудь об этом.

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

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

Вы также можете выбрать, какое ядро ​​вы хотите использовать, в зависимости от уникального шаблона вашего набора данных и уровня точности, которого вы хотите достичь при прогнозировании с помощью вашей модели. Некоторые из ядер, представленных в SVM: поли, сигмовидная, линейная и так далее. В дополнение к выбранному ядру важно настроить некоторые другие параметры, такие как гамма, C. Если вы используете «линейный», вам не нужна гамма, но это важно, например, при использовании ядра, такого как RBF.

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

Используйте наиболее подходящее ядро ​​в своем наборе данных, и вы увидите, как оно может изменить результат вашей модели, поскольку он станет более надежным. Но также важно знать, что Support Vector Machine не работает с большим шумом. Надеюсь, я немного рассказал о SVM. Спасибо за прочтение.