• Nenhum resultado encontrado

Os sistemas deMachine Learning podem dividir-se em várias categorias, de acordo com vários aspetos [45]:

1. Se são ou não treinados com supervisão humana:supervised, unsupervised, reinforce-mentesemisupervised learning.

2. Se podem aprender de forma incremental:batcheonline learning.

3. Se fazem previsões comparando os novos dados com pontos conhecidos ou se cons-troem modelos preditivos:instance-basedemodel-based learning.

7.2.1 Supervised,unsupervisedereinforcement learning

A primeira divisão estabelecida baseia-se na quantidade e tipo de supervisão que os sis-temas recebem no treino [45]. Quando efetuada, esta supervisão ocorre antes do treino através da classificação dos dados.

Este aspeto permite a divisão dos sistemasMachine Learningem três categorias principais (supervised,unsupervisedereinforcement learning) e, ainda, numa quarta categoria que con-siste simplesmente na combinação de modelos das categorias anteriores (semisupervised learning) [5;45;49].

Supervised learning

O modo de aprendizagemsupervised learningdivide-se em classificação e regressão. Neste, os algoritmos treinam sobreinputseoutputsconhecidos por forma a desenvolverem mo-delos preditivos capazes de gerar respostas razoáveis quando confrontados com novos dados [46;50]. Dito de outra forma, estes “aprendem uma função que mapeia x em y, usando dados classificados(x,y)como exemplos de treino" [51].

Nas técnicas de classificação procura prever-se a resposta, ou seja, a classificação, a partir de um conjunto de valores de entrada [46]. Neste caso, as respostas são discretas (os mo-delos classificam os dados em categorias) e o conjunto de respostas possíveis é definido pelo programador. As técnicas de regressão prevêem respostas contínuas [46].

O exemplo clássico de uma tarefa de classificação é o filtro de spam[4; 45; 52]. Neste exemplo, o papel do modelo é classificar um dado e-mail comospamou nãospam. Para isso apoia-se em e-mails passados que, com base nas suas características (e.g. palavras presentes no e-mail [52]), foram categorizados de uma ou de outra forma. O sucesso do Machine Learningneste problema foi tão elevado que, atualmente, já existem algoritmos capazes não só de prever se um dado e-mail éspam, mas também de dividi-lo por várias categorias (problema de classificação multi-categoria, ao invés de classificação binária).

As flutuações de temperatura e procura de energia [46] e previsão do preço médio das casas de um dado distrito [45] são exemplos de problemas de regressão.

É ainda importante mencionar que as variáveis usadas num modelo deMachine Learning que, espera-se, contêm informação relevante acerca do problema e permitem ao modelo aprender com sucesso são denominadas porfeatures (ou atributos). Umafeaturepode ser diretamente medida (e.g. temperatura), calculada a partir dos sinais medidos (e.g. tempo de funcionamento) ou, simplesmente, gerada pelo programador (e.g. identificação do equipamento).

Os algoritmos mais populares desupervised learningsão:k-nearest neighbors(kNN),linear FEUP|2018|Luís F. Pereira

7.2. Tipos deMachine Learning 69 regression, logistic regression, support vector machines(SVMs),decision trees, random forests, naive Bayeseneural networks.

Unsupervised learning

Em unsupervised learning um algoritmo aprende padrões existentes nosinputs sem que feedbackexplícito (e.g. categorização dos dados) tenha sido fornecido [49]. Os sistemas deunsupervised learningprocuram encontrar padrões escondidos e estruturas intrínsecas nos dados [46].

Quatro tarefas principais estão associadas aunsupervised learning[45]:clustering, visuali-zação e redução de dimensionalidade, deteção de anomalias eassociation rule learning.

Os algoritmos declusterizaçãoprocuram dividir os exemplos emclustersde exemplos de natureza similar. A visualização está intrinsecamente ligada a esta tarefa (bem como à redução de dimensionalidade), mas distingui-se dela porque ooutputdos algoritmos de visualização são representações 2D ou 3D dos dados [45]. A redução de dimensiona-lidade procura simplificar os dados sem perder muita informação relevante [45]. Por sua vez, a deteção de anomalias é possível com algoritmos deunsupervised learningpois, treinando o modelo com exemplos normais, é imediato verificar se os novos exemplos se localizam fora do padrão (anomalias) [4;45]. Por fim, a tarefa deassociation rule lear-ningprocura encontrar relações entre asfeatures (e.g. verificar se, num supermercado, a compra de um dado produto se associa à de outro) [4;45].

