Ответ 1
На каком языке вы будете развиваться? Если вы гибкий, я рекомендую Matlab, python и R в качестве хороших кандидатов. Это некоторые из наиболее распространенных языков, используемых для разработки и оценки алгоритмов. Они способствуют быстрой разработке и оценке алгоритмов, обработке данных и визуализации. Большинство популярных алгоритмов ML также доступны в виде библиотек (с источником).
Сначала я хотел бы сосредоточиться на основных упражнениях по классификации и/или кластеризации в R2. Легче визуализировать, и это обычно достаточно для изучения проблем в ML, таких как риск, дисбаланс классов, шумные ярлыки, онлайн-обучение в автономном режиме и т.д. Создайте набор данных из повседневной жизни или проблему, которая вас интересует. Или используйте классический, как набор данных Iris, поэтому вы можете сравнить свой прогресс с опубликованной литературой. Вы можете найти набор данных Iris по адресу:
Одна из его приятных особенностей заключается в том, что он имеет один класс "setosa", который легко линейно отделяется от других.
Как только вы выберете пару интересных наборов данных, начните с внедрения некоторых стандартных классификаторов и изучения их производительности. Это хороший краткий список классификаторов для изучения:
- k-ближайших соседей
- линейный дискриминантный анализ
- деревья решений (например, C4.5)
- поддерживающие векторные машины (например, через LibSVM)
- усиление (с пнями)
- классификатор наивных заливов
С набором данных Iris и одним из языков, о которых я упоминаю, вы можете легко выполнить мини-исследование с использованием любого из классификаторов быстро (от нескольких минут до часа, в зависимости от вашей скорости).
Изменить: вы можете использовать Google "Классификация данных Iris", чтобы найти множество примеров. Вот демонстрационный документ классификации по Mathworks с использованием набора данных Iris: