0% acharam este documento útil (0 voto)
5 visualizações20 páginas

Modos e Paradigmas de Aprendizado de Máquina

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações20 páginas

Modos e Paradigmas de Aprendizado de Máquina

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

MACHINE LEARNING

Aprendizado de máquina é um ramo da Inteligência Artificial cujo


objetivo é o desenvolvimento de táticas computacionais sobre o aprendizado
bem como a construção de sistemas capazes de adquirir conhecimento de
forma automática. Um sistema de aprendizado é um programa de computador
que toma decisões fundamentado em experiências acumuladas através da
solução bem-sucedida de problemas anteriores (BARANAUSKAS e MONARD,
2006).

MODOS DE APRENDIZAGEM

De acordo com LORENA e CARVALHO (2007), para alguns sistemas de


aprendizagem é necessário predizer se uma certa ação irá nos prover uma
saída. Nesse contexto, é possível classificar os modos de aprendizagem em
quatro principais categorias: Aprendizado supervisionado, aprendizado não
supervisionado, aprendizado semi-supervisionado e aprendizado por reforço.
• Aprendizado supervisionado: É fornecido uma referência do
objetivo a ser perseguido, isto é, um treinamento com o
conhecimento de ambiente. Estes treinamentos são conjuntos de
exemplos com entradas, rotuladas com a saída esperada. O
algoritmo de aprendizagem obtém a representação do
conhecimento por meio desses exemplos. O objetivo é que a
representação gerada seja capaz de produzir saídas corretas
para entradas novas que não foram apresentadas antes.
• Aprendizado não supervisionado: Nesta abordagem de
aprendizado, os algoritmos procuram agrupar os exemplos
históricos em função de características semelhantes que eles
apresentam entre si. Desta forma, exemplos com características
mais semelhantes tendem a ficar em um mesmo grupo, enquanto
exemplos com características distintas tendem a ser organizados
em grupos diferentes.
• Aprendizado semi-supervisionado: Dado um pequeno
conjunto de observações ou exemplos rotulados e um conjunto de
observações ou exemplos não rotulados, o objetivo da
aprendizagem é utilizar os dois conjuntos para encontrar uma
hipótese capaz de classificar novos exemplos entre as classes já
existentes. O aprendizado semi-supervisionado é um meio termo
entre o aprendizado supervisionado e o aprendizado não
supervisionado.
• Aprendizado por reforço: Esse modo de aprendizagem
permite um agente aprender a partir da interação com o ambiente
no qual ele está inserido. Esta aprendizagem se dá por meio do
conhecimento sobre o estado do indivíduo no ambiente, das
ações realizadas neste e das mudanças de estado consequentes
das ações. Resume-se esse modo no aprendizado do
mapeamento de estados em ações da forma que um valor
numérico de retorno seja maximizado.

Segundo GOLDSCHMIDT (2010), um paradigma de aprendizado diz


respeito ao modo com que o espaço de busca por um modelo de
conhecimento, que represente os dados históricos disponíveis, deve ser
percorrido. Os principais paradigmas de aprendizado sobre os quais os
algoritmos de Machine Learning se baseiam, que podem ser usados tanto para
descrição quanto para predição do conjunto de dados, dividam-se em:
• Simbólico: Compreende a construção de representações
simbólicas de um conceito por meio de análise de exemplos e
contraexemplos desse conceito. As representações simbólicas
estão tipicamente representadas na forma de alguma expressão
lógica, regras de produção, árvores de decisão ou rede
semântica.
• Estatístico: Neste paradigma, métodos estatísticos, são
utilizados para encontrar aproximações do modelo de
conhecimento que esteja sendo induzido. Tais modelos,
comumente assumem que os valores de atributos estão
normalmente distribuídos, e então utilizam os dados fornecidos
para determinar média, variância e co-variância da distribuição.
• Baseado em exemplos: Baseiam-se na busca de casos
existentes similares ao novo exemplo a ser analisado para
deduzir a saída do sistema. Esse tipo de sistema necessita
manter os exemplos na memória para classificar os novos
exemplos.
• Conexionista: Utiliza modelos matemáticos simplificados
inspirados no modelo biológico do sistema nervoso, redes
neurais, para tentar adquirir mapeamentos de novos exemplos
nas saídas desejadas ou agrupamentos de exemplos
equivalentes. A representação de uma rede neural envolve
unidades altamente interconectadas e, por esse motivo, o nome
conexionista é utilizado para esse paradigma. Redes neurais
artificiais serão abordadas com mais ênfase no próximo capítulo.
• Genético: Esse modelo de classificação consiste de uma
população de elementos de classificação que competem para
fazer a predição. Elementos que possuem um desempenho fraco
são descartados, enquanto os elementos mais fortes são
absorvidos, produzindo variações de si mesmo.

