• Nenhum resultado encontrado

depende da relevância, quantidade e qualidade dos dados [8,35].

4.2.

Tipos de Machine Learning

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

1. Se são ou não treinados com supervisão (Subsecção4.2.1): (a) Supervised learning

(b) Unsupervised learning (c) Reinforcement learning (d) Semisupervised learning

2. Se podem aprender de forma incremental (Subsecção 4.2.2): (a) Batch learning

(b) Online learning

3. Se fazem previsões comparando os novos dados com pontos conhecidos ou se constroem novos modelos preditivos (Subsecção4.2.3):

(a) Instance-based learning (b) Model-based learning

4.2.1.

Supervised, unsupervised, reinforcement learning e Semisu-

pervised learning

Os sistemas de Machine Learning podem ser divididos de acordo com a quantidade e tipo de supervisão que recebem durante a fase de treino [35]. Este aspeto permite a divisão dos modelos Machine Learning em três categorias principais (supervised,

unsupervised e reinforcement learning) e, ainda, numa quarta categoria que consiste

simplesmente na combinação de modelos das categorias anteriores (semisupervised

learning).

Supervised learning

Supervised learning é um dos modos de aprendizagem mais comum e também com

maior sucesso [35]. Neste, os dados fornecidos aos algoritmos durante a fase de treino incluem a solução desejada (label), isto é, a variável dependente resultante das variáveis independentes observadas [6]. É assim possível desenvolver modelos preditivos capazes de gerar respostas para novos dados [35].

4. Machine Learning 31

Existem dois principais tipos de problemas de supervised learning: classificação e regressão - Figura4.1.

Figura 4.1: Supervised Learning: Classificação e Regressão [6]

As técnicas de classificação são utilizadas para prever a resposta, isto é, a classifica- ção (class label), a partir de um conjunto de valores de entrada. As respostas são discretas (os modelos classificam os dados em categorias) [6]. Os problemas de clas- sificação podem ainda ser separados em: classificação binária (binary classification), que consiste na distinção entre duas classes, e problemas de classificação multi-classe (multiclass classification), quando o número de classes é superior a dois [6]. Classi- ficar um e-mail como spam ou não spam é um exemplo de um problema típico de

binary classification enquanto que, prever qual a língua de um website com base no

texto nele presente é um exemplo de um problema de multiclass classification, onde, neste caso, as classes seriam uma lista predefinida de possíveis línguas [35].

Por outro lado, as técnicas de regressão prevêem respostas contínuas [35]. Um exem- plo de um problema deste tipo é, dado um conjunto de dados sobre o tamanho de casas no mercado imobiliário, tentar prever o seu preço (variável contínua) [35]. As variáveis utilizadas em modelos de Machine Learning que, espera-se, contêm in- formação relevante acerca do problema e permitem ao modelo aprender com sucesso são denominadas por features (ou atributos) [35]. Uma feature pode ser diretamente medida, calculada a partir dos sinais medidos ou, simplesmente, gerada pelo progra- mador (por exemplo, a identificação de um equipamento) [35].

Os algoritmos mais populares de supervised learning são: k-nearest neighbors (kNN),

linear regression, logistic regression, support vector machines (SVMs), decision trees, random forests, naive Bayes e neural networks [6,35].

Unsupervised learning

Em alguns casos, conseguir dados com a solução desejada (label) pode ser caro ou até mesmo impossível [35].

32 4.2. Tipos de Machine Learning

Em unsupervised learning um algoritmo procura aprender padrões e relações exis- tentes num conjunto de dados sem categorização (sem labels) fornecidos [35]. Os sistemas de unsupervised learning procuram encontrar padrões escondidos e estrutu- ras intrínsecas nos dados - Figura4.2[6].

(a) Clustering (b) Deteção de Anomalias

Figura 4.2: Unsupervised Learning [6]

Dentro do unsupervised learning destacam-se quatro principais tarefas [35]: cluste-

ring, que consiste na divisão dos dados em grupos (clusters) semelhantes (Figura

4.2a); visualização e redução de dimensionalidade, que procura simplificar os dados sem perda significativa de informação; deteção de anomalias, uma vez que o sistema é treinado com exemplos normais, perante um novo ponto é capaz determinar se este se encontra fora do normal (Figura4.2b); e association rule learning, que consiste em encontrar relações entre features [35].

Reinforcement learning

Em reinforcement learning , o sistema tenta aprender qual a melhor ação a ser to- mada, dependendo das circunstâncias na qual essa ação será executada [35]. Como,

a priori, não sabe o que irá acontecer no futuro, é desejável uma abordagem que

leve em consideração essa incerteza, capaz de incorporar as eventuais mudanças no processo de tomada da melhor decisão [35]. Uma recompensa ou punição é dada ao sistema de apredizagem, dependendo da decisão tomada; ao longo do tempo e com a repetição do processo, espera-se que este seja capaz de associar as ações que geram maior recompensa para cada situação que o ambiente apresenta, e passe a evitar as ações que geram punição ou recompensa menor [35].

Semisupervised learning

Alguns algoritmos são capazes de lidar, em simultâneo, com uma combinação de dados de treino categorizados (normalmente em pequena quantidade) e não catego- rizados (em grande quantidade) - Figura 4.3 [35]. Esta combinação de um grande número de dados não categorizados, regra geral mais fáceis de obter, com alguns

4. Machine Learning 33

dados categorizados, geralmente dispendiosos de obter, pode levar a um aumento da

performance do sistema de aprendizagem [35].

Figura 4.3: Semisupervised learning [6]

4.2.2.

Batch e online learning

Outro critério usado para classificar os sistemas de Machine Learning é a sua capaci- dade de aprender de forma incremental (Figura4.4), a partir de um fluxo de dados recebidos [35]. Em batch learning (Figura 4.4a), o sistema é incapaz de aprender incrementalmente, sendo que necessita de acesso à totalidade dos dados para ser treinado [35]. De modo a fornecer novos dados ao sistema, é necessário treinar um nova versão com o conjunto de dados completo (não apenas os novos dados, mas também os antigos) [35].

Por outro lado, em online learning (Figura4.4b), a fase de treino é realizada de forma incremental, isto é, o sistema é capaz de treinar continuamente ao ser alimentado com exemplos [35]. Este modo de treino é ideal para sistemas que recebem um fluxo de dados contínuo e necessitam de se adaptar de forma rápida ou autónoma [35].

(a) Batch Learning (b) Online learning

Figura 4.4: Divisão baseada na capacidade dos algoritmos aprenderem de forma incremental [35]

Documentos relacionados