Abordagem de Machine Learning para descoberta de regras para performance de guitarra jazz

Um estudo muito interessante de padrões de guitarra Jazz.

A Machine Learning Approach to Discover Rules for Expressive Performance Actions in Jazz Guitar Music

Expert musicians introduce expression in their performances by manipulating sound properties such as timing, energy, pitch, and timbre. Here, we present a data driven computational approach to induce expressive performance rule models for note duration, onset, energy, and ornamentation transformations in jazz guitar music. We extract high-level features from a set of 16 commercial audio recordings (and corresponding music scores) of jazz guitarist Grant Green in order to characterize the expression in the pieces. We apply machine learning techniques to the resulting features to learn expressive performance rule models. We (1) quantitatively evaluate the accuracy of the induced models, (2) analyse the relative importance of the considered musical features, (3) discuss some of the learnt expressive performance rules in the context of previous work, and (4) assess their generailty. The accuracies of the induced predictive models is significantly above base-line levels indicating that the audio performances and the musical features extracted contain sufficient information to automatically learn informative expressive performance patterns. Feature analysis shows that the most important musical features for predicting expressive transformations are note duration, pitch, metrical strength, phrase position, Narmour structure, and tempo and key of the piece. Similarities and differences between the induced expressive rules and the rules reported in the literature were found. Differences may be due to the fact that most previously studied performance data has consisted of classical music recordings. Finally, the rules’ performer specificity/generality is assessed by applying the induced rules to performances of the same pieces performed by two other professional jazz guitar players. Results show a consistency in the ornamentation patterns between Grant Green and the other two musicians, which may be interpreted as a good indicator for generality of the ornamentation rules.

Algumas das regras encontradas

3.1.2. Duration Rules

• D1: IF note is the final note of a phrase AND the note appears in the third position of an IP (Narmour) structure THEN shorten note
• D2: IF note duration is longer than a dotted half note AND tempo is Medium (90–160 BPM) THEN shorten note
• D3: IF note duration is less than an eighth note AND note is in a very strong metrical position THEN lengthen note.
3.1.3. Onset Deviation Rules

• T1: IF the note duration is short AND piece is up-tempo (≥ 180 BPM) THEN advance note
• T2: IF the duration of the previous note is nominal AND the note’s metrical strength is very strong THEN advance note
• T3: IF the duration of the previous note is short AND piece is up-tempo (≥ 180 BPM) THEN advance note
• T4: IF the tempo is medium (90–160 BPM) AND the note is played within a tonic chord AND the next note’s duration is not short nor long THEN delay note
3.1.4. Energy Deviation Rules

• E1: IF the interval with next note is ascending AND the note pitch not high (lower than B3) THEN play piano
• E2: IF the interval with next note is descending AND the note pitch is very high (higher than C5) THEN play forte
• E3: IF the note is an eight note AND note is the initial note of a phrase THEN play forte.

Conclusões do estudo

Concretely, the obtained accuracies (over the base-line) for the ornamentation, duration, onset, and energy models of 70%(67%), 56%(50%), 63%(54%), and 52%(43%), respectively. Both the features selected and model rules showed musical significance. Similarities and differences among the obtained rules and the ones reported in the literature were discussed. Pattern similarities between classical and jazz music expressive rules were identified, as well as expected dissimilarities expected by the inherent particular musical aspects of each tradition. The induced rules specificity/generality was assessed by applying them to performances of the same pieces performed by two other professional jazz guitar players. Results show a consistency in the ornamentation patterns between Grant Green and the other two musicians, which may be interpreted as a good indicator for generality of the ornamentation rules.

 

Abordagem de Machine Learning para descoberta de regras para performance de guitarra jazz

O que é ideal no modelo: Acurácia ou Explicabilidade?

Esse post provocador do Inference vem em uma boa hora dado que está um hype bem alto a respeito de Deep Learning, e há muitas dúvidas a respeito do seu poder preditivo, este que muitas vezes flertam com o overfitting mas esse não é o motivo desse post.

