Buscar

Modulo1 - Machine Learning

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ANALISTA DE MACHINE LEARNING
MÓDULO 1 – Introdução ao Aprendizado de Maquina
1.1 – Introdução da Inteligência Artificial
- Primeiro trabalho reconhecido como IA → Lógica Proposicional (Russel eWhitehead)
- Primeiro computador que processou algoritmo de rede neural (1951) → SNARC com 3000 válvulas
- Teste de Turing: um juiz analisa a troca de mensagens entre duas partes e obtem sucesso se o juiz nao consegue reconhecer se foi uma máquina ou não que enviou a mensagem
Fases da IA:
-Nascimento da IA (1956)
- Entusiasmo Inicial e Grandes Espectativas (1952-1969)
- Uma Dose de Realidade (1966-1973)
	- A IA no inicio resolveu problemas simples de forma muito satisfatoria e acreditou-se que ia 	ser facil resolver problemas mais complexos, mas observou o oposto
	- IA resolvia problemas experimentando diferentes combinações ate encontrar a solução
	- Principal critica a IA: incapacidade de conviver com a explosão combinatoria. Motivo para 	o governo britanico encerrar o financiamento
- Sistemas Baseados em Conhecimento (1969-1979)
	- Conhecidos como Sistemas Especialistas
- IA se Torna uma Industria (1980 até a atualidade)
	- se popularizou com melhora de hardware, maior memoria, cloud computing etc
1.2 – Introdução ao Aprendizado de Máquinas e Aplicações
- Quando é necessario usar o Aprendizado de Máquina?
	- Sempre que nao for possivel escrever um algoritmo deterministico para resolver o problema
