Concrete Logo
Hamburger button

Testinho 4

  • Blog
  • 29 de Dezembro de 2011
Share

[fblike]
O testinho 3 foi bem fácil, hein? Presentinho de papai Noel!

O Marcos Veloso explicou direitinho como fazer apenas 2 pesagens e abrir uma única embalagem.

Nem sempre nosso testinho será esta moleza mas ainda não será desta vez que teremos algo cascudo. Para acabar bem o ano voltei a uma área próxima de machine learning ou aprendizado de máquina. Na verdade um teste em uma área de conhecimento que é fundamental para machine learning.

Para resolver um problema usando computador, precisamos de um algoritmo. Mas para algumas tarefas isso não existe ou pelo menos não pode ser definido a priori.

Então a turma de inteligência artificial andou estudando meios de inferir algoritmos a partir de experiências passadas normalmente coletadas como massas de dados que funcionam como exemplos. É como se fosse um aprendizado a partir dos dados. Assim é possível fazer previsões, recomendações, reconhecer padrões (voz, escrita, imagem, etc.), avaliar riscos, programar robots e muitas outras coisas.

Quando a gente estuda machine learning, acaba esbarrando mesmo contra a vontade, em muita estatística mais álgebra linear, information retrieval, lidar com grandes volumes de dados, map reduce e muitas coisas mais. Outros casos de uso comuns são: recomendar amigos ou produtos, classificar alguma coisa em um grupo, achar similar, descobrir/reconhecer padrões de associação em ações ou comportamentos, identificar tópicos chaves dentro de um texto, detectar anomalias em resultados, rankear buscas e onde mais sua imaginação levar.

Até uns 10 anos atrás, os conceitos de machine learning eram somente associados com Data Mining. Data mining basicamente consiste em extrair conhecimento de dados estruturados em bases de dados. De uns tempos para cá surgiu o termo web mining que usa os meios de data mining para extrair informações de dados da web. São 3 as categorias de web mining: content mining (examina documentos web, também chamado de text mining), structure mining (pesquisa os links, quem foi de onde para onde) e usage mining (procura padrões normalmente nos logs).

A necessidade de se fazer web mining aumentou mais ainda o interesse por machine learning. Então aí vai mais um testinho de machine learning que se enquadra na área de classificação e que envolve um conceito estatístico bastante usado:

 
Segundo pesquisas, a taxa de sucesso de projetos de software utilizando Waterfall é de 15%.

Com o inicio da adoção dos métodos ágeis, a taxa de sucesso de projetos em geral aumentou para 40%.

Dado que a empresa acabou de terminar um projeto de sucesso, qual a probabilidade de que este projeto tenha utilizado métodos ágeis?

 

Como ainda estamos no espírito de festas de fim de ano, aí vai uma tremenda dica: lembrem-se de um certo reverendo inglês Thomas Bayes, que em 1760 e poucos criou uma regra para achar a probabilidade de acontecer um evento A, dado um conjunto finito de outros eventos Bi ocorridos de forma independente {Bi, i=1,2,…n}

Este teste foi criado pelo Victor Hugo Oliveira, nosso diretor e forte entusiasta de desenvolvimento ágil. Aliás preciso ressaltar como é bom trabalhar em uma empresa em que os diretores são os primeiros a enaltecer a necessidade de boas práticas de engenharia de software e que buscam contratos mostrando aos clientes as vantagens do desenvolvimento ágil.

Boa sorte e um excelente 2012 para todos.