Машинное обучение в MatLab/Octave: примеры алгоритмов, подкрепленные формулами

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Недавно я начал изучать machine learning. Начал с прекрасного, на мой взгляд, курса от Andrew Ng. И чтобы не забыть, а так же повторить выученное решил создать репозиторий Machine Learning in Octave. В нем я собрал математические формулы для гипотез, градиентных спусков, "cost function"-ов, сигмоидов и прочих фундаментальных для машинного обучения "штук". Так же добавил туда упрощенные и доработанные примеры реализации некоторых популярных алгоритмов (нейронная сеть, линейная/логистическая регрессия и пр.) для MatLab/Octave. Надеюсь эта информация будет полезна для тех из вас, кто планирует начать изучение machine learning-а.

Тема машинного обучения достаточно обширная, о чем можно судить, например, из следующей схемы, которую я взял (перевел) из великолепной статьи vas3k-а.

На данный момент из всего этого разнообразия в репозитории есть примеры пяти supervised и unsupervised алгоритмов:

  • Линейная регрессия с примером прогнозирования стоимости дома.
  • Логистическая регрессия с примерами определения неисправных чипов, а так же распознавания рукописных цифр с применением принципа "один против всех".
  • Алгоритм K-means с примером распределения данных на три кластера.
  • Поиск аномалий с помощью распределения Гаусса с примером определения перегруженного сервера.
  • Нейронная сеть на основании многослойного "персептрона" с примером распознавания рукописных цифр.

Для каждого алгоритма есть файл demo.m, с которого можно начать анализ отдельно взятого алгоритма. При запуске этого файла из консоли Octave (или из MatLab-а) будет выведена служебная информация, иллюстрирующая работу алгоритма, а так же будут построены графики, помогающие разобраться с каким тренировочным сетом идет работа.

Надеюсь этот репозиторий будет для вас полезным и поможет сделать очередной шаг в сторону машинного обучения.

P.S. Примеры в репозитории созданы для MatLab/Octave. Это, возможно, не такая популярная опция сейчас, как Python, но все-же для обучения, быстрого прототипирования и того же перемножения матриц без дополнительных плагинов и библиотек может неплохо подойти. Еще раз успешного вам кодинга!


Источник: m.vk.com

Комментарии: