what is support vector machine machine learning
Este tutorial explica a máquina de vetores de suporte em ML e conceitos associados, como hiperplano, vetores de suporte e aplicativos de SVM:
No Tutorial anterior , aprendemos sobre algoritmos genéticos e seu papel no aprendizado de máquina.
Estudamos alguns algoritmos supervisionados e não supervisionados em aprendizado de máquina em nossos tutoriais anteriores. A retropropagação é um algoritmo de aprendizado supervisionado, enquanto Kohenen é um algoritmo de aprendizado não supervisionado.
Neste tutorial de máquinas de vetores de suporte, aprenderemos sobre máquinas de vetores de suporte. Os SVMs são algoritmos matemáticos de aprendizado de máquina supervisionados robustos amplamente usados na classificação do conjunto de dados de treinamento.
=> Leia a série completa de treinamento em aprendizado de máquina
O que você aprenderá:
- O que é uma máquina de vetores de suporte (SVM)
- O que é um hiperplano
- O que são algoritmos de classificação e regressão
- O que são vetores de suporte
- Como funciona uma máquina de vetores de suporte
- Como otimizar a posição do hiperplano
- Aplicações de SVM
- Conclusão
- Leitura recomendada
O que é uma máquina de vetores de suporte (SVM)
O algoritmo SVM é um algoritmo de aprendizado supervisionado categorizado em técnicas de classificação. É uma técnica de classificação binária que usa o conjunto de dados de treinamento para prever um hiperplano ideal em um espaço n-dimensional.
Este hiperplano é usado para classificar novos conjuntos de dados. Sendo um classificador binário, o conjunto de dados de treinamento do hiperplano divide o conjunto de dados de treinamento em duas classes.
Os algoritmos SVM são usados para classificar dados em um plano bidimensional e também em um hiperplano multidimensional. O hiperplano multidimensional usa os “Kernels” para categorizar os dados multidimensionais.
É sempre desejável ter uma distinção máxima entre os pontos de dados classificados. Isso significa que eles devem ter distância máxima, ou o hiperplano deve ter uma margem máxima entre os pontos de dados.
O que é um hiperplano
Um hiperplano é um limite que divide o plano. É um limite de decisão que classifica os pontos de dados em 2 classes distintas. Como o SVM é usado para classificar dados em multidimensionais, um hiperplano pode ser uma linha reta se houver 2 entradas ou um plano 2 D se houver mais de 2 entradas.
Os algoritmos SVM também podem ser usados para análise de regressão, mas principalmente para classificação. Vamos ver mais alguns detalhes sobre cada um desses métodos.
O que são algoritmos de classificação e regressão
Um algoritmo de classificação é aquele que analisa os dados de treinamento para prever o resultado. O resultado é uma classe alvo, por exemplo , Dia ou Noite, Sim ou Não, Longo ou Curto. Um exemplo de algoritmo de classificação seria se um cliente em uma superloja comprando pão também compraria manteiga. A classe de destino seria “Sim” ou “Não”.
Um algoritmo de regressão descobre a relação entre as variáveis independentes e prevê um resultado. A regressão linear descobre uma relação linear entre a entrada e a saída. Por exemplo: “A” como entrada e “b” como saída, uma função linear seria b = k * a + c.
O que são vetores de suporte
Vetores de suporte são os pontos de dados que nos ajudam a otimizar o hiperplano. Esses vetores ficam mais próximos do hiperplano e são os mais difíceis de classificar. A posição do hiperplano de decisão depende dos vetores de suporte. Se esses vetores de suporte forem removidos, a posição do hiperplano também será alterada.
Uma Máquina de Vetores de Suporte (SVM) usa os pontos de dados de entrada ou recursos chamados vetores de suporte para maximizar os limites de decisão, ou seja, o espaço ao redor do hiperplano. As entradas e saídas de um SVM são semelhantes às da rede neural. Há apenas uma diferença entre o SVM e o NN conforme declarado abaixo.
Entradas: A rede SVM pode conter n número de entradas, digamos x1, xdois, …… .., xeu,…., Xn.
Saídas: A saída de destino t.
Pesos: Como pesos de rede neural w1, nodois, ……, nonestão associados a cada entrada cuja combinação linear prediz a saída y.
Diferença entre SVM e redes neurais
Os pesos sinápticos em Redes Neurais são eliminados para calcular a saída y da rede, enquanto em SVM os pesos diferentes de zero são reduzidos ou eliminados para calcular o limite de decisão ótimo.
Com a eliminação dos pesos, isso reduzirá o conjunto de dados de entrada a alguns recursos de entrada importantes que ajudarão na decisão do hiperplano separável.
Como funciona uma máquina de vetores de suporte
Como sabemos, o objetivo das máquinas de vetores de suporte é maximizar a margem entre os pontos de dados classificados. Isso trará resultados mais ideais para classificar novos conjuntos de dados não treinados. Assim, isso pode ser obtido tendo um hiperplano em uma posição onde a margem é máxima.
Vejamos um exemplo de pontos de dados separados linearmente:
Passo 1: Descubra o hiperplano correto a partir de diferentes possibilidades: Para decidir o melhor hiperplano, descubra todos os planos possíveis que dividem os dados e, a partir deles, selecione aquele que melhor classifica os conjuntos de dados de entrada. No gráfico abaixo, existem três possibilidades de hiperplanos. O hiperplano 3 divide melhor os pontos de dados.
Passo 2: Selecione um hiperplano com margem máxima entre os pontos de dados mais próximos: A margem é definida como a distância entre o hiperplano e os pontos de dados mais próximos. Portanto, é ótimo ter uma margem máxima. Quando 2 ou mais de 2 hiperplanos estão classificando os dados igualmente, descubra a margem.
O hiperplano com a margem máxima é escolhido. Na figura abaixo, o hiperplano 2.1,2.2 e 2.3 divide os pontos de dados, mas o hiperplano 2.2 tem uma margem máxima.
Etapa 3: Quando outliers estão presentes: Outliers são pontos de dados que são diferentes de um conjunto de pontos de dados. No caso de 2 conjuntos de pontos de dados, um outlier pode estar presente. O SVM ignora tais outliers nos dados e então encontra um hiperplano de margem máxima.
Passo 4: No caso de pontos de dados separados não linearmente, o SVM usa um truque do kernel. Ele irá converter um plano separável não linear em painel separável, introduzindo uma nova dimensão. Os truques do kernel são equações matemáticas complexas que fazem transformações de dados complexas para otimizar o hiperplano.
A figura abaixo mostra pontos de dados não linearmente separáveis que são então transformados em alta dimensionalidade com plano z. O hiperplano que divide os dois conjuntos de dados é um círculo.
Como otimizar a posição do hiperplano
A posição do hiperplano é otimizada usando os algoritmos de otimização.
Parâmetro SVM: Kernel
A construção de um hiperplano otimizado em um problema separável não linearmente é feita usando Kernels. Os kernels são funções matemáticas que convertem o problema complexo usando a forma algébrica linear.
Para um kernel linear, a equação é encontrada como:
F (x) = b + soma (aeu* (x, xeu))
Onde,
x são os novos dados de entrada
xeué o vetor de suporte
BAeusão os coeficientes. Esses coeficientes são estimados durante a fase de aprendizado do algoritmo.
Para um problema complexo não linear separável, o truque do kernel funciona como a conversão do problema não linear separável em um problema separável. Ele transforma os dados complexos e descobre a maneira de dividir os pontos de dados em saídas.
As funções do Kernel são de vários tipos, como linear, polinomial, sigmóide, polarização radial, não linear e muito mais.
Vamos ver os usos de algumas das funções do Kernel acima:
As funções do kernel calculam o produto interno das 2 entradas x, y do espaço.
# 1) Função de polarização radial: A função kernel mais usada, diz que para todos os valores situados entre x = [-1,1], o valor da função é 1, caso contrário, 0. Para alguma interceptação, diga xeu, o valor da função Kernel é 1 para | (xeu- h), (xeu+ h) | para xeutomado como centro e 0 caso contrário.
# 2) Função sigmóide: Como redes neurais usando Sigmoid, a função do kernel para SVMs é
# 3) Função tangente hiperbólica: Conforme as redes neurais usam, a função é
# 4) Função do kernel gaussiano: Os estados da função do kernel gaussiano
# 5) Função polinomial: k (xeu, xj) = (xeu* xj+1)dois
Aplicações de SVM
Os aplicativos da vida real do SVM incluem:
# 1) Classificação dos artigos em diferentes categorias: O SVM diferencia os textos escritos e os classifica em diferentes categorias, como Entretenimento, Saúde, Artigos de Ficção. Baseia-se nos valores de limite predefinidos calculados durante o treinamento do SVM.
Se o valor do limite for ultrapassado, ele será colocado na categoria. Se o valor não for atendido, novas categorias são definidas para classificação.
um dbms de código aberto é:
# 2) Reconhecimento do rosto: A imagem fornecida é classificada como uma imagem facial ou não facial, detectando os recursos usando pixels. A imagem é reconhecida como um rosto ou não.
# 3) Informações de saúde: SVMs são usados para classificar pacientes com base em seus genes, reconhecimento de padrões biológicos, etc.
# 4) Detecção de homologia de proteína: Em ciências médicas computacionais, os SVMs são treinados em como as sequências de proteínas são modeladas. SVM é então usado para detectar homologia de proteínas.
Conclusão
Neste tutorial de máquina de vetor de suporte, aprendemos sobre máquinas de vetor de suporte. Os algoritmos SVM são algoritmos de aprendizado supervisionado usados para classificar dados binários e dados separáveis linearmente. Ele classifica os pontos de dados por um hiperplano com uma margem máxima.
Os pontos de dados não lineares também podem ser classificados por máquinas de vetores de suporte usando truques de kernel. Existem muitas aplicações de SVM na vida real, uma das aplicações mais comuns é o reconhecimento de rosto e reconhecimento de escrita.
Leitura feliz!!
=> Visite aqui para a série exclusiva de aprendizado de máquina
Leitura recomendada
- Tutorial de aprendizado de máquina: introdução ao ML e seus aplicativos
- Um guia completo para redes neurais artificiais em aprendizado de máquina
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Tipos de aprendizado de máquina: aprendizado supervisionado versus aprendizado não supervisionado
- Introdução aos algoritmos genéticos em aprendizado de máquina
- 11 ferramentas de software de aprendizado de máquina mais populares em 2021
- As 13 MELHORES empresas de aprendizado de máquina [Lista atualizada de 2021]
- O que é Java Vector | Tutorial da classe Java Vector com exemplos