- Aprendizagem de Maquina é voltada a problemas não deterministicos
- Aprendizagem nao é memorizar, deseja-se generalizar um comportamento diante de uma nova situação
- Assim, espera-se apresentar um problema para a maquina sem saber realmente o resultado final, e a maquina mostra o resultado.
- O aprendizado de maquina ocorre por meio de exemplos “mostrados” para a maquina e busca a generalização.
Por exemplo, é mostrado diversas especies de arvores e caracteristicas basicas de uma arvore, e busca-se generaliar o que é uma arvore para quando uma maquina “vê” uma arvore, reconhecer que é uma árvore
- Atualmente, é dificil fazer um computador generalizar conceitos
Fases do Aprendizado de Máquina
1. Treinamento: são apresentados exemplos para o sistema, o sistema aprende com os exemplos, o sistema modifica os parametros ajustaveis, a saida se aproxima do desejado
2. Utilização: Apresentar exemplos desconhecidos para o computador
1.3 – Formas de Aprendizado
Formas de Aprendizado
1. Supervisionado
2. Não Supervisionado
3. Por Reforço
Aprendizado Supervisionado
- precisa enviar exemplos para o computador
- é dito que é eficiente, pois o sistema trabalha com os resultados corretos
- é útil para classificação, regressão, estimativa de probabilidade condicional
- entrada com dados de entrada e saida para maquina aprender
- após são realizados fase de teste, com dados de entrada que a maquina nunca viu, e espera os dados de saida
Aprendizado Não-Supervisionado
- o algoritmo reconhece o padrão nos dados de entrada
- a resposta nao é dada
- as classes nao sao conhecidas
- descoberta do conhecimento
- “autodidata”
- informa apenas os dados de entrada e deixa o algoritmo se “virar” para tentar dar uma solução
- é útil para reconhecimento de faces e manuscristos, finanças, predição de trafego, jogos e controles de robos
Aprendizado por Reforço
- o objetivo é obter a mais alta recompensa
- Ao fim o próprio algoritmo identifica os problemas e soluções de acordo com as recompensas obtidas
1.4 – Overfitting e Underfitting
Overfitting / Sobreajuste
- quando o modelo estatistico se ajusta de forma excessova ao conjunto de treino
- o algoritmo “presta muita atenção” nas particularidades dos dados de treinamento e nao consegue generalizar muito bem
- quando os resultados sao bons com os dados de treinamento, mas nao tão bom com os dados reais
Ex. um aluno que memorize a materia de uma prova sema realmente entender o conteudo. Se o professor alterar um pouco asquestoes, o aluno não sabera o que fazer
- ocorre quando é utilizado um conjunto muito grande de exemplos com pouca variação entre as classes
- Erro baixo (precisão) com os casos de aprendizagem, alto erro quando casos de teste
Verificando Overfitting
- Divida o conjunto de dados em dois conjuntos (treino e teste)
- Treine o modelo (executar o algoritmo) com os dados de treinamento
- Avalie o modelo com os dados de treinamento (pode utilizar graficos)
- Avalie o modelo com os dados de teste (pode utilizar graficos)
- A diferença entre as duas avaliações vai mensurar a habilidade em generalizar
Causas do Overfitting
- Ruídos no conjunto de dados de treinamento
- Conjunto de dados que nao representa de forma adequada a base completa
- Base de treinamento pequena demais
Underfitting / Subajuste
- Apresenta problemas no proprio conjunto de dados de treinamento
- Erro elevado na aprendizagem e no teste
- É um complemento do overfitting
* Um bom modelo seria:
1.5 - Dimensionalidade e Definição de Problemas
- A medida que aumenta a quantidade de caracteristicas/atributos, aumenta a área de dimensão da análise → se torna mais dificil a aprendizagem
Ex. um conjunto de dados é descrito com 30 atributos, porém apenas 3 são relevantes para o algoritmo
- o desempenho de um algoritmo tende a reduzir a medida que aumenta quantidade de atributos, ainda que atributos relevantes
- cada atributo adicionado é uma dimensão no espaço de caracteristicas
Redução da dimensionalidade pode trazer beneficios
- utilizar os atributos mais relevantes e se possivel pequeno numero de atributos
- tentar compor atributos, ex.: invés de usar os atributos massa e volume pode-se usar a densidade
- Vantangens: melhora a eficacia, reduz tamanho da amostra, simplifica modelo e interpretação
- Um programa de computador aprende a partir de uma experiencia E, com uma classe de tarefas T, uma medida de desempenho P
Ex.:	Tarefa T: aprender a jogar xadrez
	Medida desempenho P: percentual de jogos ganhos contra adversarios
	Experiencia de Treinamento E: jogar contra si mesmo ou memorizar movimentos de jogadores
1.6 – Projetando um Sistema de Aprendizagem
Etapas para projetar sistema de aprendizagem (pontos Fundamentais)
1. Escolha da experiencia de treinamento (de onde vai pegar o conhecimento)
2. Escolha do objetivo (função objetivo) → o que quer alcançar?
3. Escolha de uma representação da função objetivo
4. Escolha de um algoritmo para a função de aproximação
1. Experiencia de Treinamento
- Tipo de treinamento pelo qual o sistema aprenderá
- Grau de controle sobre treinamento (supervisionado ou nao-supervisionado)
2. Função Objetivo
- Que tipo de conhecimeto será aprendido?
- Como será usado pelo sistema?
3. Representação da Função Objetivo
- Deve-se escolher a representação que o programa de aprendizagem usara para descrever a função V
- Pode utilizar redes neurais, funções polinomiais, coleção de regras
4. Algoritmo para a Função de Aproximação
- Para aprender a função V’ precisamos de um conjunto de exemplos para treino
- Cada exemplo descrevendo um estado K especifico do tabuleiro
- É fácil atribuir valores para estados do tabuleiro correspondentes ao final do jogo
- É mais dificil atribuir valores para os numerosos estados intermediarios
https://www.infoq.com/news/2019/11/landscape-ai-vr/
https://becominghuman.ai/immersive-virtual-reality-ai-and-its-near-coming-effects-40f530efe7e0
1.7 – Pré-Processamento e Extração de Caracteristicas
Característica: atributo utilizado na descrição de um padrão
Padrão: objeto, comportamento, situação
Descrição: Ex.: padrão pessoa (dados de uma instância), 1,60 de altura, feminina
- Extrair características é um processo e tem objetivo de caracterizar objetos
- Verificar atributos que são similares para objetos da mesma classe, bastante diferentes para objetos de outras classes
- As caracteristicas devem ser discriminantes (de alguma forma conseguir descrever essa caracteristica) e invariantes (não deve alterar dentro da classe)
- Objetos devem ser reconhecidos independente de rotação, translação, escala, etc
- Modelos exigem que ascaracteristicas sejam normalizadas
- A caracteristica é qualquer medida que se possa extrair de um objeto (simbólica, munérica continuas, discretas, binarias)
- Os dados podem estar incompletos, ausencia de valores, ruidosos (valores fora do normal), inconsistentes
- Alguns algoritmos de Machine Learning são mais indicados para determinadas caracteristicas
Extração de Caracteristicas
- Extração Global: maneira holistica, forma como humanos reconhecem objetos
- Extração Local: segmentar o objeto em partes menores e idnetificar a estrutura e então extrair parte do interesse
- Maior parte das coisas é definida por padrões
Pré-Processamento
- Limpeza dos Dados:
	- Prenencher dados ausentes
	- Remover ruídos (valores absurdos)
	- Resolver inconsistencias