REDES NEURAIS ARTIFICIAIS

De acordo com REZENDE (2003), são modelos matemáticos que se


assemelham às estruturas neurais biológicas e que têm capacidade
computacional alcançada por meio de aprendizado e generalização. Para
GOLDSCHMIDT (2010), redes neurais são modelos computacionais não
lineares, inspirados na estrutura e no funcionamento do cérebro, que buscam
reproduzir características humanas, tais como: aprendizado, generalização,
abstração e associação. Pela sua estrutura, as redes neurais são bastante
efetivas no aprendizado de padrões a partir de dados históricos não lineares,
incompletos, com ruído e até compostos de exemplos contraditórios.

HISTÓRICO

As primeiras informações sobre neurocomputação surgiram na década


de 40, em artigos do neurofisiologista Warren McCulloch. Seu primeiro trabalho
sobre neurônios formais, apresentou um modelo matemático de simulação do
processo biológico que ocorre em células nervosas vivas. O modelo buscava
simular artificialmente o comportamento de um neurônio natural. Em tal modelo
o neurônio artificial possuía apenas uma saída, produzida em função da soma
dos valores de suas diversas entradas (GOLDSCHMIDT, 2010).
O motivo pelo qual máquinas inspiradas na biologia diferem das
máquinas atuais é pelo fato de que as máquinas atuais baseiam seu
processamento explicitamente em modelos algorítmicos, em que o
comportamento diante de todas as situações possíveis deve ser programado
previamente. Mecanismos de controle que possuem sua base em mecanismos
neurais, contudo, não são baseados em modelos algorítmicos. Fazem
utilização de cálculo matemáticos para efetuar suas operações e podem
coordenar diversos graus de liberdade durante a execução de tarefas
manipulativas e ambientes desestruturados, sendo capazes de resolver tarefas
complicadas sem desenvolver um algoritmo específico para cada problema.

DENIFIÇÃO

De acordo com HECHT-NIELSEN (1990), uma rede neural artificial pode


ser definida como uma estrutura que processa informação de forma paralela e
distribuída e que consiste em unidades computacionais, as quais podem
possuir memória local e executar operações locais, interligadas por canais
unidirecionais chamados conexões. Cada unidade possui uma única conexão
de saída, que pode ser dividida em quantas conexões forem necessárias.
Nas redes neurais artificiais, a ideia é realizar o processamento de
informações tendo como princípio a estrutura de neurônios do cérebro. Como o
cérebro humano é apto capaz de aprender e tomar decisões com base em
aprendizagem, as redes neurais artificiais devem fazer o mesmo. Dessa forma,
uma rede neural pode ser interpretada como um esquema de processamento
capaz de armazenar conhecimento baseado em aprendizagem e tornar
disponível este conhecimento para a aplicação em questão.
A Tabela sintetiza a conexão entre características e comportamentos de
redes neurais artificiais com elementos da natureza.

Tabela: Conexões características e comportamentos de RNA com


elementos da natureza

Modelo Natural Modelo Artificial

Cérebro RNA

Neurônio Biológico Neurônio artificial / Elementos processadores

Rede de Neurônios Estrutura em camadas

10 bilhões de Neurônios Centenas / Milhares de neurônios

Aprendizado Aprendizado

Generalização Generalização

Associação Associação

Reconhecimento de
Reconhecimento de Padrões
Padrões

Na Figura pode-se ver uma ilustração comparativa entre o modelo


