Ciência da Computação (Machine Learning) Aula 01 Motivação, áreas de aplicação e fundamentos Max Pereira
Nem todo conhecimento tem o mesmo valor.
O que torna determinado conhecimento mais importante que outro? O que exatamente fornece ao conhecimento, ou a informação o seu valor?
Resumindo... O conhecimento que utilizamos tem mais valor do que o conhecimento que não utilizamos.
Para que os humanos usam o conhecimento? Por que sempre queremos mais? O que planejamos fazer com tal conhecimento?
Humanos usam o conhecimento para tomar decisões! Estamos constantemente tentando prever as consequências das escolhas que fazemos. Por que?
Se podemos prever as consequências das escolhas, então podemos escolher as consequências que queremos.
O valor do conhecimento é a sua utilidade em influenciar as decisões. Em outras palavras, seu valor é determinado pela sua utilidade em fazer previsões precisas. Isso pode ser quantificado?
Apesar de ser impraticável a tentativa de quantificar o valor de um determinado conhecimento, torna-se muito mais fácil quando ele é combinado com uma tarefa de previsão.
Ter ou não ter um algoritmo, eis a questão!
Problema: ordenar números Entrada: uma sequência de números Saída: uma lista ordenada dos números Existem vários algoritmos!
Problema: Identificar spam e-mails Entrada: um e-mail (arquivo de caracteres) Saída: sim/não Não sabemos como transformar a entrada para a saída!
A falta de conhecimento é compensada pelos dados. Queremos aprender o que diferencia os spams de e-mails que não são spams. Queremos que o computador (máquina) extraia automaticamente o algoritmo.
Os dados armazenados se tornam úteis quando analisados e são transformados em informação que, podemos utilizar para, por exemplo, fazer previsões.
Há um processo que explica os dados que observamos. Os dados não são completamente randômicos. Há certos padrões nos dados.
Talvez não possamos identificar completamente o processo, mas podemos construir uma boa aproximação. Assim, podemos detectar certos padrões e regularidades. Esse é o foco do aprendizado de máquina!
Áreas de aplicação Aplicações de crédito Detecção de fraudes Mercado de ações Controle e otimização de manufatura Diagnóstico médico Otimização de redes de telecomunicação Análise de dados biológicos e físicos Análise de dados na Web
A aplicação de métodos de aprendizado de máquina em grandes bases de dados é chamada de Mineração de Dados (data mining).
Aprendizado de máquina não é apenas um método para problemas de banco de dados; é também uma parte da Inteligência Artificial.
Aprendizado de máquina nos ajuda a resolver problemas nas áreas de: Visão computacional; Reconhecimento de voz; Robótica Reconhecimento de padrões.
Aprendizado de máquina é a programação de computadores para otimizar a execução de critérios usando dados de exemplos ou experiências passadas.
Os modelos definidos podem ser preditivos para realizar previsões, ou descritivos para adquirir conhecimento a partir dos dados, ou mesmo ambos.
O aprendizado de máquina usa a teoria estatística para construir modelos matemáticos, porque a tarefa principal é a realização de inferência a partir de uma amostra.
Resumindo... Basicamente, o aprendizado de máquina trata de prever o futuro com base no passado.
Desafios Escalabilidade Alta dimensionalidade Dados complexos e heterogêneos Propriedade e Distribuição de Dados Análises não Tradicionais
Exemplo: Prever quanto uma determinada pessoa irá gostar de um filme que ela ainda não viu, com base nas notas dos filmes que ela já viu.
E quanto aos dados? Podem ser palavras em um documento ou pixels em uma imagem. Pode ser necessário convertê-los em um formato padrão. Representação dos Dados
Muitos datasets podem ser representados por matrizes, com valores binários, reais, discretos, etc. Outros podem ser documentos ou imagens com tamanhos diversos. É importante pensar na representação (estrutura) e transformar os dados caso seja necessário, antes de aplicar os algoritmos.
O que significa aprender? Uma forma comum de verificar se uma pessoa aprendeu sobre determinado assunto é aplicar uma prova.
Espera-se que a pessoa estude (aprenda) exemplos específicos sobre o assunto, e depois possa responder questões novas, porém relacionadas ao assunto. Dessa forma, pode-se testar a habilidade de generalização da pessoa.
A generalização é um dos conceitos mais importantes em aprendizado de máquina. Overfitting, underfitting...???
Principais tarefas Classificação Na classificação, nosso objetivo é prever qual classe uma determinada instância de dados pertence. Regressão Na regressão, procuramos prever um valor numérico.
Classificação e regressão são exemplos de aprendizado supervisionado. Supervisionado porque estamos dizendo ao algoritmo o que ele deve prever.
Em contrapartida, há um conjunto de tarefas conhecido como aprendizado não-supervisionado. Nesse tipo de aprendizado não há rótulos ou valor alvo contidos nos dados. A tarefa de agrupar dados similares é conhecida como agrupamento (clustering).
No aprendizado não-supervisionado podemos também procurar valores estatísticos que descrevam os dados. Estimativa de densidade
Algoritmos Aprendizado supervisionado k-nearest Neighbors Naive Bayes Support vector machines (SVM) Decision trees Aprendizado nãosupervisionado k-means DBSCAN Como escolher o algoritmo correto?
Primeiro: Definir qual o seu objetivo. O que você quer? A probabilidade de chuva amanhã ou encontrar grupos de eleitores com interesses similares?
Segundo: Quais dados você tem ou pode conseguir?
Desenvolvimento de aplicações de aprendizado de máquina 1. Coletar os dados 2. Preparar os dados de entrada 3. Analisar os dados de entrada 4. Treinar o algoritmo 5. Testar o algoritmo