- Integração e Transformação dos Dados
	- Integrar bases diferentes
	- Dados externos
- Normalização e Agregação
	- Redução do volume de dados
	- Remover redundâncias e dados similares
	- Agregar dados similares
- Para Dados Numéricos
	- Criar categorias de valores possiveis
- Clustering (Agrupamento)
	-Detecção de valores absurdos
	-Valores são organizados em grupos de acordo com caracteristicas
	-Valores isolados podem ser considerados absurdos e eliminados ou marcados
- Normalização
	-Remover problemas com o uso de unidades distintas entre variaveis
	-Variaveis normalizadas de acordo com criterios
1.8 – Aplicação de Pré-Processamento dos Dados
- plataforma Kaggle → plataforma e comunidade voltada para machine learning contendo milhares de codigos e datasets
2.1 – Classificação
- Tem o objetivo de construir um modelo que seja capaz de classificar automaticamente novos objetos em função de suas caracteristicas
- Esse modelo criado é chamado de classificador
Tem mais conteúdo no arquivo no laptop
2.2 – Agrupamento (Clusters)
- dividir automaticamente um conjunto de objetos em grupos (clusters)
- Divisão ocorre segundo algum tipo de relacionamento de similariedade
- As classes podem não ser conhecidas
- O algoritmo tenta encontrar similariedades entre os objetos e faz a clusterização
- O aprendizado do algoritmo é não-supervisionado
- Cada grupo deve ser exclusivo
- Cada instancia pertence a apenas um determinado clusterização
- Há uma abordagem probabilistica: cada instancia possui a probabilidade de pertencer a cada grupo
- Algoritmo mais comum é o K-médias
- Como é o algoritmo que faz a clusterização, pode ser que ele consiga encontrar alguma similaridade que nem haviamos pensado (insight)
- Clusterização é algo bem subjetivo
Aplicações de Cluster
- Identificação de clientes similares
- Agrupar pacientes com mesmos sintomas
- Marketing
- Classificação de documentos
2.3 – Regressão
- Utilizada quando deseja prever/estimar um valor numerico
- Usada para predição de valores
- Geralmente consiste em encontrar uma relação entre um conjunto de dados de entrada e uma saida numérica
Aplicações:
- Determinada rede de lojas deseja prever qual será a quantidade de vendas de um produto com base nos meses anteriores
- Previsão de demanda
- Previsão do tempo
- Bolsa de valores
Regressão Linear
- equação para estimar o valor esperado de uma variavel y, onde seja dado os valores de algumas variaveis x
Regressão Não Linear
- Depende de uma ou mais variaveis independentes
- Os dados são ajustados por um metodo de aproximação sucessiva
2.4 – Reconhecimento de Padrões
- “Área de pesquisa que tem objetivo de classificar objetos (padrões) em um número de categorias ou classes”
- É o ato de observar os dados brutos e tomar uma ação baseada na categoria de um padrão
- O algoritmo tenta identificar caracteristicas nas instancias e separar em classes/padrões
- Está diretamente ligado a técnica de classificação e clusterização
Pode-se:
- Atribuir um padrão a um conjunto desconhecido de classes de padrões (clustering)
- Identificar um padrão como membro de um conjunto de padrões conhecidos (classificação)
Algumas Aplicações
- Indentificação de suspeito por meio de digitais ou reconhecimento facial
- Reconhecida de uma palavra em um texto cursivo
- Reconhecimento de caracteres
2.5 – Sistemas de Recomendações
- Sistemas que procuram auxiliar individuos a identificarem conteudos de interesses em um conjunto de opções
- São sistemas que procuram facilitar a atividade de busca por conteudo interessante
- Auxiliam no processo de indicação já existente nas relações sociais
- É bastante importate tomar cuidado na construção desses sistemas, pois receber recomendações que não interessem pode atrapalhar toda a experiencia do usuario 
- Principal função é analisar os dados de um problema e extrair informações úteis para futuras predições
- Muito utilizado em experiencia de usuarios
Ex: Netflix
- Faz recomendações com base na identificação de determinados parametros de produções ja assistidas
- Recomendações com base em um ator de um filme ja assistido pode nao ser uma boa escolha
 Atualmente utiliza um sistema de deep learning
