Ресурсы для работы с машинным обучением в 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 #.
Список чтения:
Любые другие указатели или предложения также приветствуются.
Ответы
Ответ 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 #.