Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ciência de Dados Material Teórico Responsável pelo Conteúdo: Prof.ª Esp. Lucia Contente Mós Revisão Textual: Prof.ª Me. Luciene Oliveira da Costa Granadeiro Principais Algoritmos • Aprendizado de Máquina – Analytics; • Tipos de Aprendizado. • Defi nir e entender o que é o aprendizado de máquina – analytics; • Entender a relação de mineração de dados com machine learning; • Conhecer os tipos de conjuntos de dados; • Compreender os tipos de aprendizado; • Saber e identifi car o aprendizado supervisionado; • Conhecer as funções dos algoritmos de aprendizado supervisionado: árvores de decisão, Naive Bayes, K-NN; • Saber e identifi car o aprendizado não supervisionado; • Conhecer as funções dos algoritmos de aprendizado não supervisionado: algoritmos de agrupamento; • Compreender o aprendizado por reforço. OBJETIVOS DE APRENDIZADO Principais Algoritmos Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional, siga algumas recomendações básicas: Assim: Organize seus estudos de maneira que passem a fazer parte da sua rotina. Por exemplo, você poderá determinar um dia e horário fixos como seu “momento do estudo”; Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo; No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam- bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados; Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus- são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de aprendizagem. Organize seus estudos de maneira que passem a fazer parte Mantenha o foco! Evite se distrair com as redes sociais. Mantenha o foco! Evite se distrair com as redes sociais. Determine um horário fixo para estudar. Aproveite as indicações de Material Complementar. Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma Não se esqueça de se alimentar e de se manter hidratado. Aproveite as Conserve seu material e local de estudos sempre organizados. Procure manter contato com seus colegas e tutores para trocar ideias! Isso amplia a aprendizagem. Seja original! Nunca plagie trabalhos. UNIDADE Principais Algoritmos Aprendizado de Máquina – Analytics É uma subdivisão da inteligência artificial, também conhecida como “machine learning”. Significa criar programas que aprendam um determinado comportamento ou padrão automaticamente a partir de exemplos ou observações. Possui uma relação com o aprendizado humano. Por exemplo, os seres humanos (e outros animais) são capazes de generalizar a partir de exemplos. Exemplo de aprendizado humano através de associação: o cachorro tem quatro patas, portanto, é um animal quadrúpede. Então qualquer animal que tenha quatro patas também será quadrúpede. Definição de Aprendizado Segundo Simon (1996) pg 37, “Aprendizado é qualquer processo no qual um sistema melhora seu desempenho através da experiência.” Segundo Mitchell (1997) pg 104, “A tarefa de aprendizado, significa: “Melhorar na tarefa T, com respeito à métrica de desempenho D, baseado na experiência E”. Exemplos de Aprendizados: Tabela 1 T: Jogar Damas; D: Percentagem de jogos ganhos contra um adversário arbitrário; E: Jogar jogos contra ele próprio. T: Reconhecer palavras escritas à mão; D: Percentagem de palavras corretamente reconhecidas; E: Base de dados de imagens com as palavras correspondentes. T: Dirigir em estradas usando sensores de visão; D: Distância média dirigida antes de um erro; E: Sequência de imagens e comandos de direção gravados de uma pessoa dirigindo. T: Categoriza mensagens de e-mail como spam ou legítimas; D: Percentagem de mensagens de e-mail corretamente classificadas; E: Bases de dados de mensagens, algumas classificadas, por humanos. Relação de Mineração de Dados com Machine Learning Como vimos, a mineração de dados é o processo de extração automática de conhecimento a partir de grandes bases de dados. 8 9 Os algoritmos de aprendizado automático podem ser vistos como algoritmos que extraem um padrão de comportamento, a partir de dados (exemplos). Portanto, podem ser utilizados como algoritmos de mineração de dados. Po- rém, algoritmos de aprendizado nem sempre utilizam bases de dados, mas podem aprender diretamente a partir da interação com o ambiente ou com um simulador. Tanto a mineração de dados quanto o aprendizado de máquinas utilizam-se de muitos métodos da área de estatística. Então, quando essas duas áreas juntam-se, conseguimos atingir os objetivos de aprender e gerar hipóteses automaticamente a partir de grandes volumes de dados. Isso significa que é possível ensinar sistemas a executar tarefas com a mesma precisão que a nossa, ou até superior. Para tal, são usados dados para treinar o al- goritmo. O objetivo é que, através desse treinamento, o algoritmo aprenda e enten- da o modelo, a lógica e o padrão desse conjunto de dados, para que dessa forma, o algoritmo possa conseguir prever ou classificar novos valores. Tipos de Conjuntos de Dados para Aprendizagem Existem dois tipos de conjuntos de dados para aprendizagem do algoritmo: trei- no e teste. É feita uma divisão no conjunto de dados, uma parte dos dados para treino e outra parte para teste, por exemplo, 70% para treino e 30% para teste, ou, ainda, 90% para treinamento e 10% para teste. O importante é que essa divisão atenda às suas necessidades e que o algoritmo se torne assertivo. Figura 1 – Exemplo de Dados de Treino e de Teste Fonte: Tanaka, 2018 Observe que, na figura 1, temos os dados de treino e os dados do resultado de treino e também os dados de teste e do resultado do teste. No item 8, utilizando 70% dos dados de treino e dados do resultado do treino, foi realizado o treinamento do algoritmo; com os outros 30% dos dados que sobraram, temos os dados de teste e os dados dos resultados de teste, como vemos no item 9. 9 UNIDADE Principais Algoritmos Verifique no item 10, que a previsão do resultado é: 1,0,0 e o resultado que se esperava era: 1,1,1. Ou seja, nosso algoritmo só teve 1 acerto; isso significa que o treinamento com 70% dos dados foi insuficiente; é necessário destacar mais dados para realizar o treinamento. Vamos supor uma nova separação dos conjuntos de dados. Agora, por exemplo, vamos colocar 75% dos dados para treino e os outros 25% dos dados para teste. Figura 2 – Exemplo de Resultados dos Dados de Treino e de Teste Fonte: Tanaka, 2018 Perceba que, agora, temos 2 acertos entre o resultado previsto e o resultado dos dados de teste, portanto, o algoritmo tem alta assertividade. Tipos de Aprendizado Existem 3 tipos de aprendizado, são eles: aprendizado supervisionado, aprendi- zado não supervisionado e aprendizado por esforço. k-means Métodos Hierárquicos SOM k-NN Adaline Multi-Layer Perceptron k-NN Árvores de Decisão Naive Bayes Perceptron/ Adaline Multi-Layer Perceptron Classi�cação Regressão Supervisionado Não-Supervisionado AM Figura 3 – Tipos de Aprendizado Fonte: CANUTO, 2017 Aprendizado Supervisionado Como o próprio nome sugere, existem exemplos da saída esperada para deter- minados casos da base de treinamento, onde a rede, pela comparação entre os re- sultados obtidos e esperados, pode adaptar os pesos das conexões para minimizar o erro, obtendo um aprendizado por exemplos. 10 11 O algoritmo de aprendizado (indutor) recebe um conjunto de exemplos de treina- mento para os quais os rótulos da classe associadasão conhecidos. Cada exemplo (instância ou padrão) é descrito por um vetor de valores (atributos) e pelo rótulo da classe associada. O objetivo do indutor é construir um classificador que possa deter- minar corretamente a classe de novos exemplos ainda não rotulados. Exemplo de Aprendizado Supervisionado Vamos pensar em um programa que usa aprendizado de máquina para identifi- car fotos de cavalos. Para isso, teremos dois tipos de dados de entrada para treinar o algoritmo: • Imagem: várias fotos de cavalos e outras não; • Dado Booleano (true/false): indicando se a figura é ou não de um cavalo. O treinamento acontece no momento em que o algoritmo analisa a imagem junto com a resposta, ou seja, o algoritmo faz a seguinte pergunta: essa figura é a de um cavalo? O algoritmo vai repetir essa pergunta para milhões e milhões de imagens diferentes. Até que chega a um ponto em que o algoritmo aprende quais são as carac- terísticas que uma foto precisa apresentar para ser considerada a figura de um cavalo. Tabela 2 Base de Dados de Entrada para treinamento do Algoritmo Algoritmo Gera Modelo Figura 4 Fonte: Getty Images Modelo que aprendeu as características de Imagens de Cavalo. Nova Entrada Algoritmo: O que é essa Imagem? Figura 5 Fonte: Getty Images O algoritmo consegue identificar que esse novo dado trata-se de uma imagem de cavalo. Figura 6 Fonte: Getty Images O algoritmo consegue identificar que esse novo dado não é uma imagem de cavalo. 11 UNIDADE Principais Algoritmos Tipos de Algoritmos para Aprendizado Supervisionado Esses algoritmos podem ser de classificação ou regressão, vai depender do tipo de resultado que é gerado pelo algoritmo. O exemplo anterior é um exemplo de algoritmo de classificação. Estamos classi- ficando uma entrada entre dois tipos possíveis: cavalo ou não cavalo. Quando o resultado é numérico, trata-se de um algoritmo de regressão. Por exemplo, um programa que calcula o valor que um barco deveria ter com base em características como número de pés, tamanho e ano de fabricação. Com base em exemplos de barcos similares, o algoritmo aprende a precificar novos barcos. Algoritmos de Classificação Esse tipo de algoritmo pode atribuir um objeto/evento a uma categoria, perten- cente a um conjunto finito de categorias. Classificar um objeto significa atribuir a ele um rótulo, chamado classe, de acordo com a categoria à qual ele pertence. Para que isso seja possível, um algoritmo de classificação é usado na construção de um modelo de classificação, também chamado de classificador, o qual é construído com base em um conjunto de treinamento com dados rotulados. É uma das técnicas mais utilizadas na mineração – por exemplo, são comuns as tarefas de classificação de clientes em baixo, médio ou alto risco de empréstimo bancário. Classificar um objeto (registro, amostra, exemplo) é determinar com que grupo de entidades, já classificadas anteriormente, esse objeto apresenta mais semelhanças. Exemplos de Tarefas de Classificação • Predizer se um tumor é benigno ou maligno; • Classificar transações de cartões de crédito, como legítimas ou fraudulentas; • Classificar estruturas secundárias de proteínas, como alpha-helix, beta-sheet, or random coil; • Categorizar textos, como da área de finanças, previsão de tempo, esportes, cultura etc. Exemplos de Estudos de Caso Reais do Uso de Algoritmo de Classificação • Upgrade de pacotes de TV por assinatura (Net); • Cancelamento de assinaturas (RBS); • Análise para concessão de empréstimos bancários (instituições financeiras); • Softwares de correio eletrônico como Outlook, Gmail, Firefox, entre outros, usam classificadores para filtrar (marcar) e-mails que seriam spam ou não spam. 12 13 Algoritmo: Árvores de Decisão Esse algoritmo é de classificação e é chamado de árvore, pois o nó raiz e os nós intermediários das árvores representam testes sobre um atributo, os ramos repre- sentam os resultados desses testes e os nós folhas, os rótulos de classe. Ele utiliza um gráfico ou modelo de decisões e suas possíveis consequências para a tomada de decisão, em que uma árvore de decisão é o número mínimo de perguntas que devem ser respondidas para avaliar a probabilidade de tomar uma decisão correta. Esse método permite a análise de um problema de uma forma estruturada para alcançar uma conclusão lógica. Classe A Classe B Atributo NãoSim Figura 7 – Representação gráfi ca de um modelo baseado em árvores Fonte: CASTRO, 2016 S S S S S N N NN N a < b a < c b < c a < c a < b b < c b < a b < a < cc < a < b a < b < c a < c < b b < c < a c < b < a b < a c < aa < b a < c Figura 8 – Árvore de Decisão Fonte: Adaptado de LALAMA, 2014 13 UNIDADE Principais Algoritmos Figura 9 – Transformando dados de treinamento em árvore de decisão Fonte: LALAMA, 2014 Na Figura 9, o objetivo é que o algoritmo aprenda a identificar se a pessoa é um bom ou mau pagador. Exemplo de Aplicação da Árvore de Decisão para uma nova entrada de dados Figura 10 – Aplicação da Árvore de Decisão para uma nova entrada de dados Fonte: LALAMA, 2014 O algoritmo, quando percorre a árvore de decisão, atribui à classe (Mau Pagador) o valor NÃO. Algoritmo: Naïve Bayes Também é um algoritmo de classificação, usado para predizer a probabilidade de pertinência de um objeto à determinada classe. É uma das maneiras de lidar com tarefas preditivas em extração do conhecimento de dados, e é útil quando as informações disponíveis são incompletas ou imprecisas. Apresentam alta precisão e velocidade de processamento quando aplicados a grandes bases de dados. 14 15 Exemplos de Usos do Algoritmo Naïve Bayes • Para marcar um e-mail como spam ou não spam; • Classificar um artigo de notícias sobre tecnologia, política ou esportes; • Verificar um pedaço de texto expressando emoções positivas ou negativas; • Usado para software de reconhecimento facial. Teorema de Bayes Classificadores bayesianos são classificadores estatísticos e baseados no Teore- ma de Bayes (Métodos Probabilísticos Bayesianos): a probabilidade de um evento A dado um evento B não depende apenas da relação entre A e B, mas também da probabilidade de observar A independentemente de observar B. Probabilidade de ocorrer o evento A, dado que foi observado o evento B: P(A|B), onde A representa a classe e B o valor observado dos atributos para um exemplo de teste. Exemplo: • P(A) = probabilidade de ocorrência de uma determinada doença; • P(B) = probabilidade de resultado num exame de raio X; • Sendo a variável A não observável e diante da evidência do resultado do exame de raio X, podemos inferir o valor mais provável de A estimando. Aprendizagem Bayesiana Tabela 3 Doença Presente 8% Ausente 92% Quantitativa (a probabilidade, a princípio, de observar a doença): • P (Doença = Presente) = 0,08; • P (Doença = Ausente) = 0,92. Tabela 4 Doença Teste Presente Ausente Positivo 75% 4% Negativo 25% 96% Probabilidades condicionais (a partir de experiências passadas na utilização do teste): • P (Teste = Positivo |Doença = Presente) = 0,75; • P(Teste = Negativo |Doença = Ausente) = 0,96. 15 UNIDADE Principais Algoritmos Qual é o poder preditivo do teste com respeito à doença? Se A e B são eventos disjuntos, então P A B P A P B( ) ( ) ( )� � � Lei da probabilidade total: P A P A B X P B i i i( ) ( | ) ( )� � � 1 � Lei da probabilidade condicional: P A B P A B P B ( | ) ( ) ( ) � � Dedução: P A B P B A P A B P B P A B P B A P A p A B P B A P A ( ) ( ) ( | ) ( ) ( ) ( | ) ( ) ( | ) ( | ) ( ) � � � � � � � PP B( ) Já que P(A) = P(A|B) X P(B), então: • P (Teste = Positivo) = P(Teste = Positivo |Doença = Presente) X; • P (Doença = Presente) + P(Teste = Positivo |Doença = Ausente) X; • P (Doença = Ausente) = 0,75 X 0,08 + 0,04 X 0,92 = 0,0968. O problema de Inferência e o Teorema de Bayes: a sua aplicabilidade é reduzida devido ao grande número de exemplos necessários para calcular, de forma viável. Exemplo do Processode Classificação de um Novo Objeto Utilizando o Algoritmo Naïve Bayes Para esse exemplo, será utilizada a base de Carros. Tabela 5 Compra Manutenção Portas Passageiros Bagageiro Segurança Aceitabilidade 1 1 2 6 1 1 1 1 4 3 4 1 1 1 1 3 4 6 3 2 2 1 4 5 6 2 2 2 3 4 3 4 1 3 3 4 3 2 4 1 3 3 3 3 2 4 3 3 4 3 4 4 6 3 3 4 Essa base já passou pelo pré-processamento e possui 1728 registros de carros em seis atributos que visam determinar a aceitabilidade de cada veículo. Os atribu- tos são: • Preço de compra: {muito alto = 1, alto = 2, médio = 3, baixo = 4}; • Preço de manutenção: {muito alto = 1, alto = 2, médio = 3, baixo = 4}; • Número de portas: {2, 3, 4, 5, mais = 5}; 16 17 • Passageiros: {2, 4, mais = 6}; • Tamanho do bagageiro: {pequeno = 1, médio = 2, grande = 3}; • Segurança: {baixa = 1, média = 2, alta = 3}; • Aceitabilidade: {inaceitável = 1, aceitável = 2, bom = 3, ótimo = 4}. Considere as probabilidades para cada classe, sendo: • P(inaceitável) = 0,700; • P(aceitável) = 0,222; • P(bom) = 0,040 e • P(ótimo) = 0,038. O objetivo é classificar o objeto x descrito pelos seguintes atributos: compra = médio; manutenção = médio; portas = 4; passageiros = 4; bagageiro = médio; e segurança = média. Partindo dos dados de entrada, o algoritmo calcula a probabilidade de o objeto x pertencer a cada classe: • P(x|inaceitável) × P(inaceitável) = (0,221 × 0,221 × 0,241 × 0,258 × 0,324 × 0,295) × 0,700 = 2,04 × 10-4 • P(x|aceitável) × P(aceitável) = (0,299 × 0,229 × 0,266 × 0,516 × 0,352 × 0,469) × 0,222 = = 4,50 × 10-4 • P(x|bom) × P(bom) = (0,333 × 0,333 × 0,261 × 0,522 × 0,348 × 0,565) × 0,040 = 1,19 × 10-4 • P(x|ótimo) × P(ótimo) = (0,400 × 0,400 × 0,308 × 0,462 × 0,385 × 0,000) × 0,038 = 0,000 Para determinar a classe do objeto x, basta encontrar a probabilidade máxima dada pelo algoritmo, que é 4,50 × para a classe aceitável. A tabela abaixo mostra as probabilidades calculadas pelo algoritmo, de um obje- to pertencer a cada classe. Tabela 6 Atributo Valor Classe Inaceitável Aceitável Bom Ótimo Compra muito alto 0,298 0,188 0,000 0,000 Compra alto 0,268 0,281 0,000 0,000 Compra médio 0,221 0,299 0,333 0,400 Compra baixo 0,213 0,232 0,667 0,600 Manutenção muito alto 0,298 0,188 0,000 0,000 Manutenção alto 0,260 0,273 0,000 0,200 Manutenção médio 0,221 0,299 0,333 0,400 Manutenção baixo 0,221 0,240 0,667 0,400 17 UNIDADE Principais Algoritmos Atributo Valor Classe Inaceitável Aceitável Bom Ótimo Portas 2 0,269 0,211 0,217 0,154 Portas 3 0,248 0,258 0,261 0,231 Portas 4 0,241 0,266 0,261 0,308 Portas 5 ou mais 0,241 0,266 0,261 0,308 Passageiros 2 0,476 0,000 0,000 0,000 Passageiros 4 0,258 0,516 0,522 0,462 Passageiros mais 0,266 0,484 0,478 0,538 Bagageiro pequeno 0,372 0,273 0,304 0,000 Bagageiro médio 0,324 0,352 0,348 0,385 Bagageiro grande 0,304 0,375 0,348 0,615 Segurança baixa 0,476 0,000 0,000 0,000 Segurança média 0,295 0,469 0,565 0,000 Segurança alta 0,229 0,531 0,435 1,00 Algoritmo k-Vizinhos Mais Próximos – k-Nearest Neighboors (k-NN) Esse é um algoritmo de classificação e regressão. Todas as instâncias corres- pondem a pontos em um espaço n-dimensional. A vizinhança definida por uma função de distância, ou por uma função de similaridade, ou seja, quanto menor a distância, maior é similaridade. A definição da classe de um novo exemplo ocorre a partir dos vizinhos mais próximos. Os dados são extraídos de um banco de dados de m linhas classificadas em (a1,...,an,C). Uma linha X = (x1,...,xn) não classificada. Os valores dos atributos são normalizados. Sendo que o Valor normalizado = (v.real - MinA)/(MaxA – MinA). Calcula-se a distância de X a cada uma das linhas do banco de dados. Analisa-se um as k linhas do banco de dados mais próximas de X. A classe de X é a classe que aparece com mais frequência entre as k linhas mais próximas de X. Figura 11 – Diferentes Valores de k Fonte: Monteiro, 2013 18 19 Observe na figura 4, que para a seleção de vizinhos varia de acordo com a quantidade de k. Além disso, verifique que as linhas selecionadas estão sempre próximas/vizinhas de k. Entretanto, alguns questionamentos podem surgir: • Como calcular a distância entre duas tuplas? » Se os atributos forem contínuos: calcule a distância Euclidiana » Fórmula da distância Euclidiana: d(x,y) = √ Σni =1 (xi – yi)2 » Se os atributos forem categóricos: » Se xi = yi então xi – yi = 0 » Se xi e yi são distintos: xi – yi = 1 • Como lidar com valores incompletos (ausentes) ao calcular a distância entre duas tuplas X e Y ? » Se xi e yi são ausentes: xi – yi = 1 » Se xi é ausente e yi não: xi – yi = max { |1 – yi|, |0 – yi| } » Como determinar o melhor valor de K (=número de vizinhos) ? » É obtido através da repetição dos experimentos. Aprendizado Não Supervisionado Ao contrário do supervisionado, esse tipo de aprendizado não possui exemplos para comparar seu erro, sendo baseado na auto-organização. O indutor analisa os exemplos fornecidos e tenta determinar se alguns deles podem ser agrupados de alguma maneira, formando agrupamentos ou clusters. Após a determinação dos agrupamentos, em geral, é necessário uma análise para determinar o que cada agrupamento significa no contexto problema sendo analisado. A aprendizagem não supervisionada consegue trabalhar com dados não rotula- dos, ou seja, não informamos ao algoritmo o que é aquele dado de entrada. Exemplo de Aprendizado Não Supervisionado Um supermercado que deseja classificar seus clientes em categorias. O algorit- mo vai aprender a separar os dados em grupos semelhantes, sem dizer o que são esses grupos. Um possível resultado é um grupo de clientes que compram produtos frescos, e outro com clientes que compram produtos industrializados. Mas em ne- nhum momento foi ensinado ao algoritmo o que é um produto fresco ou o que é um produto industrializado. Se pensarmos em um exemplo de classificação de imagens, por exemplo, temos um modelo que aprendeu a classificar imagens entre dois grupos distintos. Ao rece- ber uma nova imagem, com base em suas características, ele identifica a qual grupo essa imagem pertence, sem saber e nem ter aprendido o que é aquele grupo. 19 UNIDADE Principais Algoritmos Tabela 7 Dados do Grupo de Imagens 1 Dados do Grupo de Imagens 2 Figura 12 Fonte: Getty Images Figura 13 Fonte: Getty Images Figura 14 – Nova Entrada de Dado Fonte: Getty Images Algoritmo de Aprendizagem Não Su- pervisionada, não sabe o que é pessoa e nem casa, mas por identificar as mesmas características consegue colocar o novo dado no grupo correto. Algoritmos de Agrupamento Esses algoritmos são necessários porque coletar e rotular bases de dados pode ser uma tarefa muito cara. Por exemplo, gravar voz é uma tarefa barata, no entanto, rotular todo o material gravado é uma atividade muito cara. Em muitos casos, não se tem conhecimento das classes envolvidas. Clustering Cada objeto começa como seu próprio grupo (cluster), os exemplos são colo- cados em grupos, que via de regra mostram alguma característica existente no mundo real que gerou os exemplos, fazendo com que alguns exemplos sejam mais similares entre si do que aos restantes. A cada processamento do algoritmo, os dois grupos (ou objetos) mais próximos (similares) são combinados em um novo grupo agregado. O número de grupos é reduzido em uma unidade a cada rodada do algo- ritmo. Ao final, todos os elementos são reunidos em um grande agregado. 20 21 Exemplo de Aplicação do Algoritmo de Clustering Tabela 8 Dados de Entrada Algoritmo de Clustering (formar grupos) Analisa características similares para formar os grupos Na primeira rodada, identifi ca 2 grupos com mesmas características Com bico Sem bico Na segunda rodada, identifi ca outros 2 grupos Água Terra 21 UNIDADE Principais Algoritmos Dados de Entrada Algoritmo de Clustering (formar grupos) No próximo processamento... Ovíparo Mamífero Para formar os grupos, o algoritmo de agrupamentotem por objetivo formar clusters homogêneos de forma que maximize a similaridade de objetos dentro de um mesmo cluster e,™ minimize a similaridade de objetos entre clusters distintos. Algoritmo K-médias (K-means) Também é um algoritmo de agrupamento, portanto, seu objetivo é identificar compo- nentes com as mesmas características e classificá-los no seu cluster/grupo correto. Consis- te em fixar k, de maneira aleatória, um para cada grupo (clusters), associar cada indivíduo ao seu K-centro mais próximo e, por fim, recalcular os centros com base nos indivíduos classificados. O resultado é apenas a pertinência final de cada padrão aos aglomerados (clusters), sabendo que o número de aglomerados permitido (k) deve ser definido. Etapas do Algoritmo K-Médias • 1ª Etapa: Os primeiros k centros dos aglomerados são escolhidos aleatoriamente; • 2ª Etapa: Atribuir a cada objeto do grupo o centroide mais próximo; • 3ª Etapa: Compute um novo centro para cada grupo (média dos valores de todos os objetos – centroide); • 4ª Etapa: Repetir os passos 2 e 3 até que os centroides não sejam modificados. Exemplo da aplicação do Algoritmo K-Médias X2 X1 Inicialização com A, F e E D G C B A E F Figura 15 22 23 Para os elementos A, B, C, D, E, F e G, é necessário identificar seus grupos (clusters), supondo que a condição inicial seja com os K-centros A, F e E. X2 X1 Grupo 3 Grupo 2 Grupo 1 A B C D E GF Figura 16 O Algoritmo apresenta os grupos, representados no gráfico acima: • O Grupo 1 com os elementos: {A, C, B}; • O Grupo 2 com os elementos: {D, E}; • O Grupo 3 com os elementos:{F, G}. Já quando mudamos a condição inicial, o resultado é alterado também: X2 X1 Inicialização com A, B e C A B C D E GF Figura 17 Perceba que, agora, os K-centros são A,B e C: 23 UNIDADE Principais Algoritmos Observe o resultado: X2 X1 Inicialização com A, B e C A B C D E GF Figura 18 Temos novamente 3 grupos, mas agora com o seguintes elementos: • Grupo 1:{A}; • Grupo 2:{C, B}; • Grupo 3: {D, E, F, G}. Aprendizagem por Reforço A aprendizagem por reforço é uma aplicação interessante para sistemas que não podem realizar aprendizado supervisionado, por não se ter uma fonte externa de conhecimento para informar os objetivos e as ações corretas, ou quando o domínio de aplicação não possibilita a realização de aprendizado não supervisionado. Essa abordagem de aprendizagem de máquinas tenta aprender qual é a melhor ação a ser tomada, dependendo das circunstâncias na qual essa ação será execu- tada, ou seja, é uma aprendizagem com base na interação com o ambiente. Não se diz qual ação o classificador deve tomar, o classificador tenta diferentes ações e escolhe aquela que oferece um melhor retorno, utilizando a técnica de tentativa e erro. Nessa aprendizagem, o algoritmo indica o caminho correto, mas não diz exatamente a resposta correta. Exemplo desse tipo de aprendizagem é como uma criança costuma realizar ações aleatórias e, de acordo com as respostas de seus pais (elogio ou reclamação), aprende quais daquelas ações são boas e quais são ruins. A aprendizagem por reforço é utilizada quando não se consegue obter exemplos de comportamento corretos para as situações que o agente enfrenta ou atuação em ambiente desconhecido. 24 25 Agente Aprendiz Estado Interno Percepções (s) Reforço (+/-) R (s,a) Ação (a) Ambiente Figura 19 – Componentes do Aprendizado por Reforço Conforme podemos ver na figura acima, o algoritmo do aprendizado por re- forço recebe as percepções do ambiente, escolhe uma ação, aplica essa ação no ambiente e recebe uma resposta. Se for uma reposta positiva, reforça essa ação novamente no ambiente, caso contrário, troca a ação. O reforço deve indicar o objetivo a ser alcançado. Por exemplo, em um jogo de damas, o reforço pode ser dado ao agente apenas ao final do jogo, sendo positivo quando o agente ganhar ou negativo quando perde ou empata. Com isso, o reforço está mostrando ao agente que seu objetivo é ga- nhar o jogo, e não perder ou empatar. 7 0 a1 a2 ana3 S1 S2 S3 ... ... ... Sn 2-3 Estado Atual Ação Selecionada Maior valor de Q (S2, a) Figura 20 – Ação Escolhida Verifique que, para cada estado, são realizadas várias ações. Note que, quando o resultado é negativo, troca-se a ação, ou seja, não é feito o reforço, já, quando o retorno é positivo, a ação é reforçada. Dessa forma, a ação selecionada é aquela que retorna o maior valor. 25 UNIDADE Principais Algoritmos Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Sites Machine Learning http://bit.ly/3222bbH Tipos de Aprendizagem de Máquina http://bit.ly/327tf9q Classificação: conceitos básicos e árvores de decisão http://bit.ly/323Wt98 Livros Banco de Dados: projeto e implementação MACHADO, F. N. R. Banco de dados: projeto e implementação. São Paulo: Érica, 2004. 398 p. As Ciências do Artificial SIMON, H. A. As Ciências do Artificial. São Paulo: Almedina, 1996. 351 p. Machine Learning MITCHELL, T. Machine Learning. Estados Unidos: MCGRAW-HILL Professio- nal,1997. 352p. Projeto de Banco de Dados: uma visão prática MACHADO, F. N. R.; ABREU, M. P. de. Projeto de banco de dados: uma visão prática. 15 ed. São Paulo: Érica, 2007. 300 p. OCA Oracle Database 11G – Administração I WATSON, J. OCA ORACLE DATABASE 11G – Administração I. São Paulo: Bookman Companhia, 2009. OCP Oracle Database 11G – Administração II BRYLA, B. OCP ORACLE DATABASE 11G – Administração II. São Paulo: Bookman Companhia, 2009. OCA Oracle Database 11G – Fundamentos I ao SQL RAMKLASS, R.; WATSON, J. OCA ORACLE DATABASE 11G – Fundamentos I ao SQL. Rio de Janeiro: McGraw Hill Professional, 2008. 581 p. Projetando e Administrando Banco de Dados SQL Server 2000 .net: Como Servidor Enterprise PATTON, R.; OGLE, J. Projetando e Administrando Banco de Dados SQL Server 2000.net: Como Servidor Enterprise. Tradução de Andréa Barbosa Bento; Cláudia Reali; Lineu Carneiro de Castro. Rio de Janeiro: Alta Books, 2002. 792 p. 26 27 Referências BECKER, J. L. Estatística básica: transformando dados em informação. Porto Alegre: Bookman, 2015. CASTRO, L. N. de. Introdução à mineração de dados: conceitos básicos, algo- ritmos e aplicações. São Paulo: Saraiva, 2016. DATE, C. J. Introdução a sistemas de bancos de dados. Tradução [8th. ed. Americana] de Daniel Vieira. Revisão técnica Sérgio Lifschitz. Rio de Janeiro: El- sevier, 2003. 865 p. ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6.ed. São Paulo: Pearson, 2011. _______. Sistemas de Banco de Dados. Tradução de Marília Guimarães Pinheiro et al. Revisão técnica Luis Ricardo de Figueiredo. 4. ed. São Paulo: Pearson Addi- son Wesley, 2005. 724 p. GILLENSON, M. L. Fundamentos de sistemas de gerência de banco de dados. Tradução de Acauan Fernandes; Elvira Maria Antunes Uchoa. Rio de Janeiro: LTC, 2006. 304 p. KWECKO, V. et al. Ciência de dados aplicada na análise de processos cognitivos em grupos sociais: um estudo de caso. In: Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação-SBIE). 2018. p. 1543. SILBERSCHATZ, A., KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. Tradução de Daniel Vieira. Revisão técnica Luís Ricardo de Figueiredo; Caetano Traina Junior. 3. ed. São Paulo: Pearson Makron Books, 2007. 778 p. 27
Compartilhar