O ponto principal que eu gostaria de ressaltar é que de acordo com o autor, em um dos workshops do NIPS sobre Aprendizado Black Box e Inferência, em que o principal ponto dos conferencistas foi que o trade-off entre acurácia e explicabilidade não somente é falso, como a explicabilidade não faz parte da propriedade do modelo.

Para quem não sabe o que é esse trade-off, os autores exemplificam no paper:

  • accurate but black-box: The best classification accuracy is typically achieved by black-box models such as Gaussian processes, neural networks or random forests, or complicated ensembles of all of these. Just look at the kaggle leaderboards. These are called black-box and are often criticised because their inner workings are really hard to understand. They don’t, in general, provide a clear explanation of the reasons they made a certain prediction, they just spit out a probability.
  • white-box but weak: On the other end of the spectrum, models whose predictions are easy to understand and communicate are usually very impoverished in their predictive capacity (linear regression, a single decision tree) or are inflexible and computationally cumbersome (explicit graphical models).

Em outras palavras, os autores argumentam que, o fator de explicabilidade de um modelo é muito mais uma confabulaçcão a posteriori do que funcionou ou não, do que algo que deveria ser uma propriedade do modelo.

Como diria Nassim Taleb em Fooled By Randomness, a mente humana é uma máquina de realizar previsões e contar histórias… A posteriori

Isso é, fazer divagações em relação ao funcionamento de um determinado modelo de acordo com propriedades do mesmo, não faz sentido, na ótica dos autores.

No entanto, o ponto que eu acho que não foi tocado é de que com o crescimento dos modelos cada vez mais black-box como o do Netflix e afins, o principal fator do aprendizado de máquina (Machine Learning) é que de uma maneira ou de outra não conseguimos colocar o aspecto de cognição para ajustar ou mesmo saber o que está dando certo ou errado com o modelo em termos paramétricos e principalmente estruturais.

Não é preciso ir muito longe para ver que esse é um ponto pertinente, basta ver a indústria financeira, em que centenas de bilhões de dólares residem em modelos que muitas vezes os operadores não sabem nem o que está acontecendo.

Os eventos como o Flash Crash de 2010, o fátidico episódio da Knight Capital que perdeu USD 440 milhões em 30 minutos, e do London Whale que custou mais de USD 2 bilhões devido a erros nas estratégias de alguns derivativos mostram que ainda o poder de discernimento e análise do agente humano ainda é necessário para o refinamento do modelo, este que vai muito além da combinação paramétrica; mas que chega a aspectos estruturais do modelo como o todo.

A discussão é boa e ainda não vai parar por aqui.

Link para artigo original: TURNER, Ryan. A Model Explanation System

Paper Turner NIPS 2015

O que é ideal no modelo: Acurácia ou Explicabilidade?

Métricas de Avaliação de Modelos de Classificação/Predição

A algum tempo estava namorando a ideia de escrever sobre esse assunto que eu julgo ser importantíssimo para quem está aprendendo, aplicando, e principalmente ensinando Data Mining; e que as vezes me incomoda ver como esse tópico tem tão pouco destaque.

Essas métricas de avaliação de modelos tem suas origens em uma disciplina chamada Recuperação da Informação (de Informações), que nada mais é que uma teoria que estuda a forma em que os documentos são recuperados de forma automática.

Essas métricas surgiram dentro dessa teoria como uma forma de  avaliar se o sistema de Recuperação de Informações estava se comportando da maneira na qual ele foi proposto; isso é, avaliar não somente se o sistema estava recuperando as informações corretas, mas também verificando o quanto o sistema estava abstraindo as informações erradas.

Ao longo do tempo, muitos pesquisadores viram que essas métricas de recuperação da informação poderiam ser aplicadas em classificadores e modelos de predição para determinar as características de cada um dos modelos.

Note-se que não foram colocados os adjetivos “melhor” ou “pior“. É importante ressaltar esse aspecto devido ao fato de que cada modelo é único e a qualidade pode ser relativa; principalmente se estiver sendo considerada uma abordagem sensível ao custo (que pode ser lida aqui, aqui, aqui , aqui, aqui e aqui)

