Какая хорошая первая реализация для обучения машинам?

Я нахожу, что изучение новых тем лучше всего подходит для простой реализации кода, чтобы получить эту идею. Вот как я изучил генетические алгоритмы и генетическое программирование. Что было бы хорошими вводными программами для написания, чтобы начать с машинного обучения?

Предпочтительно, чтобы любые ссылочные ресурсы были доступны онлайн, чтобы сообщество могло принести пользу

Ответы

Ответ 1

На каком языке вы будете развиваться? Если вы гибкий, я рекомендую Matlab, python и R в качестве хороших кандидатов. Это некоторые из наиболее распространенных языков, используемых для разработки и оценки алгоритмов. Они способствуют быстрой разработке и оценке алгоритмов, обработке данных и визуализации. Большинство популярных алгоритмов ML также доступны в виде библиотек (с источником).

Сначала я хотел бы сосредоточиться на основных упражнениях по классификации и/или кластеризации в R2. Легче визуализировать, и это обычно достаточно для изучения проблем в ML, таких как риск, дисбаланс классов, шумные ярлыки, онлайн-обучение в автономном режиме и т.д. Создайте набор данных из повседневной жизни или проблему, которая вас интересует. Или используйте классический, как набор данных Iris, поэтому вы можете сравнить свой прогресс с опубликованной литературой. Вы можете найти набор данных Iris по адресу:

Одна из его приятных особенностей заключается в том, что он имеет один класс "setosa", который легко линейно отделяется от других.

Как только вы выберете пару интересных наборов данных, начните с внедрения некоторых стандартных классификаторов и изучения их производительности. Это хороший краткий список классификаторов для изучения:

  • k-ближайших соседей
  • линейный дискриминантный анализ
  • деревья решений (например, C4.5)
  • поддерживающие векторные машины (например, через LibSVM)
  • усиление (с пнями)
  • классификатор наивных заливов

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

Изменить: вы можете использовать Google "Классификация данных Iris", чтобы найти множество примеров. Вот демонстрационный документ классификации по Mathworks с использованием набора данных Iris:

http://www.mathworks.com/products/statistics/demos.html?file=/products/demos/shipping/stats/classdemo.html

Ответ 2

Я думаю, вы можете написать классификатор "Наивный Байес" для фильтрации нежелательной почты. Вы можете получить много информации из этой книги.

http://nlp.stanford.edu/IR-book/information-retrieval-book.html

Ответ 3

Дерево решений. Он часто используется в задачах классификации и имеет много вариантов. Книга Тома Митчелла - хорошая рекомендация для ее реализации.

Ответ 4

Нейронные сети могут быть самыми легкими для реализации в первую очередь, и они достаточно тщательно описаны в литературе.

Ответ 5

Есть нечто, называемое книгами; Вы знакомы с ними? Когда я исследовал ИИ два десятилетия назад, было много книг. Я думаю, теперь, когда Интернет существует, книги являются архаичными, но вы, вероятно, можете найти их в древней библиотеке.