- Leva em consideração o tempo que passa assistindo um filme, no tempo de procura em uma categorias
O sistema de recomendações precisa de, basicamente, duas coisas para poder funcionar de maneira apropriada:
- Informações sobre as preferencias dos usuarios
- Método para determinar se um dado item é interessante para um usuario
Meios de coleta de informações
- Login (identificar o usuário)
- Cookies das páginas navegadas
- Explicita: usuario indica o que é importante para ele
- Implicita: Inseiri uma pagina nos favoritos, movimentos e cliques do mouse, barra de scroll
- Análise de logs
Filtragem Colaborativa (Collaborative Filtering)
- Processo de filtrar informações ou padrões usando técnicas que envolvem colaboração de multiplos agentes
- Pontos de vista, fontes de dados, etc
- Algoritmos utilizados: K-Nearest Neighbour; Algoritmos baseados em clusterização; Algoritmos baseados em regressão
Desafios
- Aumentar qualidade das recomendações (+ confiáveis e assertivas)
- Atualmente, os algoritmos procuram em dezenas de milhares de vizinhos. O ideal é que procure em dezenas de milhões de vizinhos
2.5 – Processamento e Mineração de Textos
- é uma evolução da área de Recuperação da Informação (R.I.)
- Mineração de textos (text mining) é um processo de descoberta do conhecimento
- Aplica algoritmos que processam textos e identificam informações uteis e implicitas
- Utiliza técnicas de analise e extração de dados a partir de textos completos, frases, simples palavras
- Geralmente esses textos estão armazenados em formato não estruturados
- Essas informações normalmente não podem ser recuperadas utilizando metodos tradicionais de consulta
- Aplicações:
	- Busca especifica em documentos
	- Análise quantidade e qualitativa de grandes volumes de textos
	- Melhor compreensão de textos disponiveis em documentos
	- Inteligencia Competitiva
	- Análise e extração de infos em contratos
	- Direito (textos juridicos, relatorios policiais, depoimentos etc)
	- Registros de prontuarios, pesquisas de doentes etc
	- Termometro de alguns assuntos na internet
