Sie sind auf Seite 1von 7

A aprendizagem automtica ou aprendizado de mquina (em ingls: "machine learning")

um sub-campo da cincia da computao[1] que evoluiu do estudo de reconhecimento


de padres e da teoria da aprendizagem computacional em inteligncia artificial[1].
Em 1959, Arthur Samuel definiu aprendizado de mquina como o "campo de estudo que
d aos computadores a habilidade de aprender sem serem explicitamente
programados"[2](livre traduo). A aprendizagem automtica explora o estudo e
construo de algoritmos que podem aprender de seus erros e fazer previses sobre
dados[3]. Tais algoritmos operam construindo um modelo a partir de inputs amostrais
a fim de fazer previses ou decises guiadas pelos dados ao invs de simplesmente
seguindo inflexveis e estticas instrues programadas. Enquanto que na
inteligncia artificial existem dois tipos de raciocnio (o indutivo, que extrai
regras e padres de grandes conjuntos de dados, e o dedutivo), o aprendizado de
mquina s se preocupa com o indutivo.

Algumas partes da aprendizagem automtica esto intimamente ligadas (e muitas vezes


sobrepostas) estatstica computacional; uma disciplina que foca em como fazer
previses atravs do uso de computadores, com pesquisas focando nas propriedades
dos mtodos estatsticos e sua complexidade computacional. Ela tem fortes laos com
a otimizao matemtica, que produz mtodos, teoria e domnios de aplicao para
este campo. A aprendizagem automtica usada em uma variedade de tarefas
computacionais onde criar e programar algoritmos explcitos impraticvel.
Exemplos de aplicaes incluem filtragem de spam, reconhecimento tico de
caracteres (OCR)[4], processamento de linguagem natural, motores de busca,
diagnsticos mdicos, bioinformtica, reconhecimento de fala, reconhecimento de
escrita, viso computacional e locomoo de robs. O aprendizado de mquinas s
vezes confundido com minerao de dados[5], que um sub-campo que foca mais em
anlise exploratria de dados e conhecido como aprendizado no supervisionado[6].
No campo da anlise de dados, o aprendizado de mquinas um mtodo usado para
planejar modelos complexos e algoritmos que prestam-se para fazer predies- no uso
comercial, isso conhecido como anlise preditiva. Esses modelos analticos
permitem que pesquisadores, cientistas de dados, engenheiros, e analistas possam
"produzir decises e resultados confiveis e repetitveis" e descobrir os "insights
escondidos" atravs do aprendizado das relaes e tendncias histricas nos dados.
[7]

ndice [esconder]
1 Resumo
1.1 Tipos de problemas e tarefas
2 Histria e relao com outros campos
2.1 Relao com estatstica
3 Teoria
4 Abordagens
4.1 Aprendizado baseado em rvores de deciso
4.2 Aprendizado por regras de associao
4.3 Rede neural artificial
4.4 Aprendizado profundo
4.5 Lgica de programao indutiva
4.6 Mquinas de vetores de suporte
4.7 Clustering
4.8 Redes Bayesianas
4.9 Aprendizado por reforo
4.10 Aprendizado por representao
4.11 Aprendizado por similaridade e mtrica
4.12 Aprendizado por dicionrio esparso
4.13 Algoritmos genticos
5 Aplicaes
6 Avaliao de modelos
7 Software
7.1 Software de fonte aberta e gratuita
7.2 Software particular com edies de fonte aberta e gratuita
7.3 Proprietary software
8 Peridicos
9 Conferncias
10 Ver tambm
11 Ligaes externas
12 Referncias
13 Para mais leituras
Resumo[editar | editar cdigo-fonte]
Tom M. Mitchell forneceu uma definio mais formal amplamente citada: "Se diz que
um programa de computador aprende pela experincia E com respeito a algum tipo de
tarefa T e performance P se sua performance P nas tarefas em T, como medidas por P,
melhoram com a experincia E."[8] Esta definio notvel pois define aprendizado
de mquina em termos fundamentalmente operacionais ao invs de cognitivos, de forma
a seguir a proposta de Alan Turing em seu artigo "Computadores e inteligncia" de
que a pergunta "Podem as mquinas pensar?" seja substituda pela pergunta "Podem as
mquinas fazer o que (ns como entidade pensantes) podemos fazer?"[9]

