Ресурсы для работы с машинным обучением в F #

Я изучил курс машинного обучения, используя Matlab в качестве инструмента для создания прототипов. Поскольку я стал зависимым от F #, я хотел бы продолжить изучение машинного обучения в F #.

Я могу использовать F # как для прототипирования, так и для создания рамки машинного обучения. В противном случае я могу начать с набора библиотек:

  • Высокооптимизированная библиотека линейной алгебры
  • Пакет статистики
  • Библиотека визуализации (которая позволяет рисовать и взаимодействовать с диаграммами, диаграммами...)
  • Панель инструментов параллельных вычислений (аналогична панели инструментов параллельных вычислений Matlab)

И самые важные ресурсы (для меня) - это книги, сообщения в блогах и онлайн-курсы, касающиеся машинного обучения на функциональном языке программирования (F #/OCaml/Haskell...).

Может ли кто-нибудь предложить такие виды ресурсов? Спасибо.


EDIT:

Это сводка, основанная на ответах ниже:

Механизм машинного обучения:

  • Infer.NET: платформа .NET для байесовского вывода в графических моделях с хорошей поддержкой F #.
  • WekaSharper: обертка F # вокруг популярной структуры интеллектуального анализа данных Weka.
  • Microsoft Sho: непрерывная разработка среды для анализа данных (включая операции с матрицами, оптимизацию и визуализацию) на платформе .NET.

Связанные библиотеки:

  • Math.NET Numerics: внутреннее использование Intel MKL и AMD ACML для матричных операций и поддержки статистических функций.

  • Microsoft Solver Foundation: хорошая структура для задач линейного программирования и оптимизации.

  • FSharpChart: хорошая библиотека визуализации данных в F #.

Список чтения:

  • Численные вычисления: отлично подходит для Machine Learning в F # и предлагает различные инструменты и советы/рекомендации для работы с этими библиотеками Math в F #.
  • Блог F # и Data Mining: настоятельно рекомендуется также рекомендовать главе книги Numerical Computing Инь Чжу.
  • F # как замена Octave/Matlab для машинного обучения: Gustavo только что начал серию сообщений в блогах, используя F # в качестве инструмента разработки. Хорошо видеть, что многие библиотеки подключены вместе.
  • Образцы "Machine Learning in Action" в F #: Mathias перевела некоторые образцы из Python в F #. Они доступны в Github.
  • Домашняя страница Hal Daume: Хэл написал несколько программ машинного обучения в OCaml. Вы почувствовали бы облегчение, если бы у вас возникли сомнения в том, что функциональное программирование не подходит для машинного обучения.

Любые другие указатели или предложения также приветствуются.

Ответ 1

Нет места для поиска ресурсов на F # и машинного обучения, но вот несколько ссылок, которые могут быть весьма полезными:

  • Числовые вычисления в MSDN - хороший ресурс по использованию различных числовых библиотек из F #. Самая передовая библиотека, которая реализует линейную алгебру и другой алгоритм, полезные для машинного обучения, Math.NET Numerics.

  • Визуализация данных в разделе MSDN есть некоторые ресурсы для построения диаграмм в F #. Библиотека FSharpChart теперь поддерживается Карлом Ноланом, который регулярно публикует обновления в своем блоге.

Есть также несколько персональных страниц людей, которые работают над соответствующими темами:

  • Юрген ван Гаел (который занимался PhD в области машинного обучения) внес вклад в библиотеку Math.NET, и вы можете прочитать о его опыте здесь.

  • Инь Чжу, который написал главу "Численные вычисления" в MSDN (и является аспирантом, интересующимся машинным обучением), имеет немало отличных статей в своем блоге.

Ответ 2

В дополнение к тому, что сказал Томас, я провел некоторое время с Infer.NET около года назад и нашел, что это неплохо для непрерывных графических моделей. Я знаю, что за последний год он значительно улучшился как в области библиотеки, так и в поддержке F #. Я предлагаю проверить его и посмотреть, есть ли у него то, что вам нужно.

Ответ 3

Hal Daume реализовал множество алгоритмов машинного обучения в OCaml и Haskell. Подробнее см. Мой ответ в Машинное обучение в OCaml или Haskell?

В качестве части книги Numerical Computing in F # в MSDN, я также хотел бы рекомендовать мой Wrapper для Weka, WekaSharper. Это позволяет вам вызывать алгоритмы машинного обучения в Weka, используя дружественный интерфейс F #.

Я написал статью Почему F # - это язык для интеллектуального анализа данных, который отражает мое мышление, когда я закончил писать альфа/прототип - как пакет интеллектуального анализа данных в F #. libml доступен онлайн. Но код был написан около двух лет назад, когда я начал использовать F #, и у меня не было времени его поддерживать с тех пор.

Ответ 4

У APress есть книга в "Alpha", которая скоро будет выпущена: Проекты машинного обучения для разработчиков .NET. http://www.apress.com/9781430267676

Существующий контент, по-видимому, является вводным, но неплохо учиться, а его образцы кода - это в основном F #.