Aprendizado de Máquina

Aprendizado de Máquina

Introducao

a

Sabemos que atualmente a área de IA (inteligencia artificial) está cada vez maior e cada vez mais estável no mercado
tanto de trabalho como econômica. O tópico abordado hoje será uma das áreas da IA, conhecida como aprendizado de máquina.

Aprendizado de Máquina

Como dito anteriormente, trata-se de uma área da IA e então isso nos remete pensar em robôs, computadores falantes, entre outras
"aberrações" por aí. Mas isso não é verdade. O que acontece de fato, é que somos nós programadores quem de fato opera sobre as máquinas.
De forma simples e fácil, é fazermos com que o computador perceba, dado um conjunto de entradas, um padrão.



Depois de vários agentes "inteligentes" que surgiram antes do aprendizado de máquina (ex.: algoritmos de busca), perguntou-se
se um computador poderia realmente aprender.



A resposta infelizmente é não. Apesar de que uma das bases fundamentais da IA é o próprio ser humano (genética, neurônio, etc),
ainda nao descobrimos uma forma de fazer com que o computador aprenda exatamente como nós seres humanos. Isso seria
de tamanha utilidade, como percebemos por exemplo, pelos carros autônomos: o fato do carro ser dirigido por uma inteligencia
artificial evitaria inúmeros acidentes no trânsito, pois computadores não sentem sono, não dirigem embriagados e muito
menos desrespeitam as leis.



Para suprir tais necessidades, inúmeras pesquisas são feitas na área, surgindo cada vez mais algoritmos complexos e porem
eficazes capazes de treinar de fato um computador.

Tipos de aprendizado


AM


Antes de falarmos dos algoritmos, vamos ver como podem ser classificados cada uma delas: temos 3 classificações:

  1. Aprendizado Supervisionado
  2. Intuitivamente, o nome nos faz perceber que deve ter alguém presente para o aprendizado. Por exemplo, uma aula com um professor, onde nós alunos estariamos aprendendo com a supervisão do professor. Para nós, isso quer dizer que dentro do próprio algoritmo, já dizemos quais são as respostas certas do problema. A vantagem desse aprendizado é a sua eficiencia. Já a desvantagem é que nem sempre sabemos as respostas certas, logo funciona para um conjunto limitado de problemas.

  3. Aprendizado Nao Supervisionado
  4. Ao contrário do supervisionado, o próprio programa em si reconhece o padrão contido nos dados de entrada. Através de pesos o algoritmo é capaz de determinar cada característica.

  5. Aprendizado por Reforço
  6. O reforço para nós são recompensas ou punições. O agente realiza o reconhecimento do padrão e gera uma resposta. Dependendo do grau de acerto da resposta, damos recompensa ou punição. Após realizado o reforço, o próprio agente deve reconhecer se os passos realizados foram bons (recompensa) ou ruins (punição) e se auto-ajustar para a próxima saída.

Fases do Aprendizado

Todos os algoritmos de aprendizado constituem de duas partes principais: treinamento e utilização.

  • Treinamento
  • Usamos um dataset de exemplo para o algoritmo. Através dele todos os parâmetros são ajustados para que a saída se aproxime da saída desejada.

  • Utilizacao
  • É a fase de teste do algoritmo final. Apresentamos um outro conjunto de dados nunca visto anteriormente e analisamos as saídas do algoritmo. Caso estejam de acordo, o algoritmo está funcionando.

Tipos de Problemas

Alguns problemas em que podemos utilizar o aprendizado de máquina para resolver:

Problems

  • Classificacao
  • Separar as entradas em diferentes classes. Exemplo: em uma imagem, diferenciar gatos de cachorros.

  • Regressao
  • Previsão de acontecimentos futuros baseados nos dados de ontem. Por exemplo: prever o valor do dólar amanhã, em base das variáveis da semana passada.

  • Estimação de Densidade
  • Estimar quantas diferentes categorias estão presentes no dataset.

Dificuldades do aprendizado de máquina


  • Generalizacao
  • Generalizar um problema é extremamente complexo, porém sempre é o tipo de solução idela que gostaríamos. Fazer o computador aprender por memorização possui custo alto e pouca aplicação.

  • Overfitting
  • Quando se utiliza um exemplo pouco variado, o algoritmo consegue bons resultados para o dataset de exemplo mas nos datasets de uso possuem uma taxa de erro maior.

  • Underfitting
  • Quando se utiliza um exemplo muito simples, o algoritmo tende a obter alta taxa de erro na aprendizagem.

Algoritmos


  • Aprendizado Supervisionado
    1. Arvores de decisao
    2. KNN
    3. SVM
    4. Redes Neurais

  • Aprendizado Nao Supervisionado
    1. Clusterizacao sequencial
    2. Clusterizacao hierarquica
    3. K-Means

Redes Neurais



Comentários

Postagens mais visitadas deste blog

Emulador de Nintendo DS para pc: DesMuMe

NirCmd um plugin poderoso para seu cmd

PPSSPP O emulador de PSP