biológico e o artificial adotado pelas redes neurais artificiais.
Figura: Comparação entre modelo biológico e artificial (GOLDSCHMIDT,
2010)

CARACTERÍSTICAS

Segundo GOLDSCHMIDT (2010), devido à similaridade com a estrutura


do cérebro, as redes neurais artificiais possuem algumas características
semelhantes às do comportamento humano, tais como:
• Busca paralela e endereçamento pelo conteúdo: Nas redes
neurais o conhecimento fica distribuído pela estrutura das redes,
de modo que a procura pela informação ocorra de forma paralela
e não sequencial, analogamente com o cérebro que não possui
endereço de memória.
• Aprendizado por experiência: As RNAs tentam aprender
padrões a partir dos dados. Para isso, utilizam um processo de
repetidas apresentações dos dados à rede que busca abstrair
modelos de conhecimento de forma automática.
• Generalização: As redes neurais artificiais são capazes de
generalizar seu conhecimento por meio de exemplos anteriores. A
capacidade de generalização permite que as RNAs lidem com
ruídos e distorções nos dados, respondendo positivamente a
novos padrões. A Figura 6 mostra um exemplo de generalização.
Figura: Exemplo de generalização (GOLDSCHMIDT, 2010)

• Associação: As RNAs são capazes de estabelecer relações


entre padrões de naturezas distintas. Como por exemplo,
identificar pessoas a partir de características da voz destas
pessoas.
• Abstração: Abstração é a capacidade das redes neurais em
identificar a essência de um grupo de dados de entrada. Isto é o
que faz as redes neurais serem capazes de deduzir quais as
características relevantes em um conjunto de entrada. É dessa
forma que as RNAs extraem informações a partir de padrões
ruidosos para padrões sem ruído. A Figura 7 ilustra uma
exemplificação de abstração.

Figura: Exemplo de abstração (GOLDSCHMIDT, 2010)

• Robustez e Degradação gradual: Tendo em vista que a


informação fica distribuída em uma rede neural artificial, a perda
de um conjunto de neurônios artificiais não causa
necessariamente o mau funcionamento da rede. O desempenho
de uma RNA tem a tendência de diminuir gradativamente na
medida em que a quantidade de neurônios artificiais inoperantes
aumenta.
• Não programáveis: As redes neurais não necessitam de
programação, elas são construídas. A rede deve ser modelada de
acordo com as entradas e saídas envolvidas e um algoritmo de
aprendizado, programado anteriormente é aplicado sobre o
modelo e sobre os dados históricos, visando mapear
corretamente as entradas da rede nas saídas correspondentes.
• Soluções aproximadas: As redes neurais nem sempre
produzem a melhor solução para um problema, porém, geram
soluções aproximadas e aceitáveis. Algumas estruturas de redes
trabalham com o intuito de minimização de erros, mas nem
sempre reduzido a zero.

Igualmente ao sistema biológico, uma rede neural artificial possui, de


maneira simplificada, um sistema de neurônios e conexões ponderadas por
pesos. Em uma rede neural os neurônios são arrumados em camadas, com
ligações entre elas. A figura mostra a arquitetura de uma RNA simples, onde os
círculos representam os neurônios e as linhas representam os pesos das
ligações. A camada que recebe os dados é chamada camada de entrada e a
camada que mostra o resultado é chamada de camada de saída. A camada
interna, onde acontece o processamento interno é chamada de camada
escondida. Dependendo da complexidade do problema, a rede neural pode ter
uma ou várias camadas escondidas.
Figura: Arquitetura de uma RNA simples (GOLDSCHMIDT, 2010)

O processamento das redes neurais, em geral, ocorre da esquerda para


a direita e, para fins computacionais os neurônios são rotulados com uma
numeração sequencial de cima para baixo, da esquerda para direita.

INICIATIVAS OPEN SOURCE EM DATA SCIENCE

HISTÓRIA DA INICIATIVA OPEN SOURCE

Segundo SILVEIRA (2004), em 1983 Richard Stallman deu início ao


