Conheça mais sobre Algoritmos de Aprendizado de Máquina

Dentro do processo básico de ensinar uma máquina já estabelecemos o início e o fim que são, respectivamente a forma de aprendizado e o objetivo/tarefa. Agora falta entender a jornada em si, os famosos Algoritmos de Aprendizado de Máquina.

São vários os algoritmos e as formas que eles trabalham. Alguns são mais simples de entender, como é o caso das Árvores de Decisão ou das Regressões Lineares. As árvores geram um modelo visual que é simples de entender, o que agrega muito valor ao modelo, enquanto regressões lineares são uma forma otimizada das equações de primeiro grau, que vemos no ensino fundamental. Alguns outros são bem mais complexos, como as redes neurais, que acabam ficando conhecidas até como “caixas pretas”, uma vez que para entender o que elas estão aprendendo é um processo complexo.

Mas se existem vários algoritmos que podem realizar uma mesma tarefa (podemos tomar de exemplo a de classificação, vista na semana passada), como decidimos o que iremos usar? Uma boa analogia é pensar que estamos escolhendo o melhor caminho para ir de um ponto ao outro da cidade. Para ir da zona norte a zona sul de Porto Alegre, posso priorizar ir por avenidas principais ou ir por dentro dos bairros. Um dos caminhos é muito mais rápido, mais direto, mas corre o risco de haver algum engarrafamento por ser mais movimentado, enquanto o outro é mais longo e cheio de curvas, mas a chance de algum imprevisto acontecer é bem menor por ter menos movimento. Cada percurso apresenta vantagens e desvantagens, cabe a nós tomar a decisão de quais são preferíveis. Esses diferentes caminhos seriam os Algoritmos de aprendizado de máquina, como redes neurais ou árvores de decisão. Se quisermos ir além, podemos decidir como percorrer esses caminhos, se iremos a pé, se utilizaremos carro, moto, ônibus… Esses outros aspectos da jornada entrariam como parâmetros e hiperparâmetros, que podem potencializar ou atrapalhar a jornada que iremos fazer, mas isso deixamos para outro dia.

Na prática, se queremos agregar valor em uma apresentação mostrando como nosso algoritmo funciona, uma árvore de decisão é a escolha certa, se precisamos de agilidade para treinar o modelo, um K-NN pode resolver, precisamos analisar a influência de cada característica, talvez uma regressão linear ou logística… Agora, se o problema for muito complexo, como reconhecimento facial em imagens, só redes neurais profundas dão conta do recado (a essas redes “profundas” damos o nome de Deep Learning). E assim, cada algoritmo vai tendo suas vantagens e desvantagens, cabendo a nós, em cada situação, avaliar quais se aplicam a cada caso, quais trazem mais valor para a situação e qual a infraestrutura disponível, assim como a urgência para obter os resultados.

Um fato curioso é que geralmente se descobre qual o melhor caminho (algoritmo) na tentativa e erro, por isso o aprendizado de máquina resulta em muita experimentação e análise. Muitas vezes, se testa vários algoritmos com diferentes configurações e se avalia qual teve melhor desempenho. Como são muitos os algoritmos, é dever de um cientista de dados, por exemplo, analisar o problema, entender a tarefa que será realizada e tomar decisões sobre quais modelos testar, de que forma prepará-los e saber explicar, ao final do processo, porque um modelo performou melhor do que outro. Uma verdadeira ciência em cima dos dados.

Por Otávio Parraga, desenvolvedor do #TimeUbots.