Я преподаю курс продвинутых алгоритмов и хотел бы включить некоторые темы, связанные с машинным обучением, которые будут интересны моим студентам. В результате я хотел бы услышать мнение людей о наиболее интересных / лучших алгоритмических результатах в области машинного обучения. Потенциально сложным ограничением является то, что у студентов не будет каких-либо конкретных предыдущих знаний линейной алгебры или других основных тем в машинном обучении.
Это действительно для того, чтобы вдохновить их на эту тему и дать им понять, что ML - это потенциально интересная область исследований для экспертов по алгоритмам.
РЕДАКТИРОВАТЬ: Это последний курс бакалавриата (так как у нас нет основных курсов в Великобритании). Они заранее пройдут хотя бы один курс базовых алгоритмов и, по-видимому, преуспеют в этом, чтобы выбрать продвинутый последующий курс. В текущем учебном плане продвинутого курса есть такие темы, как идеальное хеширование, фильтры Блума, деревья Ван-Эмде-Боаса, линейная программа, ок. алгоритмы для NP-сложных задач и т. д. Я не собираюсь проводить более одной лекции исключительно по ML, но если что-то действительно имеет отношение как к курсу алгоритмов, так и к ML, то, конечно, он также может быть включен.
Ответы:
Вы можете покрыть повышение . Он очень умный, простой в реализации, широко используется на практике и не требует больших предварительных знаний для понимания.
источник
Если вы просто хотите разжечь их аппетит в одной лекции, было бы наиболее интересно представить мощное приложение. Например, машины опорных векторов и другие алгоритмы машинного обучения используются в хемоинформатике для обнаружения лекарств.
Задача обучения, по сути, заключается в следующем: учитывая поведение, которое мы хотим продемонстрировать химическим веществом, разработайте структуру, которая демонстрирует это поведение, выведя его из базы данных известных структур, которые демонстрируют сходное (или разнородное) поведение. У проблемы обучения есть дополнительная складка: новое лекарство должно быть «отдаленным» в глобальной структуре от ранее известных лекарств, чтобы создать патентную собственность.
Одним из источников являются методы кластеризации и их использование в вычислительной химии .
источник
K-средние и KNN очень мощные и не требуют какой-либо линейной алгебры, кроме вычисления расстояний точек.
источник
Вторая часть «Нейронные сети и машинное обучение» Кристофера Бишопа (в MSR) посвящена алгоритмам в ML. Учебники епископа обычно используются в учебниках для выпускников (а затем и студентов) и очень хорошо написаны.
источник
Этот алгоритм использует минимальные срезы графика для классификации большого количества немеченых образцов, используя только небольшое количество помеченных образцов.
Его старшекурсник дружелюбный. Я объяснил это нескольким случайно выбранным студентам, и они поняли это.
Ссылка: Blum, A. & Chawla, S. (2001). Обучение на помеченных и немаркированных данных с помощью графических минут.
Самореклама Визуализация алгоритма на YouTube .
источник
Я вижу, что Expectation Maximization (EM) не упоминалась, и она, безусловно, "там" в топ-10: http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf .
источник
Алгоритмы обучения с подкреплением (особенно Q-Learning и SARSA) довольно просты для понимания и очень эффективны для решения некоторых проблем обучения. Они не требуют каких-либо дополнительных знаний в линейной алгебре, за исключением доказательства сходимости и скорости сходимости.
Вы можете использовать хорошо известный опрос Литтмана и др .: http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html.
источник
Вы можете охватить некоторые алгоритмы, которые являются классическими или с хорошей интуицией.
Например, C4.5 и CART, которые являются классическими алгоритмами дерева решений.
Вы также можете охватить некоторые методы ансамбля (например, AdaBoost (Boosting), Bagging), которые имеют очень хорошую производительность в реальных приложениях.
Кроме того, глубокое изучение также хорошая тема, потому что это очень жарко.
источник
Родные байесовские и байесовские сети, алгоритмы дерева решений довольно легко визуализировать, чем начинать с нейтральной сети или SVM
источник
Генетическое программирование действительно круто. Он использует вдохновение из биологии и может быть применен к широкому кругу проблем (например, проблема n-ферзей и TSP).
Не требует глубоких математических навыков.
РЕДАКТИРОВАТЬ: Требуется только способ оценить, насколько хорошо потенциальное решение. Его можно использовать, например, чтобы угадать правило, лежащее в основе ряда чисел, найти минимумы / максимумы для многовариантных задач и выполнить поиск в огромных пространствах параметров. Он подходит, когда вы не заинтересованы в оптимальном решении, но когда подойдет достаточно хорошее решение. Я считаю, что это было использовано для нахождения хороших стратегий для игр (порядок сборки в Starcraft 2 и оптимальная игра в Mario).
источник