projeto GNU, acrônimo recursivo de GNU is not Unix, ou seja, o projeto GNU
tinha como objetivo produzir um sistema operacional livre que pudesse fazer o
mesmo que o sistema Unix. Em 1983 Stallman explicou que GNU seria capaz
de rodar programas do Unix, porém não seria idêntico ao Unix. A intenção era
de ocorrer aperfeiçoamentos periódicos de acordo com a experiência com
outros sistemas operacionais. A ideia de constituir um sistema operacional livre
foi ganhando adeptos e se consolidou na formação da Free Software
Foundation, em 1984.
No ano de 1991, Linus Torvalds, anunciou que havia desenvolvido o
kernel para um sistema operacional do tipo Unix e disponibilizou de maneira
livre. Com os esforços da comunidade de desenvolvedores em torno da Free
Software Foundation¸ as primeiras versões do Software, Linux, já se
mostravam mais flexíveis e robustas que o MS-DOS e o Windows.
Surgia assim uma alternativa ao software proprietário, o sistema
operacional GNU/Linux. Diversos outros softwares livres vieram a ser criados,
como o Apache, para rodar páginas web nos servidores de rede, o Gimp, para
tratamento de desenhos e imagens, o OpenOffice, que contém editor de texto
folha de cálculo e editor de apresentações, dentre outros. Hoje são milhares de
softwares livres que utilizam a Licença Pública Geral (General Public Licence),
criada pela Free Software Foundation.
Em 1998, Eric Raymmond e Linus Torvalds foram os protagonistas na
criação da Open Source Iniciative (OSI), defendendo a adoção do software livre
por razões técnicas e sugerindo o uso da expressão Open Source ao invés de
Free Software. O principal motivo para o termo Open Source ser adotado foi
introduzir o software livre no mundo dos negócios de uma forma mais aceitável
para empresas mais conservadoras, evitando equívoco com o tempo free (OSI,
2012).

FERRAMENTAS OPEN SOURCE NO CONTEXTO DE DATA SCIENCE

Em uma pesquisa feita por REINSTEIN (2018) foram listados os 20


maiores projetos Open Source de acordo com o número de contribuidores no
GitHub, repositório de código fonte, conforme ilustra a Figura 9. O tamanho é
proporcional ao número de contribuidores, a cor representa a mudança no
número de contribuidores em relação a essa mesma pesquisa feita no ano de
2017, vermelho significa que o número aumentou e azul que diminuiu. Os
asteriscos representam os projetos sobre Deep Learning.
Figura: Maiores Projetos Machine Learning no Github (REINSTEIN,
2018)

TensorFlow, o primeiro lugar da pesquisa, foi originalmente desenvolvido


por pesquisadores e engenheiros que trabalhavam no Google Brain Team
dentro da Organização da Google de pesquisa sobre Machine Learning. O
projeto foi criado com o intuito de facilitar a pesquisa sobre Aprendizado de
Máquina, e tornar mais fácil a transição de um protótipo de pesquisa para um
sistema de produção (TENSORFLOW, 2018).
Scikit-learn, o segundo lugar, é uma biblioteca simples e eficiente para
mineração de dados e análise de dados, pode ser usada em vários contextos,
construída em cima de Numpy, Scipy e Matplotlib (PEDREGOSA, 2011).
Keras, o terceiro lugar, uma API de redes neurais de alto nível, feita em
Python e capaz de rodar em cima do TensorFlow, CNTK ou Theano. Keras foi
desenvolvido com o foco em possibilitar a experimentação rápida. Sendo capaz
de ir da ideia para o resultado com o menor tempo possível (KERAS, 2018).
TENSORFLOW

O TensorFlow é a segunda geração de um sistema projetado pelo


