56 votes

Ressources pour travailler avec l'Apprentissage de la Machine en F#

J'ai appris une Machine de cours d'Apprentissage à l'aide de Matlab comme un outil de prototypage. Depuis que je suis accro à F#, je voudrais continuer mon Apprentissage de la Machine étude en F#.

Je souhaiterez peut-être utiliser F# tant pour le prototypage et la production, et donc une Machine cadre de l'Apprentissage serait un bon début. Sinon, je peux commencer avec une collection de bibliothèques:

  • Hautement optimisé algèbre linéaire bibliothèque
  • Logiciel de statistiques
  • Bibliothèque de visualisation, qui permet de dessiner et d'interagir avec des diagrammes, des schémas...)
  • Parallel computing toolbox (similaire à Matlab parallel computing toolbox)

Et les ressources les plus importantes (pour moi) sont des livres, des articles de blog et des cours en ligne concernant l'Apprentissage de la Machine dans un langage de programmation fonctionnel (F#/OCaml/Haskell...).

Quelqu'un peut-il suggérer que ces types de ressources? Merci.


EDIT:

C'est un résumé basé sur les réponses ci-dessous:

Machine de cadres d'Apprentissage:

  • Infer.NET: un .NET framework pour l'inférence Bayésienne dans les modèles graphiques avec de bonnes F# soutien.
  • WekaSharper: a F# wrapper autour de la populaire exploration de données cadre de Weka.
  • Microsoft Sho: continue de l'environnement de développement pour l'analyse des données (y compris les opérations matricielles, de l'optimisation et de visualisation).NET plate-forme.

Bibliothèques:

Liste de lecture:

Toute autre pointeurs ou des suggestions sont également les bienvenues.

18voto

Tomas Petricek Points 118959

Il n'y a pas un seul endroit à regarder pour les ressources sur F# et d'apprentissage de la machine, mais voici quelques liens qui peuvent être utiles:

  • Le Calcul numérique de la section sur MSDN est une bonne ressource sur l'utilisation de diverses bibliothèques numériques à partir de F#. Le plus avancé de la bibliothèque qui implémente l'algèbre linéaire et d'autres algorithsm utile dans l'apprentissage de la machine est Math.NET Numerics.

  • La visualisation de Données article sur MSDN dispose de certaines ressources sur les graphiques de F#. Le FSharpChart de la bibliothèque est désormais maintenu par Carl Nolan qui publie régulièrement des mises à jour de son blog.

Il y a aussi quelques pages personnelles de gens qui travaillent sur des sujets pertinents:

  • Jurgen van Gael (qui n'a de Doctorat de l'apprentissage automatique) ont contribué à la Math.NET bibliothèque et vous pouvez lire à propos de son expérience ici.

  • Yin Zhu qui a écrit le Calcul Numérique chapitre sur MSDN (et est d'un PhD étudiant qui s'intéresse à l'apprentissage de la machine) a fait quelques excellents articles sur son blog.

8voto

Rick Minerich Points 2407

En plus de ce que Tomas mentionné, j'ai passé un peu de temps avec Infer.NET il ya un an et a trouvé que c'était assez bon pour continue les modèles graphiques. Je sais que c'est beaucoup améliorées au cours de la dernière année, à la fois la portée de la bibliothèque et F# soutien. Je propose de le vérifier et voir si il a tout ce dont vous avez besoin.

5voto

Yin Zhu Points 10438

Hal Daume a mis en place beaucoup d'algorithmes d'apprentissage automatique dans le cas d'OCaml et Haskell. De détails, voir ma réponse dans l'apprentissage de la Machine en OCaml ou Haskell?

Comme du côté du Calcul Numérique en F#, chapitre de livre sur MSDN, je voudrais également recommander mon Wrapper pour Weka, WekaSharper. Il vous permet d'appeler des algorithmes d'apprentissage automatique dans Weka à l'aide d'un F#interface facile à utiliser.

J'ai écrit un article, Pourquoi F# est le langage pour l'exploration de données, qui reflète ma pensée quand j'ai fini d'écrire un alpha/prototype d'exploration de données de paquet en F#. libml est disponible en ligne. Mais le code a été écrit il y a deux ans quand j'ai commencé à utiliser le F#, et je n'ai pas le temps pour le maintenir depuis.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X