Aprendizado de Máquina Fábio de Azevedo Soares [email protected] Agenda • Introdução • Aprendizado Supervisionado • Aprendizado Não-Supervisionado • Aprendizado por Reforço • Aplicações • Referências © LES/PUC-Rio Introdução • Aprendizado de Máquina (do inglês, Machine Learning) é a área de Inteligência Artificial cujo objetivo é o desenvolvimento de técnicas computacionais sobre processo de aprendizado (BISHOP, 2007). © LES/PUC-Rio Introdução • Aprender pode ser caracterizado como a capacidade de obter melhor desempenho pela experiência. “Um programa aprende a partir da experiência E, em relação a uma classe de tarefas T, com medida de desempenho P, se seu desempenho em T, medido por P, melhora com E” MITCHELL, 1997 © LES/PUC-Rio Introdução • Detecção de bons clientes para um cartão de crédito – Tarefa T: classificar potenciais novos clientes como bons ou maus pagadores; – Medida de Desempenho P: porcentagem de clientes classificados corretamente; – Experiência de Treinamento E: uma base de dados histórica em que os clientes já conhecidos são previamente classificados como bons ou maus pagadores. © LES/PUC-Rio Introdução • A idéia por trás da aprendizagem é que as percepções devem ser usadas não apenas para agir, mas, também para melhorar a habilidade do agente (RUSSEL & NORVIG, 2004). Percepções Sensores Ambiente ? Ações Atuadores Agente © LES/PUC-Rio Introdução • No modelo simples de AM, representado abaixo, o ambiente fornece alguma informação para um elemento de aprendizagem (HAYKIN, 2001): – O elemento de aprendizagem utiliza, então, esta informação para aperfeiçoar a base de conhecimento, e finalmente, o elemento de desempenho utiliza a base de conhecimento para executar a sua tarefa. 4. Elemento de Desempenho 1. Ambiente 3. Base de conhecimento 2. Elemento de aprendizagem © LES/PUC-Rio Armazenar conhecimento; Aplicar o conhecimento; Adquirir novo conhecimento. Formas de Aprendizagem • O campo de Aprendizado de Máquina distingue três casos: – Aprendizado Supervisionado; – Aprendizado Não-Supervisionado; – Aprendizado por Reforço. © LES/PUC-Rio Aprendizado Supervisionado • É fornecida uma referência do objetivo a ser alcançado: – o algoritmo de aprendizado recebe o valor de saída desejado para cada conjunto de dados de entrada apresentado. • Envolve o aprendizado de uma função a partir de exemplos de sua entrada e saída. • Para rótulos discretos, esse problema é chamado de classificação e para valores contínuos como regressão. • Exemplos de algoritmos: Árvores de Decisão, Redes Neurais (BP), SVM, TBL. © LES/PUC-Rio Aprendizado Supervisionado Vetor de entrada Algoritmo de Aprendizado Saída calculada Saída desejada Erro © LES/PUC-Rio Aprendizado Supervisionado • Procedimento básico de treinamento: 1. Coletar um grande conjunto de exemplos. 2. Dividir este conjunto em dois sub-conjuntos distintos: conjunto de treinamento e conjunto de teste. 3. Treinar o algoritmo de aprendizado junto ao conjunto de treinamento. 4. Simular o algoritmo de aprendizado treinado no conjunto de testes e medir a porcentagem de exemplos corretamente classificados. 5. Repetir os passos de 1 a 5 para diferentes tamanhos de conjuntos de treinamento e diferentes conjuntos de treinamento © LES/PUC-Rio Aprendizado Não-Supervisionado • É fornecido somente o conjunto de dados de entrada: – Não existe “a” saída desejada. • Envolve a aprendizagem de padrões na entrada quando não são apresentados valores de saída específicos. • Em geral, é utilizado para encontrar aglomerados de conjuntos de dados semelhantes entre si (clusters). • Exemplos de algoritmos: C-means, K-means, KNN, Redes Neurais (SOM). © LES/PUC-Rio Aprendizado Não-Supervisionado SOM (Self-Orgazining Map) Vizinhança Entrada Atualização © LES/PUC-Rio Aprendizado por Reforço • Aprendizado a partir da interação “learner–environment”: – Muitas vezes é impraticável o uso de aprendizagem supervisionada. • Baseado em “tentativa e erro”. • Existe processo de busca (exploration) no espaço • Aprende a escolher ações apenas interagindo com o ambiente. • Através das interações, o agente descobre as relações de causa e efeito. © LES/PUC-Rio Aprendizado por Reforço SUTTON, R. S. & BARTO, A. G. (1998) • O agente recebe do ambiente um valor de resposta (recompensa/reforço). • Esta recompensa avalia o desempenho do agente durante o processo de aprendizado. © LES/PUC-Rio Aprendizado por Reforço • Agente motorista de taxi: – Falta de gorjeta no fim da viagem; – Multa pesada por avançar sinal; – Bater na traseira de um carro • O reforço fornece alguma indicação ao agente de que seu comportamento é desejável ou não. • Em geral inclui o subproblema de aprender como o ambiente funciona. © LES/PUC-Rio Aplicações • Os métodos de Aprendizado de Máquina têm sido empregados em problemas como: – Veículos autônomos que aprendem a dirigir em vias expressas. – Reconhecimento da fala. – Detecção de fraudes em cartões de crédito. – Estratégias para a construção de jogos. – Programas de Mineração de Dados que descobrem regras gerais em grandes bases de dados. – Sistemas biométricos. – Sistemas financeiros. © LES/PUC-Rio Referências • BISHOP, C. M. (2007). Pattern Recognition and Machine Learning. Springer. • HAYKIN, S. (2001). Redes Neurais: princípios e prática. Porto Alegre: Bookman. • MITCHELL, T. (1997). Machine Learning. McGraw Hill. • RUSSELL, N., & NORVIG, P. (2004). Inteligência Artificial (2 ed.). Rio de Janeiro: Elsevier. • SUTTON, R. S. & BARTO, A. G. (1998), Reinforcement Learning: An Introduction. MIT Press. © LES/PUC-Rio