Possivel buscar em Textos em:
- emails
- arquivos em pdf, doc, txt etc
- Páginas web
- Campos textuais de banco de dados
- Textos digitalizados de documentos fisicos
* Atualmente a mineração de textos pode ser chamada de descoberta de conhecimento em textos
Fases da Mineração de Textos
1. Coleta: Formação da base de documentos
2. Pré-Processamento: Limpar a base de dados com informações nao relevantes
3. Indexação: Objetivo de acessar rapidamente partes do texto
4. Mineração: Aplicação de algum algoritmo
5. Análise: Leitura e Interpretação dos dados de forma legivel para os humanos
Técnicas de ML para aplicação
- Cadeias de Markov
- Máquinas de Vetor de Suporte (SVM)
- Naive Bayes
2.7 – Análise de Sentimentos
- Ligado a mineração de textos
- Analise de informações disponibilizadas por empresas e usuarios, por suas opiniões, experiencias
- Busca informações em sites pessoais, redes sociais
- Tenta buscar o sentimento de pessoas em relação a um assunto
- Essa análise visaidentificar o sentimento que os usuarios apresentam a respeito de uma entidade de interesse (produto, empresa, lugar etc)
- Também visa permitir que o usuario obtenha um relatorio contendo o que as pessoas andam dizendo sobre algo, se é positivo, negativo ou neutro
- Pode ser utilizado como um “termometro”, um compilado sobre determinado assunto
Ex: Informações compiladas:
Aplicação
- Empresas querem saber como anda sua reputação
- Assuntos politicos
- Doenças
- Criação dos Observatórios
Etapas da Analise
1. Coleta do conteudo
2. Classificação (opinião positiva, negativa ou neutra)
3. Sumarização dos resultados (apresentação dos resultados, textuais ou graficos)
2.8 – Métodos Ensembles
- Utilizado para tomadas de decisão
- Busca uma segunda, terceira ou quarta opiniões
- É atribuido valores/pesos para cada uma das opiniões
- Com uma combinação das opiniões, espera obter a opinião mais bem informada de todas
- A ideia é de que o sistema divida o problema em porções menores e mais faceis de aprender por diferentes classificadores
- A ideia é fazer uma combinação dos diferentes classificadores → Fusão dos Dados
- Esse método é uma alternativa para a criação de classificadores mais precisos
3.1 – Introdução a Redes Neurais Artificiais
- Redes neurais apresentam um modelo matematico inspirado na estrutura real de organismos inteligentes
- Adquirem conhecimento por meio da experiencia
- Podem possuie centenas milhares de unidades de processamento
Rede Neural Artificial
- Composta por varias unidades de processamento
- Essas unidades sao conectadas por canais de comunicação associados a pesos
- Operam apenas sobre seus dados locais, recebidos pelas conexões
- Cada neuronio é responsavel apenas pelo processamento de suas entradas, e não interferem em nada no processamento de outros neuronios
- Cada sinal (entrada) é multiplicado por um peso
- É feita uma soma pondedara dos sinais que produzem um nivel de atividade
- Se esse nível exceder o limite, a unidade produz determinada resposta de saida
- Um neuronio é formado por: entradas, pesos para cada entrada, o somatório a, p limiar t, e a saída
- Combinando diversos neuronios podemos criar uma Rede Neural Artificial (RNA)
- As entradas (estimulos) podem ser conectados em diversos neuronios
- Assim, pode-se obter uma séries de saídas
 ** O objetivo das conexões é transformar o sinal de saida de um neuronio em um sinal de entrada em outro