Google Brain, equipe de pesquisa sobre Deep Learning do Google que teve
seu início em 2010, as pesquisas da equipe do Google Brain giram em torno de
aprendizagem de máquina, computação em escala e engenharia de sistemas.
(GOOGLE BRAIN, 2018).
A primeira versão do TensorFlow foi lançada em 15 de fevereiro de
2015, podendo ser executado em dispositivos individuais, como também em
múltiplas CPUs, do inglês Central Processing Unit, e GPUs, do inglês Graphics
Processing Unit. Ele está disponível em versões de 64 bits Windows, Linux,
MacOS, e plataformas de computação móveis. (TENSORFLOW, 2018)
TensorFlow reúne uma série de modelos e algoritmos de Machine
Learning e Deep Learning e utiliza a linguem Python para fornecer uma API de
front-end, enquanto os aplicativos são executados na linguagem C++. Por meio
do TensorFlow os desenvolvedores criam gráficos de fluxo de dados,
estruturas que representam como os dados em uma série de nós de
processamento, sendo cada nó uma representação de uma operação
matemática e cada conexão entre nós é um tensor multidimensional.
O TensorFlow além de toda a sua eficiência em Deep Learning e
Machine Learning, ele possui algumas facilidades adicionais para os
desenvolvedores, como o TensorBoard, um suíte de visualização que permite
examinar e criar o perfil da forma como os gráficos são executados por meio de
um painel interativo.

SCIKIT-LEARN

A biblioteca de aprendizado de máquina Scikit-Learn de código aberto, é


baseada na linguagem de programação Python, e possui nativamente diversos
algoritmos de Machine Learning como, regressão, classificação, agrupamento,
máquinas de vetores de suporte, kmeans, florestas aleatórias, e foi projetada
para relacionar-se com as bibliotecas Python numéricas científicas NumPy e
SciPy. (PEDREGOSA, 2011).
O Scikit-Learn foi desenvolvido originalmente por David Cournapeau no
Google Summer of Code, programa global com o objetivo de trazer estudantes
desenvolvedores para o desenvolvimento de software de código aberto, onde
os alunos trabalham com uma organização de código aberto em um projeto de
programação de 3 meses durante as férias escolares. (GOOGLE SUMMER OF
CODE, 2018).
O código base original foi posteriormente reescritos por outros
desenvolvedores, e ainda continua em estado de desenvolvimento ativo, sendo
patrocinado pela INRIA, organização francesa de caráter científico e
tecnológico, Telecom ParisTech, escola de ensino superior pública localizada
em Paris, e eventualmente pelo Google, por meio do Google Summer of Code.

KERAS

O framework de Deep Learning Keras, foi desenvolvido como parte de


uma pesquisa do projeto ONEIROS, do inglês Open-ended Eletronic Intelligent
Robot Operating System, e o seu primeiro e principal autor é François Chollet,
um engenheiro do Google.
Escrita em Python, é capaz de rodar em cima do TensorFlow, Microsoft
Cognitive Toolkit ou Theano, desenvolvida para ser capaz de proporcionar uma
experimentação rápida com os algoritmos de Deep Learning, e prioriza a
experiência do desenvolvedor. Sendo uma API projetada para humanos e não
máquinas, Keras segue as melhores práticas para reduzir a carga cognitiva,
isso o torna fácil de aprender e fácil de usar, aumentando a produtividade dos
usuários e permitindo que isso seja um diferencial no mercado. (KERAS, 2018).
Além de contar com uma extensa comunidade, Keras possui também
uma documentação bem estruturada e completa, fazendo com que seja a
segunda maior biblioteca Open Source de Deep Learning, conta também com
diversos dataset nativos da biblioteca, para a prática e experimentação dos
algoritmos disponíveis pela plataforma.

PYTORCH
PyTorch é uma biblioteca Open Source de Machine Learning para a
linguagem de programação Python, baseada no Torch, framework computação
científica baseado na linguagem de programação Lua. PyTorch foi
desenvolvida originalmente pelo grupo de pesquisa de Inteligência Artificial do
Facebook. Desde o seu lançamento no início de janeiro de 2016, muitos
pesquisadores o adotaram como uma biblioteca para leitura devido à sua
facilidade de construir gráficos e até mesmo os de alta complexidade.
(PYTORCH, 2018).
Segundo os criadores do PyTorch, eles possuem uma filosofia de ser
imperativos. O que resulta nos cálculos que são executados imediatamente,
não precisando esperar todo código ser escrito para saber se ele funciona
corretamente, encaixando-se na metodologia de programação Python que
funciona da mesma forma. Cada linha de código necessária para construir um
gráfico define um componente do gráfico, os cálculos podem ser feitos de
forma independente sobre os componentes, antes mesmo do gráfico ser
construído completamente.
PyTorch é baseada em Python e foi criada com objetivo de fornecer
flexibilidade como uma plataforma de Deep Learning. O fluxo de trabalho do
PyTorch é o mais próximo dentre as bibliotecas de Machine Learning, da
biblioteca de computação científica do Python, Numpy.

