↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Distribuições Gaussianas formam um monóide – Parte 01

A página apresenta a biblioteca HLearn para Haskell como exemplo de uso de álgebra abstrata em aprendizado de máquina. O texto mostra distribuições Gaussianas como um caso em que treinamento, combinação e inversão podem ser tratados por meio de semigrupos, monóides e grupos, com ganhos práticos de desempenho.

Fichamento
#

  • A biblioteca HLearn quer mostrar que monóides, grupos e homomorfismos são úteis em problemas reais de aprendizado de máquina.
  • O texto usa distribuições Gaussianas porque elas são comuns em aprendizado, são fáceis de trabalhar e ficam determinadas pela média e pela variação.
  • O artigo diz que o treinamento de Gaussianas pode ser feito com a função train a partir de listas de dados.
  • A combinação de Gaussianas treinadas com <> produz o mesmo resultado que treinar tudo de novo sobre o conjunto completo de dados.
  • O texto afirma que essa operação de semigrupo leva tempo constante, enquanto refazer o treinamento a partir dos dados completos leva tempo linear.
  • A identidade do monóide é obtida treinando uma lista vazia, e isso coincide com mempty.
  • A distribuição Gaussiana também é tratada como grupo, porque a função inverse permite desfazer parte dos dados já incorporados.
  • No exemplo, retirar os salários dos estudantes de graduação da distribuição total é feito em tempo constante com inverse.
  • A classe tipo HomTrainer obedece à lei train (xs ++ ys) == (train xs) <> (train ys).
  • Dessa lei, o texto extrai três vantagens gratuitas: atualização online com add1dp, paralelização com parallel train e uma cross-validation mais rápida, embora essa última não seja aplicada à Gaussiana no exemplo.
  • O autor diz que não é preciso definir train explicitamente; basta definir a operação de semigrupo, e o compilador deduz o treinamento.