Tipos de problemas e tarefas[editar | editar cdigo-fonte]


As tarefas de aprendizado de mquina so tipicamente classificadas em trs amplas
categorias, dependendo da natureza do "sinal" ou "feedback" de aprendizado
disponvel para um sistema de aprendizado. Estes so:[10]

Aprendizagem supervisionada: apresentado ao computador exemplos de inputs e


outputs desejados, dados por um "professor", e o objetivo aprender uma regra
geral que mapea os inputs aos outputs.
Aprendizagem no supervisionada (clustering, estatstica): Nenhum tipo de etiqueta
dado ao algoritmo de aprendizado, deixando-o sozinho para encontrar estrutura em
seus inputs. A aprendizagem no supervisionada pode ser um objetivo em si mesma
(descobrir novos padres nos dados) ou um meio com um fim.
Aprendizagem por reforo: Um programa de computador interage com um ambiente
dinmico no qual ele deve desempenhar um determinado objetivo (como por exemplo,
dirigir um veculo), sem um professor lhe dizer explicitamente se ele chega perto
de seu objetivo ou no. Outro exemplo aprender a jogar um determinado jogo
justamente jogando contra um oponente.
Entre a aprendizagem supervisionada e no supervisionada est a aprendizagem semi-
supervisionada, na qual o professor d um sinal de treinamento incompleto: um
conjunto de treinamentos com alguns (muitas vezes vrios) dos outputs desejados
ausentes. Transduo um caso especial deste princpio onde o conjunto inteiro das
instncias do problema conhecido no momento do aprendizado, exceto que parte dos
objetivos est ausente.

Entre outras categorias de problemas de aprendizado de mquina, o meta aprendizado


aprende seu prprio vis indutivo baseado em experincia prvias. A robtica
epigentica, elaborada para a aprendizagem de robs, gera suas prprias sequncias
(tambm chamadas de currculo) de situaes de aprendizado para adquirir
cumulativamente repertrios de novas habilidades atravs de uma explorao autnoma
de si e da interao social com professores humanos, fazendo uso de mecanismo guias
tais como aprendizagem ativa, maturao, sinergias motoras e imitao.

Outra categorizao de tarefas de aprendizado de mquina surge quando se considera


o output desejado em um sistema de aprendizado de mquina:

Em classificao, inputs so divididos em duas ou mais classes, e o que aprende


deve produzir um modelo que designa inputs no vistos a uma ou mais (classificao
multi-etiquetada) dessas classes. Isto tipicamente abordado de forma
supervisionada. Filtragem de spam um exemplo de classificao, onde o input so
as mensagens de emails (ou outros) e as classes so "spam" ou "no spam".
Em regresso, tambm um problema supervisionado, os outputs so contnuos ou invs
de discretos.
Em clustering, um conjunto de inputs ser dividido em grupos. Diferente da
classificao, os grupos no so conhecidos previamente, fazendo do clustering uma
tarefa tipicamente no supervisionada.
Estimao de densidade encontra a distribuio de inputs em algum espao.
Reduo dimensional simplifica os inputs ao mapea-los em um espao de menor
dimenso. O modelo tpico um problema relacionado, onde se d uma lista de
documentos em linguagem humana ao programa pedindo a ele, como tarefa ,encontrar
quais documentos tratam de temas similares.
Histria e relao com outros campos[editar | editar cdigo-fonte]
Como um esforo cientfico, o aprendizado de mquina cresceu a partir da busca pela
inteligncia artificial. Ainda nos princpios da IA como disciplina acadmica,
alguns pesquisadores j se interessavam em fazer mquinas aprenderem a partir de
dados. Eles tentaram abordar o problema desde vrios mtodos simblicos, assim como
com o que foi ento nomeado de "rede neural artificial"; estes eram
majoritariamente perceptrons e outros modelos que mais tardes foram entendidos como
reinvenes de modelos linear generalizados de estatstica. A lgica probabilstica
tambm foi usada, especialmente em diagnsticos mdicos automatizados.[10]:488

