Falhas na abordagem de Deep Learning: Arquiteturas e Meta-parametrização

O maior desafio corrente enfrentado pela indústria no que diz respeito à Deep Learning está sem sombra de dúvidas na parte computacional em que todo o mercado está absorvendo tanto os serviços de nuvem para realizar cálculos cada vez mais complexos como também bem como investindo em capacidade de computação das GPU.

Entretanto, mesmo com o hardware nos dias de hoje já ser um commodity, a academia está resolvendo um problema que pode revolucionar a forma na qual se faz Deep Learning que é no aspecto arquitetural/parametrização.

Esse comentário da thread diz muito a respeito desse problema em que o usuário diz:

The main problem I see with Deep Learning: too many parameters.

When you have to find the best value for the parameters, that’s a gradient search by itself. The curse of meta-dimensionality.

Ou seja, mesmo com toda a disponibilidade do hardware a questão de saber qual é o melhor arranjo arquitetural de uma rede neural profunda? ainda não está resolvido.

Este paper do Shai Shalev-Shwartz , Ohad Shamir, e Shaked Shammah chamado “Failures of Deep Learning” expõe esse problema de forma bastante rica inclusive com experimentos (este é o repositório no Git).

Os autores colocam que os pontos de falha das redes Deep Learning que são a) falta de métodos baseados em gradiente para otimização de parâmetros, b) problemas estruturais nos algoritmos de Deep Learning na decomposição dos problemas, c) arquitetura e d) saturação das funções de ativação.

Em outras palavras, o que pode estar acontecendo em grande parte das aplicações de Deep Learning é que o tempo de convergência poderia ser muito menor ainda, se estes aspectos já estivessem resolvidos.

Com isso resolvido, grande parte do que conhecemos hoje como indústria de hardware para as redes Deep Learning seria ou sub-utilizada ao extremo (i.e. dado que haverá uma melhora do ponto de vista de otimização arquitetural/algorítmica) ou poderia ser aproveitada para tarefas mais complexas (e.g. como reconhecimento de imagens com baixo número de pixels).

Desta forma mesmo adotando uma metodologia baseada em hardware como a indústria vem fazendo, há ainda muito espaço de otimização em relação às redes Deep Learning do ponto de vista arquitetural e algorítmico.

Abaixo uma lista de referências direto do Stack Exchange para quem quiser se aprofundar mais no assunto:

Algoritmos Neuro-Evolutivos

Aprendizado por Reforço:

Miscelânea:

PS: O WordPress retirou a opção de justificar texto, logo desculpem de antemão a aparência amadora do blog nos próximos dias.

 

Falhas na abordagem de Deep Learning: Arquiteturas e Meta-parametrização

Comparação entre um modelo de Machine Learning e EuroSCOREII na previsão de mortalidade após cirurgia cardíaca eletiva

Mais um estudo colocando  alguns algoritmos de Machine Learning contra métodos tradicionais de scoring, e levando a melhor.

A Comparison of a Machine Learning Model with EuroSCORE II in Predicting Mortality after Elective Cardiac Surgery: A Decision Curve Analysis

Abstract: The benefits of cardiac surgery are sometimes difficult to predict and the decision to operate on a given individual is complex. Machine Learning and Decision Curve Analysis (DCA) are recent methods developed to create and evaluate prediction models.

Methods and finding: We conducted a retrospective cohort study using a prospective collected database from December 2005 to December 2012, from a cardiac surgical center at University Hospital. The different models of prediction of mortality in-hospital after elective cardiac surgery, including EuroSCORE II, a logistic regression model and a machine learning model, were compared by ROC and DCA. Of the 6,520 patients having elective cardiac surgery with cardiopulmonary bypass, 6.3% died. Mean age was 63.4 years old (standard deviation 14.4), and mean EuroSCORE II was 3.7 (4.8) %. The area under ROC curve (IC95%) for the machine learning model (0.795 (0.755–0.834)) was significantly higher than EuroSCORE II or the logistic regression model (respectively, 0.737 (0.691–0.783) and 0.742 (0.698–0.785), p < 0.0001). Decision Curve Analysis showed that the machine learning model, in this monocentric study, has a greater benefit whatever the probability threshold.

Conclusions: According to ROC and DCA, machine learning model is more accurate in predicting mortality after elective cardiac surgery than EuroSCORE II. These results confirm the use of machine learning methods in the field of medical prediction.