THEANO

Theano é uma biblioteca de computação numérica Open Source para


Python, foi desenvolvida originalmente por um grupo de pesquisa de
Aprendizagem de Máquina da Universidade de Montreal em 2007. Em Theano,
os cálculos são expressos usando a sintaxe do NumPy e após compilados,
podem ser executados com eficiência em arquiteturas de CPU ou GPU.
A biblioteca permite definir, otimizar e avaliar expressões matemáticas
envolvendo matrizes multidimensionais de maneira eficiente, possui integração
forte com NumPy, uso transparente de GPU, realizando cálculos com o uso
intensivo de dados mais rápido do que em uma CPU, otimização de velocidade
e estabilidade, geração dinâmica de código C, extenso teste unitário e auto
verificação.
A linguagem de interface para Theano é Python, o que fornece uma
prototipagem rápida e uma maneira fácil de usar e interagir com os dados, em
contraponto a desvantagem do Python é seu intérprete, que em alguns casos é
um mecanismo fraco para executar cálculos matemáticos em termos de uso de
memória e velocidade, porém Theano supera essa limitação, explorando
mecanismos de otimização. Por basear-se na biblioteca Numpy, Theano
fornece um tipo de dados de matriz n-dimensional e diversas funções para
indexar, remodelar e executar cálculos elementares em matrizes inteiras de
uma só vez. Theano também foi projetado para facilitar e agilizar a
extensibilidade através da definição expressões gráficas personalizadas
escritas em C++, CUDA ou Python. (THEANO, 2018).

DISPOSITIVOS MÓVEIS E EMBARCADOS

Com a crescente dos dispositivos móveis e embarcados, com


expectativa da existência de 50 bilhões de dispositivos conectados em 2020,
sendo 27 bilhões conexões de máquina para máquina, representando um
acréscimo de 15 trilhões de dólares ao PIB mundial nos próximos anos, de
acordo com a DATAPREV (2017), isso ressalta a necessidade de manter tais
dispositivos no centro dos investimentos do mercado de tecnologia. Devido à
alta demanda, tem surgido diversos estudos para tornar os dispositivos
inteligentes por meio da Aprendizagem de Máquina.
Atualmente, esses tipos de dispositivos funcionam principalmente como
sensores que coletam e enviam dados para modelos de aprendizado de
máquina executados na nuvem, todo o processamento requer muita
computação e armazenamento, colocar todo esse hardware em um dispositivo
embutido de baixo custo é o grande paradigma, segundo ERFANI (2017).
Existe um grupo de pesquisadores da Microsoft, estudam a possibilidade de
encolher e tornar o aprendizado da máquina muito mais eficiente para que
realmente seja possível executá-los nos dispositivos.
O grupo está trabalhando com duas abordagens, uma de cima para
baixo e outra de baixo para cima, no desafio de implantar modelos de Machine
Learning em dispositivos de recursos limitados. A primeira abordagem baseia-
se no desenvolvimento de algoritmos que comprimam modelos de aprendizado
de máquina treinados para a nuvem que funcionem de forma eficiente em
dispositivos como o Raspberry Pi 3, para isso estão fazendo uso da técnica
chamada quantização de peso, que representa cada parâmetro de rede neural
com apenas alguns bits, em algumas vezes um único bit, ao invés do padrão
de 32. A segunda abordagem, parte do princípio que não há como fazer uma
rede neural profunda, mantê-la tão precisa quanto hoje e consumir bem menos
recursos, dessa forma nessa abordagem os pesquisadores estão focados na
construção de uma biblioteca com algoritmos de treinamento, cada um
ajustado para alto desempenho em seu nicho. (MICROSOFT, 2017).
Um protótipo de dispositivo que está sendo desenvolvido para mostrar o
potencial da pesquisa é uma bengala inteligente, que pode detectar quedas e
fazer um pedido de assistência. Outro protótipo é o de uma luva inteligente
capaz de interpretar a linguagem de sinais e reproduzir as palavras sinalizadas
por meio de um alto falante.
REFERÊNCIAS

