Pular para o conteúdo principal

Suporte Vector Machine para DataScience Juniors rsrsrsr



Uma (SVM) é um algoritmo de aprendizado de máquina supervisionado que pode ser empregado para propósitos de classificação e regressão. SVMs são mais comumente usados em problemas de classificação e, como tal, é nisso que vamos nos concentrar neste post. Os SVMs baseiam-se na ideia de encontrar um hiperplano que melhor divida um conjunto de dados em duas classes, como mostra a imagem abaixo.
  •  Os Vectores Suporte são os pontos de dados mais próximos do hiperplano, os pontos de um conjunto de dados que, se removidos, alterariam a posição do hiperplano divisor. Por causa disso, eles podem ser considerados os elementos críticos de um conjunto de dados. 

  O que é um hiperplano?
  •   Como um exemplo simples, para uma tarefa de classificação com apenas dois recursos (como a imagem acima), você pode pensar em um hiperplano como uma linha que separa e classifica linearmente um conjunto de dados.

  Intuitivamente, quanto mais longe do hiperplano nossos pontos de dados estiverem, mais confiantes estaremos de que foram classificados corretamente. Portanto, queremos que nossos pontos de dados estejam o mais longe possível do hiperplano, enquanto ainda estivermos do lado correto dele.
  Então, quando novos dados de teste são adicionados, qualquer lado do hiperplano que ele for decidirá a classe que atribuímos a ele.
  Como encontramos o hiperplano certo?Ou, em outras palavras, como separar melhor as duas classes nos dados?
  •   A distância entre o hiperplano e o ponto de dados mais próximo de qualquer conjunto é conhecida como margem. O objetivo é escolher um hiperplano com a maior margem possível entre o hiperplano e qualquer ponto dentro do conjunto de treinamento, dando uma chance maior de novos dados serem classificados corretamente.





Mas o que acontece quando não há hiperplano claro?
  •  É aqui que pode ficar complicado. Os dados raramente são tão limpos quanto o nosso exemplo simples acima. Um conjunto de dados muitas vezes parece mais com as bolas confusas abaixo, que representam um conjunto de dados linearmente não separável.
Para classificar um conjunto de dados como o acima, é necessário se afastar de uma visualização em 2D dos dados para uma visualização em 3D. Explicar isso é mais fácil com outro exemplo simplificado. Imagine que nossos dois conjuntos de bolas coloridas acima estão sentados em um lençol e este lençol é levantado de repente, lançando as bolas no ar. Enquanto as bolas estão no ar, você usa a folha para separá-las. Este "levantamento" das bolas representa o mapeamento dos dados em uma dimensão maior. Isso é conhecido como kernelling. Você pode ler mais sobre Kerneling










Porque agora estamos em três dimensões, nosso hiperplano não pode mais ser uma linha. Agora deve ser um plano, como mostrado no exemplo acima. A ideia é que os dados continuem sendo mapeados em dimensões cada vez maiores até que um hiperplano possa ser formado para segregá-lo.

Comentários

Postagens mais visitadas deste blog

Automatizando uma lampada com Bluetooth (Serie: Sem Fio)

Olá humanos, essa semana estive com uns guris da minha faculdade com muita dificuldade de trabalhar com o modulo bluetooth HC-06/05, tivemos uma apresentação dos projetos da minha turma e apresentei um robo explorador controlado via web, porem o que me motivou a escrever este post, foi o fato de uma equipe ter empacado, no quesito usar o modulo bluetooth durante a apresentação dessa equipe, eles falavam muito sobre como não conseguiram programar o bluetooth e nem a eletronica funcionava da forma como queriam, quando terminaram de apresentar fui até eles e disse que ajudaria eles, por que de fato é bem simples, então ajudei eles, em um simples test de ligar é desligar um led, controlado via bluetooth. Bom chega de papo, vamos ao que importa, o que é um bluetooth ? bluetooth e uma tecnologia de comunicação a curta distancia para transações simples, sendo envio de mensagens, ou envio de arquivos. Para este projeto você precisa dos seguintes ingredientes. Arduino UNO Modulo Blueto...

Redirecionamento de Porta usando ngrok (Port Forward with ngrok) SSH

Olá Humanos, estou no pensionato e aqui não tenho acesso ao roteador para fazer um redirencionamento de porta digno affs ¬__¬, sim pensei em Hackear rsrsrs, porem minha preguiça minha preguiça não deixa hauhauha, então encontrei uma ferramenta bem legal chamada ngrok que faz com que eu possa acessar remotamente meu servidor local para brincar com IoT. Instalação e ngrok  link: https://ngrok.com/ Para se cadastrar é bem simples basta logar com conta sua conta do git ou google depois faça download e na https://dashboard.ngrok.com/auth na aba auth pegue seu authtoken e valide no terminal # unzip ngrok-stable-linux-amd64.zip # ./ngrok authtoken <YOUR AUTHTOKEN> Instalando SSH no seu computador  Bom se você usa Ubuntu basta rodar  comando  # apt-get install openssh-server Para testar se o serviço digite  # service ssh status Iniciando SSH no Ngrok Rode o ngrok em protocolo tcp na porta 22  # ./ngrok tcp 22 ...

Scratch for Arduino Servo Motor Basic One(Controland Servo Motor com S4A)

Olá Humanos, aqui vamos brincar com arduino usando Scratch, neste pequeno teste vamos trabalhar com: /* 1 Arduino Uno */   /*  1 Micro Servo */ >>> print "Com este Circuito bem basico " >>> print  "Com o circuito montado inicie o Scratch for arduino e Programe o controle e movimentos dessa forma. " >>> exit()