Comparação entre um modelo de Machine Learning e EuroSCOREII na previsão de mortalidade após cirurgia cardíaca eletiva

Paper Ensemble methods for uplift modeling

Esse paper sobre a aplicação de métodos ensemble especificamente em modelagem uplift, é um ótimo guia de como técnicas não são canônicas em termos de resolução de problemas.

Abstract: Uplift modeling is a branch of machine learning which aims at predicting the causal effect of an action such as a marketing campaign or a medical treatment on a given individual by taking into account responses in a treatment group, containing individuals subject to the action, and a control group serving as a background. The resulting model can then be used to select individuals for whom the action will be most profitable. This paper analyzes the use of ensemble methods: bagging and random forests in uplift modeling. We perform an extensive experimental evaluation to demonstrate that the application of those methods often results in spectacular gains in model performance, turning almost useless single models into highly capable uplift ensembles. The gains are much larger than those achieved in case of standard classifi- cation. We show that those gains are a result of high ensemble diversity, which in turn is a result of the differences between class probabilities in the treatment and control groups being harder to model than the class probabilities themselves. The feature of uplift modeling which makes it difficult thus also makes it amenable to the application of ensemble methods. As a result, bagging and random forests emerge from our evaluation as key tools in the uplift modeling toolbox.

Ensemble methods for uplift modeling

Paper Ensemble methods for uplift modeling

Comparação de Algoritmos de Aprendizado de Máquina de acordo com o hiperplano gerado de acordo com suas regiões de fronteira

Mostra a importância de entender o que cada algortimo faz e as suas aplicações.

Comparação de Algoritmos de Aprendizado de Máquina de acordo com o hiperplano gerado de acordo com suas regiões de fronteira

Algoritmos e Transparência

Neste post do Tim Harford é abordado dentro do contexto da falta de transparência dos algoritmos de HTF, entra em uma seara interessante a respeito do uso de algoritmos no suporte à decisão.

É mais do que necessário que seja realizada a reflexão e estudo antes de aplicar uma determinada regra para tomada de decisão, principalmente se parte do custo de ordenação e seleção de informações forem gerados via algoritmos.

Isso leva a uma preocupação que parece que ainda não está em pauta dentro da comunidade de mineração de dados, em especial em ensino e aplicação de ferramentas; preocupação essa que é de entendimento do que o processo computacional está realizando. Em outras palavras, saber o que ocorre “por trás dos bastidores”.

O ponto é que hoje, qualquer um está apto a utilizar uma suíte de mineração de dados, e até mesmo um SGDB (sic.) para decisões de negócios; entretanto, isso não elimina o débito técnico que a comunidade acadêmica tem sobre a explicação desses algortimos e principalmente o seu entendimento; e isso, pode levar a decisões totalmente black-box que é o inverso do que qualquer analista de mineração de dados deseja.

Algoritmos e Transparência

Introdução à Técnica de Árvores de Decisão

Este post de  Antonios Chorianopoulos no Inside Data Mining apresenta uma introdução bem interessante sobre o assunto colocando em perspectiva os algoritmos CART, C5.0 e CHAID em uma explicação bem simples e didática.

Introdução à Técnica de Árvores de Decisão

Mean-Shift

Esse post do Normal Deviate apresenta de uma maneira bem técnica o algoritmo que faz a distribuição da Mean-Shift (algo como mudança de média em tradução literal).

A Mean-Shift é uma técnica de Clustering (agrupamento) na qual tem como objetivo inferir a média dos clusters de acordo com uma função de densidade, na qual em uma janela de interesse (range de dados que compreende o círculo) de faz o cálculo da área em que há mais densidade, e nesse ponto será determinado o ponto central da Mean-Shift e o círculo de interesse se move até esse novo ponto central. Esse processo é realizado de forma sucessiva e só termina quando a Mean-Shift é igual a inferência anterior.

Como bem ressaltado no post, são basicamente 3 passos: (1) estimar a densidade, (2) encontrar a moda da densidade, e (3) associar cada ponto a uma moda.

