O que é machine learning, e será que podemos usá-lo numa aplicação Laravel?

O que é machine learning, e será que podemos usá-lo numa aplicação Laravel?

Primeiro de tudo, há que dizer que Machine Learning já existe há bastante tempo.

Se de um algoritmo poder retirar-se uma derivação de padrões com dados de treino, e usar-se esses mesmos padrões para realizar previsões sobre novos dados, então esse algoritmo é considerado de machine learning.

Algumas das principais tarefas realizadas pelo machine learning são a regressão e a classificação.

Regressão é uma previsão baseado em valores de um conjunto de recursos de um objecto com base nos exemplos anteriores. Por exemplo, uma lista de casas com recursos diferentes, como exemplo o número de quartos, área total, o ano em que foi construída, locais, etc., e um preço. Treina-se o modelo de machine learning com esses dados e, depois de criar uma nova casa com esse conjunto de recursos, ele prevê “intuitivamente” o preço dessa nova casa.

Classificação é uma previsão de rotulada associada a um objecto. Por exemplo, se existem 1000 artigos no site e existem 6 categorias possíveis de associar aos artigos, primeiro, treina-se o modelo nesses 1000 artigos com os 6 rótulos de categorias. Posteriormente, quando for necessário determinar a categoria de um novo artigo, poderá inserir o novo artigo no modelo e prever qual é a probabilidade de cada categoria. Há também classificação binária, onde só pode prever se um artigo (ou qualquer coisa) pertence a alguma categoria ou não, por exemplo, filtros de spam fazem essa classificação ou tabs inteligentes do Gmail.

Existem muitos outros casos de uso e muitos algoritmos diferentes de machine learning. Por exemplo, há aprendizagem supervisionada, semi-supervisionado e não supervisionado. Os algoritmos que apresentei acima são algoritmos de aprendizagem supervisionados. Um exemplo de aprendizagem não supervisionado pode ser o agrupamento. Quando não existem rótulos para os dados, pode ser usado o armazenamento em cluster para dividir os dados em vários clusters relacionados entre si.

Utilizando o Laravel

Existem vários algoritmos disponíveis num package Laravel (https://github.com/php-ai/php-ml) que podem ser usados, porque eles já estão implementados em PHP.

Existem ainda outras alternativas, como usar usar micro-serviços separados da framework, para as tarefas de machine learning que se comunica com a aplicação Laravel usando uma API.

A maioria das bibliotecas machine learning é escrita em Python, por isso não é preciso reinventar a roda, basta aprender um pouco de Python ( experimentar um  Docker container) e usar as bibliotecas machine learning necessárias para criar uma API. É claro que é possível comunicar com a base de dados do Laravel para aceder os dados.

Comments are closed