minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
A máquina de vetores de suporte (SVM) é um algoritmo eficiente de aprendizado supervisionado amplamente utilizado em problemas de classificação e regressão. Ele distingue diferentes categorias de pontos de dados, encontrando um hiperplano ideal no espaço de características. O objetivo é maximizar o intervalo entre dois tipos de pontos de dados, melhorando assim a capacidade de generalização do modelo. Os principais conceitos do SVM incluem hiperplanos, intervalos, vetores de suporte e funções do kernel. A função do kernel permite que o SVM lide com problemas não lineares e encontre hiperplanos linearmente separáveis, mapeando dados para um espaço de dimensão superior. Além disso, técnicas de margem suave e regularização são usadas para lidar com a separabilidade linear não completa dos dados, ao mesmo tempo que controlam a complexidade do modelo e evitam o sobreajuste. A implementação do SVM envolve a seleção de uma função de kernel apropriada, a construção e resolução de um problema de programação quadrática convexa e a avaliação e aplicação do modelo treinado. Suas vantagens são que o modelo é simples, fácil de implementar e tem boa capacidade de generalização, mas possui alta complexidade computacional, é sensível à função do kernel e à seleção de parâmetros e pode encontrar gargalos de desempenho ao processar conjuntos de dados em grande escala.
🏘️🏘️个人主页:Usando montanhas e rios como presente。
🎖️🎖️:Criador Rising Star na área de Python, certificação CSDN Rising Star, parceiro de conteúdo CSDN, blogueiro especialista da comunidade Alibaba Cloud, mentor do programa Rising Star e analista de dados no trabalho.
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
tipo | Coluna |
---|---|
Noções básicas de Python | Introdução aos fundamentos do Python – versão detalhada |
Python avançado | Introdução aos fundamentos do Python – edição de módulo |
Python Avançado | Python网络爬虫从入门到精通🔥🔥🔥 |
Desenvolvimento web fullstack | Introdução ao Django Básico |
Desenvolvimento web fullstack | Introdução aos princípios básicos de HTML e CSS |
Desenvolvimento web fullstack | Introdução ao JavaScript básico |
Análise de dados Python | Python数据分析项目🔥🔥 |
aprendizado de máquina | 机器学习算法🔥🔥 |
IA | IA |
Support Vector Machine (SVM) é um poderoso algoritmo de aprendizado de máquina usado principalmente para resolver problemas de classificação e regressão. Baseia-se no princípio de minimização de risco estrutural na teoria da aprendizagem estatística e distingue diferentes categorias de dados, encontrando um limite de decisão ideal, ou seja, um hiperplano, no espaço de recursos. A escolha deste hiperplano visa maximizar a menor distância dos pontos de dados ao hiperplano, que é chamada de margem. Quanto maior o intervalo, melhor é geralmente a capacidade de generalização do modelo.
O núcleo do SVM é o vetor de suporte, que é um conjunto de pontos de dados críticos para determinar a posição e direção do hiperplano. Eles são os pontos mais próximos do hiperplano. Se os dados não forem linearmente separáveis, o SVM mapeia os dados originais para um espaço de dimensão superior introduzindo uma função de kernel e encontra um hiperplano linearmente separável neste novo espaço. As funções de kernel comumente usadas incluem kernels lineares, kernels polinomiais, kernels de função de base radial (RBF), etc.
Para lidar com ruídos e valores discrepantes nos dados, o SVM introduz o conceito de margem suave, que permite que alguns pontos de dados sejam classificados incorretamente em troca de um melhor desempenho de generalização. Ao mesmo tempo, a complexidade do modelo é controlada através de termos de regularização para evitar overfitting. O processo de treinamento do SVM geralmente envolve a resolução de um problema de programação quadrática convexa para encontrar os parâmetros ideais do hiperplano.
Veja a figura abaixo Em um ambiente bidimensional, os pontos R, S, G e outros pontos próximos à linha preta central podem ser considerados vetores de suporte. Eles podem determinar os parâmetros específicos do classificador, ou seja, o preto. linha.
Vetores de suporte e hiperplanos são conceitos centrais no algoritmo da máquina de vetores de suporte (SVM). Abaixo explicarei esses dois conceitos em detalhes:
Em matemática, um hiperplano é um subespaço linear que possui uma dimensão inferior ao espaço em que reside. Por exemplo, no espaço bidimensional, um hiperplano é uma linha reta no espaço tridimensional, é um plano no espaço de dimensão superior, ainda é um limite linear, mas pode ser difícil de entender intuitivamente;
No SVM, o hiperplano é usado para classificar os dados em diferentes categorias. Para um espaço bidimensional, você pode imaginar um hiperplano como uma linha reta que divide o espaço em duas partes, cada parte contendo uma categoria de pontos de dados. Para espaços de dimensões superiores, um hiperplano é um limite linear de dimensão superior que também separa pontos de dados.
Vetores de suporte são os pontos de dados localizados mais próximos do hiperplano. Eles são os principais pontos de dados usados pelo SVM durante o treinamento para determinar a localização do hiperplano. Se você remover qualquer um desses pontos, a posição e a orientação do hiperplano serão alteradas.
Os vetores de suporte são importantes porque definem os limites (ou seja, intervalos) entre os pontos de dados. O objetivo do SVM é encontrar um hiperplano que maximize a distância (intervalo) entre os vetores de suporte mais próximos (ou seja, os pontos de dados mais próximos do hiperplano) e o hiperplano. O tamanho deste intervalo é um importante indicador da capacidade de generalização do modelo.
Em aplicações reais, os dados podem não ser linearmente separáveis. Neste momento, o SVM pode usar técnicas de kernel para lidar com problemas não lineares. A função kernel pode mapear os dados originais para um espaço de dimensão superior e encontrar um hiperplano linearmente separável no novo espaço. As funções de kernel comumente usadas incluem kernels lineares, kernels polinomiais, kernels de função de base radial (RBF), etc.
Ao lidar com dados reais, pode não ser possível encontrar um hiperplano perfeito que separe completamente todos os pontos de dados. Neste momento, o SVM introduziu o conceito de margem suave, permitindo que alguns pontos de dados fossem classificados incorretamente em troca de melhores capacidades de generalização. Ao mesmo tempo, a complexidade do modelo é controlada através do termo de regularização (geralmente a norma do vetor normal) para evitar overfitting.
A fórmula da distância ponto-hiperplano é usada para calcular a distância mais curta de um ponto a um determinado hiperplano. O hiperplano pode ser expresso pela seguinte equação no espaço n-dimensional:
em:
w é um vetor normal n-dimensional, perpendicular ao hiperplano.
x é um ponto n-dimensional localizado no espaço.
b é o termo de polarização do hiperplano.
A distância vertical d do ponto x a este hiperplano pode ser calculada pela seguinte fórmula:
这个公式的几何意义是:从点 𝑥 向超平面作垂线,垂足到点 𝑥的距离就是𝑑这个距离也代表了点 𝑥到超平面的“间隔”。在支持向量机中,间隔的大小是非常重要的,因为它与模型的泛化能力有关。SVM的目标是找到这样一个超平面,使得间隔最大化,即所有数据点到这个超平面的距离之和最大。
Modelo de otimização em caso linearmente separável
Quando os dados são linearmente separáveis, ou seja, existe um hiperplano que pode separar perfeitamente diferentes categorias de pontos de dados, o objetivo do SVM é encontrar um hiperplano tal que os dois pontos de dados mais próximos (isto é, vetores de suporte) estejam no hiperplano. Maximize a distância. Essa distância é chamada de margem.
O hiperplano pode ser expresso como:
Problema de otimização de margem máxima
A função objetivo do SVM é maximizar o intervalo, que pode ser expresso como:
Apresentando multiplicadores de Lagrange
problema duplo
Nas máquinas de vetores de suporte (SVM), variáveis de folga (Slack Variables) são um mecanismo introduzido para lidar com situações separáveis não lineares em conjuntos de dados. Em uma situação ideal, se os dados forem linearmente separáveis, o SVM poderá encontrar um hiperplano que separe completamente diferentes classes de pontos de dados enquanto maximiza a margem. No entanto, no mundo real, muitos conjuntos de dados não são completamente separáveis linearmente, o que requer o uso de variáveis de folga para permitir que alguns pontos de dados sejam classificados incorretamente, melhorando assim a capacidade de generalização do modelo.
这里的 𝐶是一个正的调节参数,用于控制模型对误分类的惩罚程度。𝐶的值越大,模型对误分类的惩罚越重,越倾向于找到没有误分类的解;𝐶的值越小,模型对误分类的容忍度越高,越容易找到间隔更大的解,即使这意味着更多的误分类。
Mesmo no caso de separabilidade não linear, usando o truque do kernel para mapear os dados em um espaço de alta dimensão, combinado com variáveis de folga, o SVM ainda pode encontrar o hiperplano com a margem máxima.
A função Kernel é uma ferramenta importante na máquina de vetores de suporte (SVM), que permite ao SVM lidar efetivamente com problemas não lineares em espaços de alta dimensão. A ideia básica da função kernel é mapear os dados originais de um espaço de baixa dimensão para um espaço de alta dimensão por meio do mapeamento e encontrar a separabilidade linear dos dados neste espaço de alta dimensão.