Dado esse pequeno background (que será explorado em postagens futuras), o motivo principal desse post é recomendar um link para quem quiser avaliar os respectivos modelos de classificação e predição de forma correta que é o Teste Diagnóstico da Universidade Federal do Paraná.

É bem simples.

Pegam-se os resultados da matriz de confusão, coloca nos campos em azul e automaticamente são calculadas os parâmetros de avaliação de modelos; e ainda de quebra tem as descrições das métricas.

Testes

As métricas estão no site e são as seguintes:

ACURÁCIA

A proporção de predições corretas, sem levar em consideração o que é positivo e o que é negativo. Esta medida é altamente suscetivel a desbalanceamentos do conjunto de dados e pode facilmente induzir a uma conclusão errada sobre o desempenho do sistema.

ACURACIA = TOTAL DE ACERTOS / TOTAL DE DADOS NO CONJUNTO
ACURACIA = (VP + VN) / (P + N)

SENSIBILIDADE

A proporção de verdadeiros positivos: a capacidade do sistema em predizer corretamente a condição para casos que realmente a têm.

SENSIBILIDADE = ACERTOS POSITIVOS / TOTAL DE POSITIVOS
SENSIBILIDADE = VP / (VP + FN)

ESPECIFICIDADE

A proporção de verdadeiros negativos: a capacidade do sistema em predizer corretamente a ausência da condição para casos que realmente não a têm.

ESPECIFICIDADE = ACERTOS NEGATIVOS / TOTAL DE NEGATIVOS
ESPECIFICIDADE = VN / (VN + FP)

EFICIÊNCIA

A média aritmética da Sensibilidade e Especificidade. Na prática, a sensibilidade e a especificidade variam em direções opostas. Isto é, geralmente, quando um método é muito sensível a positivos, tende a gerar muitos falso-positivos, e vice-versa. Assim, um método de decisão perfeito (100 % de sensibilidade e 100% especificidade) raramente é alcançado, e um balanço entre ambos deve ser atingido.

EFICIENCIA = (SENS + ESPEC) / 2

VALOR PREDITIVO POSITIVO

A proporção de verdadeiros positivos em relação a todas as predições positivas. Esta medida é altamente suscetivel a desbalanceamentos do conjunto de dados e pode facilmente induzir a uma conclusão errada sobre o desempenho do sistema.

VPP = ACERTOS POSITIVOS / TOTAL DE PREDIÇÕES POSITIVAS
VALOR PREDITIVO POSITIVO = VP / (VP + FP)

VALOR PREDITIVO NEGATIVO

A proporção de verdadeiros negativos em relação a todas as predições negativas. Esta medida é altamente suscetivel a desbalanceamentos do conjunto de dados e pode facilmente induzir a uma conclusão errada sobre o desempenho do sistema.

VPN = ACERTOS NEGATIVOS / TOTAL DE PREDIÇÕES NEGATIVAS
VALOR PREDITIVO NEGATIVO = VN / (VN + FN)

COEFICIENTE DE CORRELAÇÃO DE MATTHEWS – COEFICIENTE (PHI)

O coeficiente de correlação de Matthews é uma medida de qualidade de duas classificações binárias que pode ser usada mesmo se as classes possuem tamanhos bastante diferentes. Retorna um valor entre (-1) e (+1), em que um coeficiente de (+1) representa uma predicao perfeita, (0) representa uma predicao aleatoria media, e (-1) uma predicao inversa. Esta estatistica é equivalente ao coeficiente phi, e tenta, assim como a eficiência, resumir a qualidade da tabela de contingência em um único valor numérico passivel de ser comparado.

phi = (VP*VN – FP*FN) / sqrt((VP + FP)*(VP + FN)*(VN + FP)*(VN + FN))

Note que, se qualquer uma das somas no denominador for igual a (0), o denominador pode ser considerado (1), resutando em um phi igual a (0) que seria o limite correto para esta situação.

Para Ler:

KOHAVI, Ron; PROVOST, Foster. Glossary of terms. Machine Learning, v. 30, n. 2-3, p. 271-274, 1998.

Métricas de Avaliação de Modelos de Classificação/Predição