Машинное обучение в MatLab/Octave: примеры алгоритмов, подкрепленные формулами
Друзья, с момента основания проекта прошло уже 20 лет и мы рады сообщать вам, что сайт, наконец, переехали на новую платформу.
Какое-то время продолжим трудится на общее благо по адресу
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.
Спасибо, ждём вас на N-N-N.ru
Недавно я начал изучать 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, но все-же для обучения, быстрого прототипирования и того же перемножения матриц без дополнительных плагинов и библиотек может неплохо подойти. Еще раз успешного вам кодинга!
Автор: Алексей
- Источник(и):
- Войдите на сайт для отправки комментариев