Ресурсы для работы с машинным обучением в F#
Я изучил курс машинного обучения, используя Matlab в качестве инструмента прототипирования. Поскольку я пристрастился к F#, я хотел бы продолжить изучение машинного обучения в F#.
Я могу использовать F# как для прототипирования, так и для производства, поэтому рамки машинного обучения было бы отличным началом. В противном случае, я могу начать с коллекции библиотек:
- Высокооптимизированная библиотека линейной алгебры
- статистика пакет
- библиотека визуализации (которая позволяет рисовать и взаимодействовать с диаграммами, диаграммами...)
- Parallel computing toolbox (аналогично MATLAB parallel computing toolbox)
и самые важные ресурсы (для меня) являются - книги, сообщения в блогах и онлайн-курсы, касающиеся машинного обучения на функциональном языке программирования (F#/OCaml/Haskell...).
может ли кто-нибудь предложить эти виды ресурсов? Спасибо.
EDIT:
Это резюме, основанное на ответах ниже:
рамки машинного обучения:
- Infer.NET: платформа .NET framework для байесовского вывода в графических моделях с хорошей поддержкой F#.
- WekaSharper: обертка F# вокруг популярной структуры интеллектуального анализа данных Weka.
- Microsoft Sho: сплошной среде разработка для анализа данных (включая матричные операции, оптимизацию и визуализацию) на платформе .NET.
библиотеки, связанные с:
Math.NET Цифры: внутреннее использование Intel MKL и AMD ACML для матричных операций и поддержки статистических функций.
Microsoft Solver Foundation: хорошая структура для линейного программирования и оптимизации задачи.
FSharpChart: хорошая библиотека визуализации данных в F#.
список книг:
- Численных Вычислений: он отлично подходит для начала с машинного обучения в F# и вводит различные инструменты и советы/приемы для работы с этими математическими библиотеками в F#.
- F# и блог интеллектуального анализа данных: это также от Инь Чжу, автора главы численных вычислений, настоятельно рекомендуемый.
- F# в качестве замены Октавы / Matlab для машинного обучения: Густаво только что начал серию сообщений в блоге, используя F# в качестве инструмента разработки. Приятно видеть, что многие библиотеки подключены вместе.
- "машинное обучение в действии" образцы в F#: Матиас перевел некоторые образцы с Python на F#. Они доступны в Github.
- Домашняя страница Hal Daume: Hal написал ряд библиотек машинного обучения в OCaml. Вы бы почувствовали облегчение, если бы сомневались, что функциональное программирование не подходит для машинного обучения.
любые другие указатели или предложения также приветствуются.
4 ответа:
нет ни одного места для поиска ресурсов на F# и машинном обучении, но вот несколько ссылок, которые могут быть весьма полезны:
Численных Вычислений раздел на MSDN является хорошим ресурсом по использованию различных числовых библиотек из F#. Самая продвинутая библиотека, которая реализует линейную алгебру и другие алгоритмы, полезные в машинном обучении, - этоMath.NET цифры.
визуализация Данные раздел на MSDN имеет некоторые ресурсы для построения графиков в F#. Библиотека FSharpChart теперь поддерживается Карлом Ноланом, который регулярно публикует обновления в своем блоге.
есть также несколько личных страниц людей, которые работают на соответствующие темы:
Юрген Ван Гаэль (который сделал PhD в области машинного обучения) внес свой вклад в Math.NET библиотека и вы можете прочитать о свой опыт здесь.
Инь Чжу, который написал главу численных вычислений на MSDN (и является аспирантом, заинтересованным в машинном обучении) , имеет довольно много отличные статьи в своем блоге.
в дополнение к тому, что Томас упомянул, я провел некоторое время с Infer.NET около года назад и обнаружил, что это было довольно хорошо для непрерывных графических моделей. Я знаю, что за последний год он значительно улучшился как в области библиотеки, так и в поддержке F#. Я предлагаю проверить его и посмотреть, если он имеет то, что вам нужно.
Hal Daume реализовал множество алгоритмов машинного обучения в OCaml и Haskell. Подробности смотрите мой ответ в машинное обучение в OCaml или Haskell?
в сторону от численные вычисления в F# глава книги на MSDN, я также хотел бы рекомендовать мою обертку для Weka,WekaSharper. Он позволяет вызывать алгоритмы машинного обучения в Weka, используя дружественный к F#интерфейс.
Я написал статью почему F# - это язык для интеллектуального анализа данных, что отражает мое мышление, когда я закончил писать Альфа/прототипный пакет интеллектуального анализа данных в F#. libml доступно онлайн. Но код был написан около двух лет назад, когда я начал использовать F#, и у меня не было времени, чтобы сохранить его с тех пор.
У APress есть книга в "Альфа", которая скоро выйдет: проекты машинного обучения для разработчиков .NET. http://www.apress.com/9781430267676
существующий в настоящее время контент кажется вводным, но довольно хорошим для изучения, и его примеры кода в первую очередь F#.