No entanto, uma crescente nfase na abordagem lgica, baseada em conhecimento,


causou uma brecha entre a IA e o aprendizado de mquina. Sistemas probabilsticos
eram atormentados por problemas teorticos e prticos de aquisio e representao
de dados.[10]:488 Em 1980, sistemas especialistas haviam dominado a IA, e a
estatstica estava fora de uso.[11] Trabalhos em aprendizado baseado em
conhecimento/simblico continuaram com a IA, levando at a programao lgica
indutiva, mas agora as pesquisas mais voltadas para a estatstica estavam fora do
campo da IA, em reconhecimento de padres e recuperao de informao.[10]:708710;
755 Pesquisas em redes neuronais haviam sido abandonadas pela IA e cincia
computacional em torno do mesmo perodo. Essa linha, tambm, foi continuada forma
dos campos da IA e da cincia da computao, como "conexionismos", por
pesquisadores de outras disciplinas incluindo Hopfield, Rumelhart e Hinton. Seu
sucesso principal veio em meados dos anos 80 com a reinveno da propagao para
trs.[10]:25

O aprendizado de mquina, reorganizado como um campo separado, comeou a florescer


nos anos 90. O campo mudou seu objetivo de alcanar a inteligncia artificial para
abordar problemas solucionveis de natureza prtica. Ele abandonou o foco em
abordagens simblicas que havia herdado da IA para mtodos e modelos emprestados da
estatstica e da teoria da probabilidade.[11] Ele tambm se beneficiou do crescente
nmero de informao digitalizada disponvel e a possibilidade de distribuir ela
via internet.

O aprendizado de mquina e a minerao de dados com freqncia fazem uso dos mesmos
mtodos e se sobrepes significantemente, mas enquanto o aprendizado de mquina
foca em fazer previses, baseado em propriedades conhecidas aprendidas pelo dados
de treinamento, a minerao de dados foca em descobrir as propriedades
(previamente) desconhecidas nos dados (este o passo dado na anlise de extrao
de conhecimento na base de dados). A minerao de dados usa muitas mtodos do
aprendizado de mquina, mas com objetivos diferentes; por outro lado, o aprendizado
de mquina tambm faz uso de mtodos da minerao de dados como "aprendizado no
supervisionado" ou como um passo de processamento para melhorar a preciso do
aprendiz. Muita da confuso entre essas duas comunidades de pesquisa (que com
freqncia tem conferncias e peridicos separados, ECML PKDD sendo a grande
exceo) vem da suposio bsica com que eles trabalham: em aprendizado de mquina,
a performance normalmente avaliada com respeito a habilidade de reproduzir
conhecimento conhecido, enquanto que com a extrao de conhecimento e minerao de
dados (KDD) a tarefa chave o descobrimento de conhecimento previamente
desconhecido. Avaliado com respeito ao conhecimento conhecido, um mtodo uniforme
(no supervisionado) ser facilmente superado por outros mtodos supervisionados,
enquanto que em uma tarefa KDD tpica, mtodos supervisionados no podem ser usados
devido a no disponibilidade de dados de treinamento.

O aprendizado de mquina tambm tem laos ntimos com a otimizao: muitos dos
problemas de aprendizado so formulados como minimizao de algumas funes de
perda em um conjunto exemplo de treinamentos. Funes de perda expressam a
discrepncia entre as previses do modelo sendo treinado e as verdadeiras
instncias do problema (por exemplo, em classificao, o objetivo designar
etiquetas para instncias, e modelos so treinados para predizer corretamente as
etiquetas previamente designadas de um conjunto exemplo). A diferena entre os dois
campos surge do objetivo da generalizao: enquanto que o algoritmo de otimizao
pode minimizar a perda em um conjunto de treinamento, o aprendizado de mquina est
preocupado com a minimizao da perda de amostras no vistas.[12]