Na Tabela7.1apresentam-se exemplos de algoritmos deunsupervised learningem função das tarefas às quais estão associados.

Tabela 7.1: Exemplos de algoritmos deunsupervised learningem função das tarefas às quais estão associados [45]

Emreinforcement learningum agente aprende a partir de uma série de reforços, sejam eles recompensas ou punições [49]. Note-se que se chamouagenteao sistema de aprendiza-gem [45]. O agente pode observar o ambiente, selecionar e cumprir tarefas [45]. Uma política (estratégia) define a ação que o agente deve executar em determinada situação FEUP|2018|Luís F. Pereira

70 7.Machine Learning [45]. O objetivo de um sistema de aprendizagem deunsupervised learningé procurar as estratégias que dão mais recompensas a longo prazo [45]. Esta forma de atuação é clara-mente similar à dos seres humanos [53].

Este tipo de aprendizagem é usado, por exemplo, porrobotspara aprender a andar e no programaAlphaGo, da Google, que em 2016 venceu o campeão mundial do jogoGo[45]

(embora o Deep Blue, da IBM, tenha vencido o campeão mundial de xadrez em 1996 [54], a maior complexidade doGodificultou, até recentemente, que o mesmo sucedesse neste jogo).

Semisupervised learning

Alguns algoritmos são capazes de lidar, em simultâneo, com uma combinação de dados de treino categorizados e não categorizados [45]. OGoogle Photosé um exemplo deste tipo de aprendizagem, onde a componenteunsuperviseddo programa é capaz de reconhecer pessoas em fotos e, depois do utilizador identificar uma pessoa numa dada foto (cria uma categoria), compreender que a mesma pessoa, que foi “etiquetada", está presente em várias fotos [45]. Tipicamente estes algoritmos são combinações de algoritmos de supervisedeunsupervised learning.

7.2.2 Batcheonlinelearning

A segunda divisão que se efetuou baseia-se na capacidade dos sistemas deMachine Lear-ningaprenderem de forma incremental. Os sistemas baseados embatch learning(também conhecido comooffline learning) são incapazes de aprender instantaneamente com a in-trodução de novos dados, ou seja, para treinar requerem sempre acesso a todos os dados (Figura7.1a) [45]. Deve notar-se, contudo, que estes sistemas continuam a ser atualiza-dos no tempo. No entanto, tal obriga a que se volte a treinar, avaliar e lançar o sistema [45].

Alternativamente,online learningpermite ao sistema treinar continuamente (on the fly) ao ser alimentado com exemplos (individuais ou em pequenos grupos; Figura7.1b) [45].

Este tipo de aprendizagem permite também eliminar informação já usada no treino (que, caso os recursos computacionais sejam limitados, pode ser importante) e permitem out-of-core learning(necessário quando a memória ocupada pelos dados é superior à RAM disponível [55]) [45]. Olearning rateé um parâmetro importante destes sistemas e refere-se à rapidez de adaptação do modelo a novos dados [45].

(a)Batch learning (b)Online learning

Figura 7.1: Divisão baseada na capacidade dos algoritmos aprenderem de forma incremental [45].

FEUP|2018|Luís F. Pereira

7.2. Tipos deMachine Learning 71 7.2.3 Instance-basedemodel-based learning

Uma última divisão dos sistemas deMachine Learningbaseia-se na forma como as previ-sões são efetuadas, ou seja, na forma como os modelos generalizam1[45]. Dito de outra forma, se os sistemas se baseiam em medidas de similaridade (distância) aos exemplos conhecidos, então o seu modo de aprendizagem éinstance-based learning, enquanto que se existe um modelo matemático associado a estes sistemas, émodel-based learning[45].

Na Figura7.2 demonstra-se o modo como a generalização é feita para estes modos de aprendizagem.

(a)Instance-based learning

(b)Model-based learning

Figura 7.2: Generalização para diferentes modos de aprendizagem [45].

Os modelos deinstance-based learningnão têm realmente uma fase de treino e requerem, para cada nova previsão, o acesso a todos os dados de treino [56].

7.2.4 Outras formas de divisão

Nas subsecções anteriores fez-se a divisão dos sistemas deMachine Learning em várias categorias considerando diferentes aspetos. Muitos outros aspetos podiam ter sidos em

1Ver Secção7.6.

FEUP|2018|Luís F. Pereira

72 7.Machine Learning conta e, portanto, muitas divisões diferentes podiam ser apresentadas. Na Figura ??

apresenta-se outra forma de dividir os algoritmos deMachine Learning.