Você está na página 1de 24

PATRICK MARQUES CIARELLI

patrick.ciarelli@ufes.br
 Existem vários problemas do dia a dia que um
computador pode auxiliar para encontrar uma
solução. Ex.:
 Cálculos matemáticos complexos;
 Simulação de fenômenos físicos;
 Dimensionamento de estruturas;
 Etc.
Uma parcela desses problemas são resolvidos por
meio da escrita de um algoritmo que especifica
passo a passo como o problema pode ser
resolvido;
 Para tanto, é necessário que o programador
tenha conhecimento das regras que regem o
problema para poder resolve-lo de forma eficaz.
 Entretanto, existem muitas tarefas do cotidiano
cujas as regras não são conhecidas ou a
dificuldade de expressá-las através de um
simples código pode ser muito elevada;

 Embora existam profissionais com conhecimento


dessas regras, essas informações normalmente
são caras, difíceis de serem obtidas e subjetivas.
 Uma área que tem crescido rapidamente nos
últimos anos é a de Aprendizado de Máquina
(AM);
 AM é composto por um conjunto de técnicas que,
a partir da experiência passada, pode criar uma
hipótese (conjunto de regras) ou função capaz
de resolver um problema;
 Tais técnicas não são programadas com um
conjunto de regras, mas são programadas para
aprender com a experiência passada;
 Para tanto utilizam um princípio de inferência
chamada indução.
 Existem várias aplicações em que AM tem
mostrado ser bem sucedida:
 Reconhecimento de impressão digital;
 Condução de automóveis de forma autônoma;
 Diagnóstico de câncer;
 Predição de valores em séries temporais.

 Além disso, AM tem sido usado na compreensão


de como acontece o aprendizado nos seres vivos;
 Há casos em que uma tarefa é melhor definida
pela experiência passada.
 No processo de indução são obtidas conclusões
genéricas a partir de um conjunto particular de
exemplos;
 Ex.:
 Ferro é metal e conduz eletricidade;
 Cobre é metal e conduz eletricidade;
 Ouro é metal e conduz eletricidade;
 ...
 Conclusão: todos os metais conduzem eletricidade.
 De forma semelhante, uma técnica de AM precisa
de exemplos (também chamados de amostras,
padrões, dados ou instâncias) para poder inferir
uma hipótese ou função;
 Cada exemplo é composto por uma série de
elementos chamados de atributos (ou
características);
 Ex: num hospital cada exemplo pode ser um
paciente e seus atributos podem ser o peso,
tamanho, idade e sintoma.
 É desejável que um algoritmo de AM seja robusto
a imperfeição nos exemplos para minimizar o
efeito no processo de indução;
 Muitos conjuntos de dados podem apresentar
algum tipo de problema como:
 presença de ruídos;
 dados inconsistentes;
 dados ausentes;
 dados redundantes.
 Do exemplo anterior:
 Ferro é metal e conduz eletricidade;
 Cobre é metal e conduz eletricidade;
 Ouro é metal e conduz eletricidade;
 Borracha é metal e não conduz eletricidade; (dado
inconsistente);
 Conclusão: ???
 Uma vez induzida uma hipótese, é desejável que
ela seja válida para outros exemplos do mesmo
problema. A essa propriedade é dado o nome de
generalização da hipótese;
 Quando há uma baixa capacidade de
generalização a razão pode ser:
 overfitting --> o algoritmo "decorou" os exemplos;
 underfitting --> poucos exemplos ou técnica muito
simples para capturar os padrões existentes nos
dados.
 Exemplos de underfitting e overfitting:
 Um algoritmo de aprendizado busca “aprender”
uma hipótese que descreva as relações entre os
dados;
 Cada algoritmo utiliza uma forma para
representar uma hipótese. Ex.:
 Redes neurais;
 Árvore de decisão.

 Isso é chamado de viés (preferência) de


representação.
 Cada algoritmo possui uma forma para buscar a