- Ou gerar um sinal de saida para o mundo externo
- As difrerentes formas de conectar os neuronios podem gerar n números de estruturas diferentes
Classificação das Camadas da RNA
- Camada de Entrada: os padrões são apresentados à rede
- Camadas Intermediárias ou Escondidas: É feita a maior parte do processamento
- Camada de Saída: resultado final é concluido e apresentado
Aplicação
- Robótica
- Classificação de dados
- Análise de imagens e voz
- Avaliação de crédito
3.2 – Tipos de Redes Neurais
Perceptron com Uma Camada
- Todas as entradas são conectadas diretamente nas saidas
- Estrutura mais simples de RNA
- Não apresenta camadas Intermediarias
- Utilizada para classificação de padrões linearmente separaveis
Perceptron Multicamadas
- Multiplas camadas de unidades computacionais
- Geralmente conectadas no formato feedforward
- Neuronios de uma camada tem conexões com neuronios da proxima camada
- Apresentam um poder computacional muito maior
- Tratam dados que nao são linearmente separaveis
- Teoricamente as redes com mais de uma camada podem implementar qualquer função. Linearmente separável ou não
- Cada camada escolhida representa uma função de ativação no espaço de entradas
- Uma unidade de saida é vista como uma combinação de funções
Perceptron Multicamada Retropropagation (backpropagation)
- Algoritmo para treinamento de redes neurais multicamadas
- Um sinal de erro é calculado na saida da rede e propagado no sentido inverso, camada a camada
- Baseado nos valores esperados que já foram determinados no treinamento, calcula-se o erro
- Ao final os pesos são ajustados de acordo com uma regra de correção de erros
- Esse tipo de rede pode demandar um longo tempo de treinamento
Rede Hopfield
- Rede de camada única com retroalimentação
- Cada unidade se liga a todas as outras
3.3 – Deep Learning
- Aprendizado Etruturado Profundo
- Aprendizado Hierárquico
- Ramo da ML baseado em um conjunto de algoritmos que tebtam modelar abstrações de alto nivel de dados usando um grafo profundo com varias camadas de processamento
- Comsposto de varias transformações lineares e nao lineares
- Treinar redes neurais que realizam o aprendizado de caracteristicas de forma hierarquica
- É realizado a busca por partes, de forma hierarquica, até chegar no resultado desejado
- É como se cada camada estivesse buscando uma caracteristica do objeto e ao final junta todas os resultados obtendo o resultado final
Expressividade: é possível modelar uma função altamente não linear formada por uma hierarquica de funções nao lineares mais simples
- Cada função é uma camada e ao final gera um resultado baseado nos resultados obtidos em cada uma das funções mais simples
Aplicação
- Reconhecimento Facial
- Classificação de doenças
- Carros automatos
- Visão Computacional
- Processamento de Linguagem Natural
- Base Google Translate e Cortana
3.4 – Agricultura Pecuária de precisão: Aplicação
- Software para desenvolver algoritmo para ML, usando linguagem Python:
 Spyder → Scientific Python Development Environment
