📎 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.