hipótese que melhor se ajusta aos dados. Ex.:
 Hipótese que forneça uma pequena estrutura;
 Hipótese que ajusta melhor aos dados.

 Isso é chamado de viés de busca;


 Os viés podem restringir o conjunto de hipóteses
que podem ser induzidas;
 Porém, sem eles um algoritmo de AM não
generaliza o conhecimento.
 Existem dois tipos básicos de aprendizado para
um algoritmo encontrar uma hipótese:
 Aprendizado supervisionado;
 Aprendizado não supervisionado.
 Aprendizado supervisionado:
 Neste aprendizado, o algoritmo precisa encontrar
uma função/hipótese que faça um conjunto de dados
(entrada) se aproximar o máximo possível de um
conjunto de valores (saídas) desejados;
 Utilizado para tarefas de predição e classificação;
 Aprendizado por reforço é um derivado que somente
informa se a saída está certa ou errada.
 Aprendizado não supervisionado:
 Neste aprendizado, o algoritmo precisa reconhecer
padrões (ou regras de associação) nos dados de
entrada. Não é fornecido um conjunto de saída;
 Utilizado para tarefas de agrupamento de dados e
associação entre atributos;
 Aprendizado por competição é um derivado em que
grupos disputam os dados entre si. O grupo ganhador
tem seus parâmetros atualizados.
Unidade 1 – Introdução a Aprendizado de
Máquina;

Unidade 2 – Preparação dos Dados;

Unidade 3 - Regressão Linear;

Unidade 4 - Técnicas de Classificação Baseadas


em Distância;
Unidade 5 - Técnicas de Classificação Baseadas
em Métodos Probabilísticos;

Unidade 6 - Métodos Baseados em Procura;

Unidade 7 - Métodos de Clusterização;

Unidade 8 - Métodos Biologicamente Inspirados;

Unidade 9 – Testes de Hipóteses para Comparar


Algoritmos.
 Sites de cursos de aprendizado de máquina:
 https://weka.waikato.ac.nz/explorer
 https://lagunita.stanford.edu/courses/HumanitiesSciences/StatLe
arning/Winter2016/about
 Livros online
 http://www-bcf.usc.edu/~gareth/ISL/
 http://www.cs.waikato.ac.nz/~ml/weka/book.html
 Ferramentas computacionais:
 Weka: http://www.cs.waikato.ac.nz/ml/weka/
 Spark: http://spark.apache.org/
 Orange: https://orange.biolab.si/
 MOA: https://moa.cms.waikato.ac.nz/
 Scikit-learn: http://scikit-learn.org/stable/
 Shogun: http://www.shogun-toolbox.org/
 Accord Framework/AForge.net: http://accord-framework.net/
 Mahout: http://mahout.apache.org/
 Oryx: http://oryx.io/
 ConvNetJS: http://cs.stanford.edu/people/karpathy/convnetjs/
 Site de competição de técnicas de aprendizado de
máquina:
 https://www.kaggle.com
 Entrevista com o número 1 (2) no kaggle
 https://br.udacity.com/events/de-aprendiz-a-mestre-em-machine-
learning/
1) Faceli, K., Lorena, A. C., Gama, J., Carvalho, A. C. P.
F., Inteligência Artificial: uma Abordagem de
Aprendizado de Máquina. 1ª edição, Editora LTC, São
Paulo, 2011.
2) Bishop, C. M., Pattern Recognition and Machine
Learning, 9ª edition, Editora Springer, 2006.
3) Duda, R. O., Hart, P. E., Stork, D. G., Pattern
Classification, 2ª edition, Editora Wiley-Interscience,
2001.
4) Russell, S., Norvig, P., Inteligência Artificial, 3ª
edição, Editora Elsevier, 2013.
5) Coppin, B., Inteligência Artificial, 1ª edição, Editora
LTC, 2013.
6) James, G., Witten, D., Hastie, T., Tibshirani, R., An
Introduction to Statistical Learning – with
Applications in R, Editora Springer, 2014.

Você também pode gostar