Peneiramento de dados;
-
Clientes: Objeto de pesquisa, fontes de dados;
-
Robôs (Bot do sistema): Testa tendências de compras, interesse (produto comprado = 1 ponto);
-
Feedback: Seletor de dados;
-
Data Mining: Produzir conhecimento novo escondido em grandes bases de dados;
-
KDD: Knowledge Discovery in Databases;
-
Professor (Test the bots) -> Alunos (Bots) -> Seleção dos melhores alunos (Select and dispose of faulty bots)
Precisam ser:
- Úteis: Ponto em que a descoberta ajuda a responder os objetivos inerentes
- Interpretáveis: Padrões compreensiveis
- Válidos:
- Novo, desconhecido
Manipulação de cluster de dados em busca de padrões satisfatórios referentes ao problema apresentado, com interpretação dependende do analista (não completamente eficaz ou crédivel)
-
Dados: Matéria prima, sem caracter informativo;
-
Informação: Tratamento, seleção e organização dos dados em um determinado contexto;
-
Conhecimento: Formado por informações já tratadas, afim de originar informações novas;
-
Seleção -> Limpeza -> Transformação -> Mineração -> Análise do Resultado;
-
Supervisionada: Problemas de classificação. Necessita de supervisor (professor, seletor, aluno), testes para classificação e seleção de 'alunos' (bots). Utiliza grupos controlados. Tipos de dados semelhantes e conhecidos para o desenvolvedor;
-
Atributo Classe: Resposta (Ultima coluna da grade dados);
-
Linha da grade: Representa cada instância (cada teste efetuado);
-
-
Não-supervisionada: Problemas de agrupamento (cria grupos homogeneos), sem saída "correta", desempenho é medido pela semelhança entre os dados em cada grupo individual (sem supervisor/professor). Dificilmente há um grupo ideal para testagem, portanto demanda muito experimento.
- Similaridade entre dados: Medida com base em 'distância' dos dados (diferença da semelhança).
-
Reforço: Utilizado em problemas onde não se sabe qual a saída correta (bonificação, punição), ensina o algoritmo qual ação ele deve priorizar para determinada situação (testando se ação foi positiva ou não e seu contexto).
-
Treinamento:
- Exemplos são apresentados ao sistema, para o aprendizado do bot, enquanto o sistema modifica gradualmente os parametros da saida de maneira à se aproximar da sáida desejada que ele quer do bot.
-
Teste/Validação:
- Exemplos novos são dados, bot verifica e identifica exemplos, taxa de acerto é calculada. Verifica se o bot não está apenas memorizando, ao invés de aprender;
-
Corretos;
-
Faltantes;
-
Imprecisos;
-
Incorreto;
-
Aprender = Mudar para fazer melhor quando uma situação similar acontecer, qualidade de se adaptar à mudanças;
-
Aprendizagem != Memorizar. Um computador precisa generalizar um compartamento para uma nova situação;
3 Características principais:
-
A classe das tarefas;
-
A medida de performance a ser melhorada;
-
A fonte de experiência e conhecimento;
-
Exemplo: Aprender a jogar damas
-
Tarefa: Jogar damas;
-
Medida de Performance P: % de jogos ganhos contra oponentes;
-
Experiencia de treinamento E: Jogando contra si mesmo.
-
- Holdout para divisão da base
- Base de treinamento é submetida ao algoritmo
- Algoritmo é alimentado com amostras
- Valor k (preferencialmente impar) para definir numeros de amostras mais proximas selecionadas
- Medida de distância utilizada para definição de proximidade (euclideanea)
- v(x1 - x2) 2 + (y1 - y2) 2 + ...
- Algoritmo preguiçoso = Armazena toda a base na memoria, ao inves de criar um modelo com um conjunto de regras. Testa amostra por amostra
- Seleciona classes presentes e define uma classe dominante (utilizada para saber se acertou ou errou)
- Verifica classe da amostra com a classe prevista para definir se é correta ou falsa
-
Inferência Indutiva: Prediz classe com base em treinamento prévio
- nó da arvore é representado por um atributo
- ramos são valores possíveis
- entropia define quais valores são uteis para ramificação
- no fim dos ramos se define a classe do possivel caminho
- classe final é comparada com classe de base de treinamento
- Entrada: conjunto de atributos
- Saida: Decisão (classe definida após sequencias de testes)
- não-preguiçoso: ele generaliza, aprende, criando um modelo e o estruturando em uma árvore
-
Atributos da árvore:
- Primeiro Nó: Raiz, Topo
- Nó interno: Corresponde a um teste do valor de uma propriedade (ex. atributo clima, humidade, etc)
- Ramificações: Quando existir mais de uma opção no valor que o atributo possui (sim ou não, etc.), rotulados com os resultados possiveis dos testes
- Nó terminal/folha: Nó que possui a linha classe (atribuida e comparada com instancia da base de teste)
-
Entropia: Calculo para definir pureza do dado (atributo)
-
Algoritmo ID3:
- Utiliza medida esatistica para escolha de atributo que melhor divide os exemplos de treinamento, utilizando do conceito de entropia
- Procura trazer ramos balanceados à árvore
- Subconjuntos puros: menos exemplos pertences a classes distintas (exemplos com unica classe possivel, sem muitos ramos)
- Caracteriza a homogenidade de um conjunto de exemplos (pertencente a um atributo)
- L = {p1, p2, p3, ...}
- Quanto mais distantes as amostras de uma a outra, maior a entropia
- O ideal para uma árvore de decisão é uma baixa entropia
- Entropia(s) = (+p) + (log2p+) - (p-) - (log2p-)
- +p = n° de classes positivas
- *p = n° de classes negativas
- Valores:
- 0: Todos membros tem a mesma classe (não é necessario ramificar)
- 1: Coleção com mesmo número de + ou - (exemplos bem defininos, necessario ramificar a arvore)
- Entropia precisa diminuir após cada ramificação, afim de generalizar (quanto mais proximo de uma folha, menor a entropia)
- Melhor atributo é o que tem maior ganho de informação (atributo que devolve os dados mais puros, com entropia menor)