É preciso “reinventar” a roda para usar Machine Learning?
Compreender as operações dos algoritmos de ML garantem seu melhor uso!
A resposta para essa pergunta é muito simples, “não”! Assim como os dados são considerados o novo petróleo, ao nosso tempo devemos dar a mesma importância e usá-lo de forma eficiente.
Para auxiliar-nos na construção de modelos preditivos com uso de algoritmos de Machine Learning (ML), podemos recorrer a frameworks como Scikit Learn, TensorFlow, Spark Mlib, AzureML, Rose, entre outros. Esses frameworks encapsulam as operações matemáticas, estatísticas e a lógica necessária, para cada desafio que um algoritmo consegue realizar, de forma performática e generalizada (atenção: generalizada é diferente de genérico).
No entanto, o fato de não precisar construir um algoritmo de ML do “zero”, não significa que devemos nos limitar em sermos executores de script’s e funções dos framework’s. Conhecer as operações matemáticas, estatísicas e ciência da computação que está por trás de cada algoritmo, ou pelo menos os que mais usamos né 😁!, é o que separa um profissional que “apenas aperta um botão”, de um que sabe o “porquê que está apertando um botão”.
Nesta linha, compreender quais tarefas que um algoritmo realiza é importante. O algoritmo SVM (Support Vector Machine) é uma classe de algoritmo em que seu espaço de hipóteses (delimita o que um algoritmo pode realizar) possuem métodos baseados em otimização. Eles podem solucionar problemas/tarefas tanto de classificação, como regressão.
Quando os dados não forem lineramente separáveis, os SVM’s possuem habilidades de expor esses dados a novas dimensões e serem capazes de encontrar uma linha ou um plano [hyperplano/modelo preditivo] que mehor segrega esses pontos de dados. Cada margem encontram os suport vectors, os vetores limites de cada classe de dados e servirá para delimitar o limite dessa classe. Esses vetores limites daram o suporte para um “segregador”. Sendo que cada classe de vetor, atributos do modelo, terá seu próprio “segregador” e entre eles encontramos o hyperplano (modelo preditivo de SVM).
No notebook disponível no meu repositório, temos o passo-a-passo de como se dão as operações matemáticas para encontrar o hyperplano de SVM, tanto de (i.) forma personalizada e iterativa, quanto o (ii.) uso do framework Scikit Learn.
Ambas modelos preditivos tiveram a mesma acurácia, entretanto a construção da (i.) forma personalizada demanda tempo para confeccionar e se alterar alguma premissa há necessidade de rever todo código.
Ao passo que usando o (ii) framework Scikit Learn, temos:
Cabe destacar que o pré-processamento dos dados, tanto para a (i.) confecção do algoritmo de ML como para o (ii.) framework foi o mesmo, além de ser um das atividade que antecede a aprendizagem de um modelo é uma das fases mais importantes para todo o processo de ciência de dados.
Com isso concluimos que não precisamos reinventar a roda… podemos maximizar nosso tempo, no entando cabe a nós entender o mínimo que cada algoritmo realiza, então saberemos usar com mais eficiência essas “invenções”!!
E você “investe” um pouco do seu tempo para aprender a matemática por trás dos algoritmos de ML???
Caso queiram entrar em contato: Linkedin, GitHub e aqui no próprio Medium!!