Baixe o app para aproveitar ainda mais
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
Compartilhar