Relao com estatstica[editar | editar cdigo-fonte]


O aprendizado de mquina e a estatstica so campos intimamente relacionados. De
acordo com Michael I. Jordam, as ideias do aprendizado de mquina, dos princpios
metodolgicos s ferramentas tericas, tem uma longa pr-histria na estatstica.
[13] Ele tambm sugeriu o termo cincia de dados como um substituto para chamar o
campo como um todo.[13]

Leo Breiman distinguiu dois paradigmas da modelagem estatstica: modelo de dados e


modelo algortmico,[14] onde "modelo algortmico" significa mais ou menos os
algoritmos do aprendizado de mquina como a Floresta aleatria.

Alguns estatsticos tem adotado mtodos do aprendizado de mquinas, levando ao


campo combinado que eles chamam de aprendizado estatstico.[15]

Teoria[editar | editar cdigo-fonte]


Ver artigo principal: Teoria da aprendizagem computacional
Um dos objetivos centrais de um aprendiz generalizar a partir de suas
experincias.[16][17] Generalizao neste contexto a habilidade de uma mquina
aprendiz de desempenhar com preciso em novos, no vistos, exemplos/tarefas depois
de ter experimentado um conjunto de dados de aprendizado. Os exemplos de
treinamento vem de algumas, geralmente desconhecidas, distribuies de
probabilidade (consideradas representativas do espao de ocorrncia) e o aprendiz
tem de construir um modelo geral sobre este espao que o permita produzir previses
o suficientemente precisas em novos casos.

A anlise computacional de algoritmos de aprendizado de mquina e sua performance


um ramo da cincia da computao terica conhecida como teoria da aprendizagem
computacional. Porque os conjuntos de treinamento so finitos e o futuro incerto,
a teoria de aprendizado normalmente no guarda garantias para a performance dos
algoritmos. Em vez disso,previses probabilsticas para a performance so bastante
comuns. O tarde-off entre varincia e vis uma forma de qualificar o erro de
generalizao.

Para uma melhor performance no contexto de generalizao, a complexidade da


hiptese deveria combinar com a complexidade da funo subjacente aos dados. Se a
hiptese menos complexa que a funo, ento o modelo sub-ajustou (underfitting)
os dados. Se a complexidade do modelo aumentada em resposta, ento o erro de
treinamento diminui. Mas se a hiptese muito complexa, ento o modelo foi
sobreajustado (overfitting), e a generalizao ser mais pobre.[18]

Em adio aos limites da performance, tericos da aprendizagem computacional


estudam a complexidade do tempo e a viabilidade do aprendizado. Na teoria da
aprendizagem computacional, uma computao considerada vivel se puder ser feita
em tempo polinomial. H dois tipos de resultados de complexidade temporal.
Resultados positivos mostram que uma certa classe de funes pode ser aprendida em
tempo polinomial. Resultados negativos mostram que certas classes no podem ser
aprendidas em tempo polinomial.

Abordagens[editar | editar cdigo-fonte]


Aprendizado baseado em rvores de deciso[editar | editar cdigo-fonte]
Aprendizado baseado em rvores de deciso usa a rvore de deciso como um modelo de
previso, o qual mapeia as observaes sobre um item concluses sobre o valor do
objetivo desse item.

Aprendizado por regras de associao[editar | editar cdigo-fonte]


Ver artigo principal: Regras de associao
Aprendizado por regras de associao um mtodo para descobrir relaes
interessantes entre variveis em base de dados grandes.

Rede neural artificial[editar | editar cdigo-fonte]


Ver artigo principal: Rede neural artificial
Um algoritmo de aprendizado de rede neural artificial, normalmente chamado de "rede
neural" (RN), um algoritmo de aprendizado que inspirado na estrutura e aspectos
funcionais das redes neurais biolgicas. Computaes so estruturadas em termos de
um grupo interconectado de neurnios artificias, processando informao usando uma
abordagem de conexionismo na computao. Redes neuronais modernas so ferramentas
de modelagem de dados estatsticos no lineares. Normalmente eles so usados para
modelar relaes complexas entre inputs e outputs, para encontrar padres nos
dados, ou para capturar a estrutura estatstica em uma distribuio de
probabilidade conjunta desconhecida entre variveis observveis.

