Prévia do material em texto
PROVA DE APRENDIZAGEM DE MÁQUINA Prof. Dr. Aydano Machado Instruções para a prova: Antes lembro que o Código de Honra vale para todas as atividades da disciplina: Código de Honra "Como membro da comunidade deste curso, não vou participar nem tolerar a desonestidade acadêmica". A prova será individual, sem consulta e durante o horário da disciplina. As respostas podem ser diretas, porém completas. Deixe em um nível de detalhe que eu entenda que você conhece cada passo necessário para implementar sua resposta. Demonstre o que você entendeu o assunto abordado na questão sem a necessidade de ser prolixo. Pode citar e explicar com um algoritmo ou técnica que você aprendeu. Digite suas respostas neste mesmo documento. Questões 1. Descreva um dos algoritmos não-supervisionado: k-means, k-medoids ou dbscan? Resposta: O algoritmo k-means tem o objetivo de realizar o agrupamento dos elementos fornecidos a partir da similaridade entre eles. Para isso, a partir da definição do número de grupos, isto é, o valor de k, ele inicia colocando os centróides (centros de cada grupo) em k pontos aleatórios do espaço. A cada interação, ele avalia a distância de cada elemento em relação a cada centróide, definindo o grupo que o elemento pertence ao centróide mais próximo. Assim, ao final de cada interação, é calculado o ponto médio dos elementos de cada grupo e ajustado o valor do seu respectivo centróide para tal posição. Esse processo é repetido até que todos os centróides estabilizem, isto é, que a distância do centróide e o ponto médio dos elementos do seu grupo seja zero. 2. Que algoritmo de clustering você usaria para cada um dos datasets da figura abaixo? Explique o porquê da sua escolha. Resposta: ● Database 1: Neste caso, o algoritmo mais indicado é o k-means, pois é possível observar que os elementos seguem uma distribuição bastante regular, aproximando-se de um formato circular, contribuindo para um melhor posicionamento dos centróides; ● Database 2: Neste caso, o algoritmo mais indicado é o dbscan, pois, como ele se baseia em densidade de grupos, é possível lidar melhor com formas irregulares de grupos; ● Database 3: Neste caso, o algoritmo mais indicado é o k-medoids, pois, como há a presença de alguns grupos com distribuição regular, mas com a presença intensa de ruída, o k-medoids sempre colocará a posição do centróide na mesma posição de algum elemento existente. 3. Descreva o algoritmo de mineração de regras de associação Apriori. Resposta: O algoritmo Apriori gera regras de associação a partir dos suportes delas. Ele inicia formando regras de tamanho 1, selecionando os elementos que cumpram o requisito do suporte mínimo fornecido. Após isso, ele incrementa em 1 o número de elementos da regra realizando a junção e poda de regras: ● Para realizar a junção, o algoritmo seleciona duas regras e verifica se possuem os mesmos elementos, com exceção do último. Caso essa condição seja confirmada, ela realiza a junção das regras. Caso não, ela não realiza. Ex.: se a regra (A,B,C,D,E) é comparada com (A,B,C,D,F) haverá a junção; já se a regra (A,B,C,D,E) é comparada com (B,C,D,F,Z), então não há junção; ● Para realizar a poda, o algoritmo seleciona uma regra de tamanho n e verifica se existe alguma regra de tamanho n-1 que tenha todos os mesmos elementos da regra de tamanho n com exceção do primeiro. Caso essa condição seja confirmada, ela não realiza a poda da regra. Caso não, ela realiza. Ex.: A regra (A,B,C,D,E) é selecionada e o algoritmo verifica se existe uma regra (B,C,D,E). Caso exista, não é podada; caso não exista, é podada. Assim, o algoritmo continua gerando novas regras que satisfaçam as condições apresentadas até que não seja mais possível. Ao final, as regras geradas são retornadas. 4. Explique como funciona a aprendizagem por reforço e o Q-learning. Resposta: A aprendizagem por reforço é baseada na construção de conhecimento a partir da interação do agente com o ambiente. Dessa forma, não são conhecidos todos os detalhes do ambiente a ser executado, mas sim há um enfoque nas respostas fornecidas pelas interações e no objetivo a ser alcançado. Há alguns pontos importantes a se pensar quando se realiza esse tipo de abordagem: ● Existe a preocupação com relação ao retorno atrasado, isto é, o melhor resultado globalmente ser alcançado com ações que gerem resultados piores localmente, pois se o agente ficar buscando sempre o ótimo resultado momentâneo, ele pode ficar preso em um ótimo local, nunca chegando ao objetivo global; ● Dilema entre investigar e explorar, ou seja, decidir quando é o momento do agente buscar novas informações e quando é o momento do agente usar as informações que já tem para ir atrás do objetivo. Com relação ao Q-learning, ele é um algoritmo de reforço que busca realizar a atualização da valor-ação Q visando a convergência com Q* a partir da absorção parcial das diferenças entre valores encontrados. Funciona da seguinte forma: ● Q(estado,ação) é inicializado de forma arbitrária; ● A cada interação, o estado é iniciado; ● A cada passo da interação, escolhe-se a ação para o estado baseado na política derivada de Q, de maneira gulosa; ● Observar o retorno imediato e o próximo estado, tal que: Q(estado atual, ação) <- Q(estado atual, ação) + coeficiente de aprendizado [retorno imediato + Diferença entre Q(estado atual, ação) e Q(próximo estado, ação) ] ● Repetir o processo até o estado final.