Os números de 2015

Os duendes de estatísticas do WordPress.com prepararam um relatório para o ano de 2015 deste blog.

Aqui está um resumo:

A sala de concertos em Sydney, Opera House tem lugar para 2.700 pessoas. Este blog foi visto por cerca de 59.000 vezes em 2015. Se fosse um show na Opera House, levaria cerca de 22 shows lotados para que muitas pessoas pudessem vê-lo.

Clique aqui para ver o relatório completo

Os números de 2015

Utilização de Random Forests para o problema de compartilhamento de bicicletas em Seattle

Não é mais necessário dizer que o futuro das cidades vai passar pela a análise de dados e principalmente pela a aplicação da inteligência para resolução de problemas dos pagadores de impostos.

Nesse caso específico o problema era que o sistema de trens urbanos de Seattle disponibiliza 500 bicicletas em suas estações e que a oferta dessas bicicletas deve estar ajustada com a demanda de cada estação.

Aqui está o post original, e a abordagem utilizada:

“From clustering, I discovered two distinct ecosystems of bike stations—Seattle, and the University District—based on traffic flows from station to station,” Sadler said. “It turned out that having separate models for each lent itself to much better predictions.”

Sadler modeled hourly supply and hourly demand separately for each of the two ecosystems, summing the result to predict the change in current bike count, based on the current bike count data from the Pronto API. To do this, he used multiple random forest algorithms, each tuned for a specific task.

“Having groups of smaller random forests worked much better than having a single large random forest try to predict everything,” Sadler said. “This is probably due to the different ecosystems having vastly different signals and different types of noise.”

The model—which is actually two models (a random forest for each ecosystem), of which the branches of each are composed of additional random forests—draws from historical demand based on the current season, current hour, and current weekend. It also uses meta information about each station, such as elevation, size, and proximity to other stations. The model leverages this information to discover signals and patterns in ride usage, then predicts based on the signal it finds.

Utilização de Random Forests para o problema de compartilhamento de bicicletas em Seattle

Dismistificando Deep Reinforcement Learning

Um dos tópicos mais quentes em Data Science é a utilização de Deep Learning para problemas ligados à computação visual.

No entanto, nesse post do Nervana uma abordagem que mescla Deep Learning e Reinforcement Learning (Aprendizado por Reforço) é usada para jogar um determinado título no Atari.

Provavelmente esse é o melhor post sobre o assunto, tanto pela a abordagem, quanto pelo grau de profundidade pelo qual o autor trata o assunto.

A ideia geral é que não adianta colocar uma Deep Neural Network para o aprendizado, sendo que em termos combinatórios o espaço de busca é muito grande (1067970  estados pra ser mais preciso).

Dessa forma a abordagem consistiu em combinar Aprendizado por Reforço para formulação da estrutura de recompensa e punição (tanto no curto prazo quanto para ações no longo prazo), cadeia de Markov para modelagem do ambiente/sequências e repetições, e uma abordagem que os autores chamam de Q-Learning.

Q-Learning é explicado pelo autor como:

In Q-learning we define a function Q(s, a) representing the maximum discounted future reward when we perform action a in state s, and continue optimally from that point on.

Screen Shot 2015-12-21 at 11.09.47 AM

The way to think about Q(s, a) is that it is “the best possible score at the end of the game after performing action a in state s“. It is called Q-function, because it represents the “quality” of a certain action in a given state.

Enfim, esse artigo vale a pena para quem quem trabalha com modelagem de problemas não só da computação visual, como também quem trabalha com problemas estruturados.

Dismistificando Deep Reinforcement Learning

Lições em competições do Kaggle

Já é desnecessário dizer o quando o Kaggle vem contribuindo com a comunidade de Data Science, e essas lições do Harasymiv mostram que essas contribuições vão além do básico.

Vejam abaixo:

  • XG Boosting is the engine of choice for structured problems (where feature manufacturing is the key). Now available as python package. Behind XG are the typical suspects – Random Forest and Gradient Boosted Trees. However, hyper parameter tuning is only the few % accuracy points improvement on top, the major breakthroughs in predictive power come from feature manufacturing;
  • Feature manufacturing for structured problems is the key process (or otherwise random permutation of features to find most predictive/telling combination) either by iteratively trying various approaches (as do thousands of individual contributions to Kaggle.com competition) or in an automatic fashion (as done by DataRobot. BTW, DataRobot is based partially in Boston and partially in Ukraine). Some Amazon engineers who attended from Seattle commented they are building a platform which would iteratively try to permute features to randomly (aka “genetic algorithm” fashion) find best features for structured problems, too;
  • For unstructured problems (visuals, text, sound) – Neural Networks run the show (and their deep learning – auto feature extracting – and variants of those). Great example was application of NN to Diabetic Retinopathy problem at Kaggle.com which surpassed in accuracy commercially available products;
  • Kaggle.com is really suitable for two types of problems:
      A problem solved now for which a more accurate solution is highly desirable – any fraction % accuracy turns into millions of $ (e.g. loan default rate prediction) or

    • Problems which were never tackled by machine learning in order to see if ML can help solve them (e.g. EEG readings to predict epilepsy);
  • Don’t expect data scientists to perform best in the office! Anthony mentioned his first successful 24h data science hackathon when his senior was guiding him 5 min, coding himself for 15 min and then playing basketball for 40 min each hour. Personally, I find walking, gardening and running are great creativity boosters. How will you work tomorrow? 🙂

Lições em competições do Kaggle