Aprendizado profundo[editar | editar cdigo-fonte]


Ver artigo principal: Aprendizado profundo
Os preos mais baixos dos hardwares e o desenvolvimento de GPUs para uso pessoal
nos ltimos anos contribuiu para o desenvolvimento do conceito de aprendizado
profundo, que consiste em mltiplas camadas escondidas em uma rede neural
artificial. Esta abordagem tenta modelar a forma com que o crebro humano processa
luz e som na viso e escuta. Alguns aplicaes teis do aprendizado profundo so
viso computacional e reconhecimento de fala.[19]

Lgica de programao indutiva[editar | editar cdigo-fonte]


Lgica de programao indutiva (LPI) uma abordagem que regra o aprendizado
fazendo uso de programao lgica como uma representao uniforme para exemplos de
inputs, conhecimento de pano de fundo, e hipteses. Dada uma codificao do pano de
fundo conhecido do conhecimento e um conjunto de exemplos representados como uma
base de dados lgica de fatos, um sistema LPI derivar uma lgica hipottica que
envolve todos os exemplos positivos e no negativos. A programao indutiva um
campo relacionado que considera qualquer tipo de linguagem de programao para
representar hipteses (e no apenas programaes lgicas), tais como as
programaes funcionais.

Mquinas de vetores de suporte[editar | editar cdigo-fonte]


Ver artigo principal: Mquina de vetores de suporte
Mquinas de vetores de suporte (MVSs) so um conjunto relacionado de mtodos de
aprendizado supervisionado usados para classificao e regresso. Dado um conjunto
de exemplos de treinamento, cada um marcado como pertencente de uma ou duas
categorias, um algoritmo de treino SVM constri um modelo que prediz se um novo
exemplo cai dentro de uma categoria ou outra.

Clustering[editar | editar cdigo-fonte]


Ver artigo principal: Clustering
Anlise de clusters a atribuio de um conjunto de observaes subconjuntos
(chamados clusters) de forma que as observaes dentro de um mesmo cluster so
similares de acordo com algum critrio ou critrios pr-designados, enquanto que
observaes feitas em clusters diferentes no so similares. Diferentes tcnicas de
clustering fazem diferentes suposies sobre a estrutura dos dados, freqentemente
definida por algumas mtricas de similaridade e avaliados, por exemplo, por
compacidade interna (similaridade entre membros de um mesmo cluster) e separao
entre clusters diferentes. Outros mtodos so baseado em estimaes de densidade e
grficos de conectividade. Clustering um mtodo de aprendizado no supervisionado
e uma tcnica comum em anlise de dados estatsticos.

Redes Bayesianas[editar | editar cdigo-fonte]


Ver artigo principal: Rede bayesiana
Uma rede bayesiana, rede de opinio ou um modelo grfico acclico dirigido um
modelo grfico probabilstico que representa um conjunto de variveis aleatrias e
suas independncias condicionais via um grafo acclico dirigido (GAD). Por exemplo,
uma rede bayesiana poderia representar as relaes probabilsticas entre doenas e
sintomas. Dado um sintoma, a rede pode ser usada para computar as probabilidades da
presena de vrias doenas. Existem algoritmos eficientes que desempenham
inferncia e aprendizado.

Aprendizado por reforo[editar | editar cdigo-fonte]


O aprendizado por reforo se preocupa com o como um agente deve agir em um ambiente
de forma que maximize alguma noo de recompensa a longo tempo. Os algoritmos de
aprendizado por reforo tentam encontrar a poltica que mapea os estados do mundo
s aes que o agente deve ter nesses estados. Aprendizado por reforo se distingue
do problema do aprendizado supervisionado no sentindo em que pares de input/output
corretos nunca so apresentados, nem as aes sub-timas so explicitamente
corrigidas.

Aprendizado por representao[editar | editar cdigo-fonte]