4.1 – Árvores de Decisão
- Modelos estatisticos com treinamento supervisionado para classificação e previsão de dados
- Utilizam a estratégia de dividir para conquistar
- Um problema mais complexo é dividido em subproblemas mais simples
- São algoritmos de inferencia, pode-se extrair regras do tipo se-então → utilizados nos sistemas especialistas
- Capacidade da técnica vem da divisão do espaço em subespaços → Caa um deles é associado a uma classe
- Utilizado para recomendações, e tomadas de decisão
- Cada nó contém um teste em um atributo
- Cada ramo corresponde a um possivel valor desse atributo
- Cada nó-folha esta associado a uma classe
- Cada percurso na arvore (raz até folha) corresponde a uma regra de classificação
Aplicação
- Diagnóstico de equipamentos
- Diagnóstico médico
- Análise de Crédito
- Decisões em Compra e Venda
Entropia
- Grau de pureza de um conjunto
- Medida que caracteriza a aleatoriedade (impureza) de um coleção arbitraria de exemplos
A função Entropia com a proporção P+ de exemplos positivos varia entre 0 e 1
Principais Algoritmos para Aplicar a Árvore de Decisão
- ID3: algoritmo recursivo (percorre a árvore de forma recursiva buscando o resultado que espera), baseado em busca exaustiva
- C4.5: utiliza técnica dividir para conquistar, baseado em busca exaustiva, lida com problemas em que os atributos possuem custos diferenciados
- CART: utiliza a pesquisa exaustiva, em arvores binarias
4.2 – SVM – Suport Vector Machines
- Método que tenta enncontrar a maior margem para separar diferentes classes de dados
- Aprendizado supervisionado
- Trabalha com classificação binaria – Tenta separar os objetos em duas classes
- Utilizado para reconhecimento de padroes
- Vem sendo utilizado com sucesso em problemas de categorização de texto (ex.: classsificar se é um texto jornalistico, ou juridico, ou um manual de instrução etc)
- Abordagem geometrica para o problema de classificação
- o Aprendizado consiste em dividir os elementos positivos dos negativos nesse espaço euclidiano
- A ideia é criar uma situação pegando esses objetos onde é possível dividi-los de forma linear
- é um algoritmo binario de classificação, onde o objetivo do SVN é separar esses dados em dois grupos. O SVM encontrará uma linha reta que separará esses pontos em dois tipos e situados o mais longe possivel desses pontos
- O objetivo é encontrar uma linha de separação (chamada hiperplano) entre duas classes
- Essa linhabusca maximizar a distancia entre os pontos mais proximos em relação a cada uma das ckasses
- Problemas comuns encontrados: outliers; exemplos rotulados erroneamente
- Em alguns problemas nao é possivel separar as classes linearmente (na realidade, a maioria dos problemas nao é linearmente separavel)
** Para se utilizar o SVM em multiplas classes é preciso transformar o problema em varios problemas de classes binarias
4.3 – Algoritmo KNN
- K-Nearest Neighbor (KNN)
- Aprendizado supervisionado
- É um dos algoritmos de classificação mais simples
- Usado para classificar objetos com base em exemplos de treinamento
- Amplamente utilizado
Para utilizar o KNN precisa
- Conjunto de exemplos de treinamento
- Definir uma metrica para calcular a distancia entre os exemplos de treinamento
- Definir o valor de K (o numero de vizinhos mais proximos que serão considerados)
- Tenta sempre que possível colocar um valor de K como um numero impar
4.4 – Naive Bayes
- Classificador probabilistico baseado no “Teorema de Bayers”
- Criado por Thomas Bayes (1701-1761) na tentativa de provar a existencia de Deus
- Algoritmo bastante utilizado
- o Algoritmo assume que uma caracteristica particular em uma classe nao esta relacionada com a presença de qualquer outro recurso
- Desconsidera a correlação entre as variaveis, sendo chamado de Naive (ingenuo)
Ex: Para um frupo ser considerado uma maçã:
- Deve ser vermelho
- Se é levemente redondo
- Se possui aproximadamente 3 polegadas
** Todas essas caracteristicas contribuem de forma independente para a probabilidade de que esse fruto seja uma maçã
O algoritmo calcula a probabilidade do objeto estar em determinada classe, utilizando o teorema de Bayes, e classifica o objeto de acordo com o valo obtido das probabilidades do objeto pertencer a determinada classe
- É um dos métodos mais utilizados
- Usado quando: Há disponibilidade de um conjuntode treinamento grande ou moderado os atributos que descrevem a classe forem independentes, dada a classe
4.5 – Comparação de Modelos
- Aula-video
5.1 – Principais Linguagens e Frameworks para Machine Learning
- o importante é o algoritmo implementado para chegar a solução
- C/C++ : libs MultiBoost; Shogun; LibSVN
- Java:
Frameworks
- Scikit-Learn: código aberto; grande comunidade e utilizado por diversas empresas; vasta documentação
- TensorFlow: Open source; desenvolvido pela Google e destinado a IA; base são as redes neurais; base para o Google Translate, Google Fotos, e o proprio buscador; Google espera transformar o TF em um padrão aberto no ramo da IA
- Shogun: pode ser usado em ambiente java, python, ruby, C
- Há diversos outros
5.2 – Aplicações Atuais de ML
- crescimento da ML atualmente
- Big Data / maior processamento de hardware / Evolução dos algoritmos / Evolução dos modelos
3 pilares da Computação Atualmente
- Machine Learning
- Big Data
- IoT
Aplicações Atuais
- Recomendações realizadas por serviços online (Amazon, Netflix etc)
- Sistema financeiro
- Redes sociais
- Esportes
- Precificação de produtos
- Carros autonomos
- Processamento de videos e som

Continue navegando