.net - usage - when to use f#




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

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

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

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

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

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

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

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

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

РЕДАКТИРОВАТЬ:

Это резюме, основанное на ответах ниже:

Рамки машинного обучения:

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

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

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

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

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

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

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

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


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


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

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





machine-learning