Esse tipo de função de densidade é mais utilizada em processamento de imagens; mas também pode ser muito útil na análise visual de clusters em qualquer número de dimensões, na qual podem ser feitas análises para 1) detecção de anomalias (outliers), 2) identificação de padrões de outliers, e 3) através de um determinado range (janela de interesse) segmentar e concentrar as análises no ponto de maior densidade  e dentro desse espectro (Mean-Shift e Janela de Interesse) realizar segmentações e ações específicas de acordo com esses dados.

Esse tipo de estudo com Mean-Shift na análise de clusters em mineração de dados, auxilia a determinar espectros de analises em grupos com melhores segmentações e similaridades e com o ‘corte‘ determinado pela janela de interesse.

Um ponto negativo nessa abordagem, é que nem precisa olhar muito para ver que o custo computacional é alto (3 divisões aninhadas e um sigma ali no meio cheira algo de O(g(n))) e se pensarmos em uma análise de cluster trivial (que contenha 100K de registros, essa abordagem pode se tornar inviável.

Uma ótima referência é esse post da pesquisadora Gabriela Bauermann.

Esse vídeo do canal da Gabriela explica de forma visual como é feito o processo do algoritmo Mean-Shift.

PS: Seguem dois códigos para o Main-Shift, um é para Python e outro para Matlab.

Mean-Shift

Busca e Mineração de Trilhões subsequências de Séries Temporais sob Dynamic Time Warping

Neste paper os pesquisadores acreditam que o gargalo da performance da mineração de dados utilizando séries temporais é o tempo de resposta do cálculo das medidas de distância que são utilizadas; e a proposta é a utilização do algoritmo Dynamic Time Warping que faz a comparação entre duas instâncias (ou sequências) ao longo de um determinado período de tempo. É bem interessante e saí do lugar comum quando se trata de medidas de distância.

Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping – Thanawin Rakthanmanon, Bilson Campana, Abdullah Mueen, Gustavo Batista, Brandon Westover, Qiang Zhu, Jesin Zakaria, Eamonn Keogh

ABSTRACT
Most time series data mining algorithms use similarity search as a core subroutine, and thus the time taken for similarity search is the bottleneck for virtually all time series data mining algorithms. The difficulty of scaling  search to large datasets largely explains why most academic work on time series data mining has plateaued at considering a few millions of time series objects, while much of industry and science sits on billions of time series objects waiting to be explored. In this work we show that by using a combination of four novel ideas we can search and mine truly massive time series for the first time. We demonstrate the following extremely unintuitive fact; in large datasets we can exactly search under DTW much more quickly than the current state-of-the-art Euclidean distance search algorithms. We demonstrate our work on the largest set of time series experiments ever attempted. In particular, the largest dataset we consider is larger than the combined size of  all of the time series datasets considered in all data mining papers ever published. We show that our ideas allow  us to solve higher-level time series data mining problem such as motif discovery and clustering at scales that would otherwise be untenable. In addition to mining massive datasets, we will show that our ideas also have implications for real-time monitoring of data streams, allowing us to handle much faster arrival rates and/or use cheaper and lower powered devices than are currently possible. 

Link – http://www.cs.ucr.edu/~eamonn/SIGKDD_trillion.pdf

Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping

Busca e Mineração de Trilhões subsequências de Séries Temporais sob Dynamic Time Warping

Aprendizado de Máquina com Kardi Teknomo

Para quem está cansado de ver uma porção de recursos na WEB e em livros sobre aprendizado de máquina que não tem nenhuma abordagem prática esse site do pesquisador Kardi Teknomo tem uma série de implementações; inclusive utilizando Excel. 

Aprendizado de Máquina com Kardi Teknomo

Bibliotecas para Support Vector Machines

Como técnica de classificação o SVM tem sido bastante utilizado em casos de construção de sistemas especialistas  para indicação de ordens de stop e demais aplicações financeiras; e essas bibliotecas vem a ser um enriquecimento muito pertinente para quem deseja trabalhar com esse tipo de técnica independente da linguagem de programação. As implementações vão desde o código java, até chegar nas bibliotecas do R e do WEKA (Implementada pelo Prof. Yasser da Universidade de Iowa).

Bibliotecas para Support Vector Machines

Algorithmic Finance Journal

Um dos bons achados na internet, é esse excelente Journal of Algorithmic Finance que entre outros aspectos inerentes á área das finanças tem trabalhos muito interessantes sobre aplicação desses modelos dentro da esfera computacional. Vale a pena conferir.

Algorithmic Finance Journal