BARANAUSKAS, J. A; MONARD, M. C. Sistemas inteligentes: Conceitos Sobre


Aprendizado de Máquina. Cap 4. Ed. Manole, 2006.
BRINK, H.; RICHARDS, J. Real World Machine Learning. [S.1.]: Manning
Publications C.O, 2014.
CINTRA, M. Os custos dos congestionamentos na cidade de São Paulo. 2014.
38 p.
CONWAY, D. 2010. The Data Science Venn Diagram.
DAMA INTERNACIONAL. The DAMA Guide to the Data Management Body of
Knowledge. First edition ed. Bradley Beach, N.J.: Technics Publications, LLC,
2009.
DAVENPORT, T. H.; COHEN, D.; JACOBSON, A. Competing on Analytics ln:
Harvard Business Review, p.98-107. 2006.
DHAR, V. Data Science and prediction. Communications of the ACM, v.56,
n.12, 2013.
DINIZ, Carlos Alberto; LOUZADA NETO, Francisco. Data Mining: uma
introdução. São Paulo: ABE, 2000.
FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMYTH, P.; From Data Mining to
Knowledge Discovery: An Overview. AAAI The MIT Press, England. 1996.
FREIRE, J. et al. Reproducibility using vistrails. In: Implementing Reproducible
Research. 2014.
GOLDSCHMIDT, R. R. Uma Introdução à Inteligência Computacional:
fundamentos, ferramentas e aplicações. Rio de Janeiro: IST-Rio, 2010.
GONÇALVES, C. R.; CERVANTES, B. M. Data Science: Ciência orientada a
dados. Inf. Londrina, v.21, n.2, 2016.
HAN, J.; KAMBER, M.; PEI, J. Data Mining: Concepts and Techniques, Third
edition (the morgan kaufmann series in data management systems). Morgan
Kaufmann, 2011.
HECHT-NIELSEN, R. Applications of Conterpropagation Networks, Neural
Networks, v1. Neurocomputing, New York, Addison-Wesley, 199
HEINZLE, R.; GAUTHIER, F. A. O.; FIALHO, F. A. P. Semântica nos Sistemas
de Apoio à decisão: O Estado da Arte. Revista da Unifebe. Disponível em:
<[Link]
551>. Acesso em: jan, 201
HEY, T.; TANSLEY, S.; TOLLE, K. (EDS.). The Fourth Paradigm: Data-
Intensive Scientific Discovery. 1 edition ed. Redmond, Wash.: Microsoft
Research, 2009.
KERAS. Keras: The Python Deep Learning Library. Disponível em:
<[Link]
Acesso em: fev, 2018
KOBSA, A.; KOENEMAN, J.; POHL, W. Personalised hypermedia presentation
techniques for improving online customer relationships. The Knowledge
Engineering Review, 2001.
LORENA, A, C.; CARVALHO, A. C. P. L. F. Uma introdução às Support Vector
Machines.
Revista de Informática Teórica e Aplicada, vol 14, no2, 2007. Disponível em:
<[Link]
67/3543>. Acesso em: jan, 201
LOUKIDES, M.; What Is Data Science? 2010 O’Reilly, edição digital disponível
em <[Link]
Loukidesebook/dp/B007R8BHAK/ref=sr_1_1?s=books&ie=UTF8&qid=1399984
583&sr=11&keywords=data+scientist>. Acesso em Fevereiro, 201
MADDEN, S. From Databases to Big Data. Internet Computing IEEE, v.16, n.3.
MAYER-SCHONB, V.; CUKIER, K. Big Data: A Revolution That Will transform
How We Live, Work, and Think. 2014. Ed. Eamon Dolan/Mariner Books, 2014.
MCKINSEY & COMPANY. Where Machines Could Replace Humans – and
Where They
Can’t (Yet). 2016.
MEIRELES, I. Visualizing data: new pedagogical challenges. Spinillo, Farias e
Padovani Ed. São Paulo: SBDI. Brazilian Society of Information Design, 2010.
MICROSOFT. Grande Salto da IA para pequenos dispositivos abre um mundo
de possibilidades. Disponível em: <[Link]
parapequenos-dispositivos-abre-um-mundo-de-possibilidades/>. Acesso em:
jun, 2018.
MURRAY, S. Interactive Data Visualization for the Web. Sebastopol: O’Reilly
Media, 2013.
OSI, Open Source Iniciative. History of The OSI. 2012.
Disponível em <[Link] Acesso em fev/2018.
PEDREGOSA, F ET AL. Scikit-Learn: Machine Learning in Python, JMLR 12,
2011.
PORTO, F.; ZIVIANI, A. Ciência de Dados. Laboratório Nacional de
Computação Científica (LNCC), 2014.
PYTORCH. About PyTorch. Disponível em: <[Link]
Acesso em: jun, 2018.
REINSTEIN, I. Top 20 Python AI and Machine Learning Open Source Projects.
Disponível em: [Link]
[Link]. Acesso em: fev, 2018
REZENDE, S. Sistemas Inteligentes: Fundamentos e Aplicações. Barueri:
Manole, 2003.
SEGEL, E; HEER, J. Narrative visualization: Tellingstories with data.
Visualization and Computer Graphics, IEEE Transactions 2010.
SHALEV-SHWARTZ, S.; BEN-DAVID, S. Understanding Machine Learning:
From Theory to Algorithms. [S.1.]: Cambridge University Press, 2014
SILVA, V.A. Determinação da estrutura organizacional das vias MAP KINASES
em sorgo, Arabidopsis lyrata e cana-de-açucar por meio de análise de
Bioinformática.
Tese de Doutorado. UENF Darcy Ribeiro, Agosto 2010.
SMOLA, A.; VISHWANATHAN, S. Introduction to machine learning. Cambridge
University, UK, v. 32, 2008.
SILVEIRA, SÉRGIO AMADEU. Software Livre: a luta pela Liberdade do
conhecimento – São Paulo: Editora Fundação Perseu Abramo, 2004.
SMITH, I. The internet of Things 2012: New Horinzons. CASAGRAS, 2012.
STANTON, J. An introduction data science. Syracuse University School of
Information Studies, 2012.
STRASSER, C. et al. Primer on Data Management: What you always wanted to
know. 2012.
TENSORFLOW. An open-source machine learning framework for everyone.
Disponível em: [Link] Acesso em: fev, 2018.
THEANO. Theano: A Python framework for fast computation of mathematical
expressions. Disponível em: <[Link] Acesso
em: jun, 2018.
TIERNEY, B. Data Science is multidisciplinary. 2016.
Disponível em: <[Link] Acesso em: fev, 2018.
TWEEDALE, J. W.; PHILLIPS-WREN, G.; JIAN, L. C. Advances in Intelligent
Decision-
Making Technology Support. Cham: Springer International Publishing 2016
VIÉGAS, F. Designer explica como a visualização de dados pode ser atraente.
Rio de Janeiro, TV Globo, 2013. Disponível em: htpp://[Link]/c35Ztn. Acesso
em fev, 2018.
WANG, D.; JEFFREY F. HARPER; GRIBSKOV M. Systematic Trans-Genomic
Comparison of Protein Kinases between Arabidopsis and Saccharomyces
cerevisiae. Planta Physiology, Vol. 132, agosto 2003.
ZAKI, M. J.; MEIRA, W. J. Data mining and Analysis: Fundamental Concepts
and
Algorithms. [Link]. Cambridge University Press, 2014
ZHOU, Z. Three perspectives of data mining. Arte. Intel. Elsevier Science
Publisher Td., Esse, UK, v. 143, n.1, jan. 2003.
ZHU, Y. Y; XIONG, Y. Dataology and Data Science: Up to now. Fundan
University Press, 2011.

Você também pode gostar