Vrios algoritmos de aprendizado, a maioria algoritmos de aprendizado no
supervisionado, tem como objetivo descobrir melhores representaes dos inputs que
so dados durante o treinamento. Exemplos clssicos incluem anlise de componentes
principais e anlise de clusters. Os algoritmos de aprendizagem por representao
com freqncia tentam preservar a informao e seu input mas transformando-a de
forma que a torne til, frequentemente como um passo pr-processamento antes de
desempenhar classificaes ou previses, permitindo a reconstruo dos inputs
vindos de dados geradores de distribuio desconhecidos, enquanto no sendo
necessariamente fiel configuraes que so implausveis sob essa distribuio.

Algoritmos de aprendizagem mltipla tentam fazer isso sob a restrio de que a


representao aprendida de baixa dimenso. Algoritmos de cdigo esparso tentam
fazer isso sob a restrio de que a representao aprendida espersa (tem muitos
zeros). O algoritmo de aprendizagem em subespac o multilinear tem como objetivo
aprender representaes de baixa dimenso diretamente das representaes de
tensores para dados multidimensionais, sem os transformas em vetores de alta
dimenso.[20] Algoritmos do aprendizado profundo descobrem mltiplos nveis de
representao, ou uma hierarquia de caractersticas, com um nvel mais alto,
caractersticas mais abstratas definidas em termos de (ou geradas a partir de)
caractersticas de nvel mais baixo. Tem sido argumentado que uma mquina
inteligente aquela que aprende uma representao que desembaraa os fatores
subjacentes de variao que explicam os dados observados.[21]

Aprendizado por similaridade e mtrica[editar | editar cdigo-fonte]


Neste problema, se d a mquina aprendiz pares de exemplos que so considerados
similares e pares de objetos menos similares. Ento ela precisa aprender uma funo
de similaridade (ou uma funo de distancia mtrica) que possa predizer se novos
objetos so similares. Isso as vezes usado em sistemas de recomendao.

Aprendizado por dicionrio esparso[editar | editar cdigo-fonte]


Neste mtodo, um dado representado como uma combinao ligar de funes bases, e
os coeficientes so assumidos como esparsos. Deixe x ser uma dado d-dimensional, D
ser um d por n matrizes, onde cada coluna de D representa uma funo base. r o
coeficiente para representar x usando D. Matematicamente, aprendizado por
dicionrio esparso significa resolver {\displaystyle x\approx Dr} {\displaystyle
x\approx Dr} onde r esparso. Falando genericamente, se assume que n maior que d
para permitir a liberdade para uma representao esparsa.

Aprender um dicionrio junto com representaes esparsas fortemente NP-completo e


tambm difcil de resolver aproximadamente.[22] Um mtodo heurstico popular para
aprendizado por dicionrio esparso o K-SVD.

Aprendizado por dicionrio esparso tem sido aplicado a vrios contextos. Em


classificao, o problema determinar a quais classes um dado previamente no
visto pertence. Suponha que um dicionrio para cada classe j tenha sido
construdo. Ento um novo dado associado com a classe de forma que esteja o
melhor esparcialmente representado pelo dicionrio correspondente. Aprendizado por
dicionrio esparso tambm tem sido aplicado a suavizao de imagem. A ideia chave
que um pedao de imagem limpa pode ser representado esparcialmente por um
dicionrio de imagem, mas o rudo no.[23]

Algoritmos genticos[editar | editar cdigo-fonte]


Ver artigo principal: Algoritmo gentico
Um algoritmo gentico (AG) uma busca heurstica que imita o processo de seleo
natural e usa mtodos com mutao e recombinao para gerar novos genotipos na
esperana de encontrar boas solues para um dado problema. Em aprendizado de
mquinas, algoritmos genticos encontraram alguma utilidade me 1980 e 1990.[24][25]
Vice versa, tcnicas do aprendizado de mquina tem sido usadas para melhorar a
performance de algoritmos genticos e evolutivos.[26]

Aplicaes[editar | editar cdigo-fonte]

Das könnte Ihnen auch gefallen