Отличные алгоритмы, машинное обучение и отсутствие линейной алгебры


30

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

Это действительно для того, чтобы вдохновить их на эту тему и дать им понять, что ML - это потенциально интересная область исследований для экспертов по алгоритмам.

РЕДАКТИРОВАТЬ: Это последний курс бакалавриата (так как у нас нет основных курсов в Великобритании). Они заранее пройдут хотя бы один курс базовых алгоритмов и, по-видимому, преуспеют в этом, чтобы выбрать продвинутый последующий курс. В текущем учебном плане продвинутого курса есть такие темы, как идеальное хеширование, фильтры Блума, деревья Ван-Эмде-Боаса, линейная программа, ок. алгоритмы для NP-сложных задач и т. д. Я не собираюсь проводить более одной лекции исключительно по ML, но если что-то действительно имеет отношение как к курсу алгоритмов, так и к ML, то, конечно, он также может быть включен.


1
Пожалуйста, уточните две вещи: 1) Это бакалавриат или магистратура? Какие связанные курсы (если таковые имеются) они прошли? 2) Сколько времени вы хотите посвятить ОД?
MS Dousti

3
хм, я думаю, линейная алгебра - обязательный и важный базовый курс, по крайней мере, в области машинного обучения. и я думаю, что линейная модель - очень хорошее введение в алгоритмы машинного обучения. Вы можете подумать о других алгоритмах базового уровня, таких как K-ближайший сосед или алгоритмы логистической регрессии. Может ли это вам помочь? en.wikipedia.org/wiki/List_of_machine_learning_algorithms
Deyaa

1
Возможно, некоторые идеи из того, как Хэл Дауме преподает машинное обучение - nlpers.blogspot.com/2010/04/how-i-teach-machine-learning.html
Ярослав Булатов

3
Уважаемый Рафаэль, Аврим Блум обычно заканчивает свой класс алгоритмов старшего уровня машинным обучением и несколькими смежными темами; последняя итерация находится по следующей ссылке cs.cmu.edu/~avrim/451f09/index.html , и вы можете получить дополнительную информацию на его веб-странице. Имея и TA'd и взяв этот класс, я могу сказать, что его (и его заключительный материал) очень тепло встречают студенты.
Матус

Ответы:


29

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


5
Я представил некоторые части опроса Arora et al. ( cs.princeton.edu/~arora/pubs/MWsurvey.pdf ) в классе по теории града несколько лет назад. Людям, похоже, это понравилось, и я думаю, что для понимания этого материала вам почти не нужно знать.
Дану

9

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

Задача обучения, по сути, заключается в следующем: учитывая поведение, которое мы хотим продемонстрировать химическим веществом, разработайте структуру, которая демонстрирует это поведение, выведя его из базы данных известных структур, которые демонстрируют сходное (или разнородное) поведение. У проблемы обучения есть дополнительная складка: новое лекарство должно быть «отдаленным» в глобальной структуре от ранее известных лекарств, чтобы создать патентную собственность.

Одним из источников являются методы кластеризации и их использование в вычислительной химии .


1
Спасибо за ссылку. Я думал о том, чтобы преподавать SVM как приложение выпуклой оптимизации. Это хорошо связало бы часть алгоритмов с частью ML.
Рафаэль

2
как вы рассматриваете SVM без линейной алгебры?
Лев Рейзин

Я надеялся научить их минимальным условиям для этого в моем курсе. Может быть, это было слишком оптимистично :-)
Рафаэль

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

7

K-средние и KNN очень мощные и не требуют какой-либо линейной алгебры, кроме вычисления расстояний точек.


K-Means, в частности, является очень мощным алгоритмом. Он невероятно эффективен, несмотря на то, что не имеет доказанных ограничений на производительность его целевых функций, до такой степени, что он похож на эффективную полиномиальную сложность алгоритма Симплекс (несмотря на реальную экспоненциальную сложность). Его онлайн-версия также полезна в крупномасштабных приложениях обработки данных.
Эллиот Джей Джей

5

Вторая часть «Нейронные сети и машинное обучение» Кристофера Бишопа (в MSR) посвящена алгоритмам в ML. Учебники епископа обычно используются в учебниках для выпускников (а затем и студентов) и очень хорошо написаны.


4

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

Его старшекурсник дружелюбный. Я объяснил это нескольким случайно выбранным студентам, и они поняли это.

Ссылка: Blum, A. & Chawla, S. (2001). Обучение на помеченных и немаркированных данных с помощью графических минут.

Самореклама Визуализация алгоритма на YouTube .



1

Алгоритмы обучения с подкреплением (особенно Q-Learning и SARSA) довольно просты для понимания и очень эффективны для решения некоторых проблем обучения. Они не требуют каких-либо дополнительных знаний в линейной алгебре, за исключением доказательства сходимости и скорости сходимости.

Вы можете использовать хорошо известный опрос Литтмана и др .: http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html.


1

Вы можете охватить некоторые алгоритмы, которые являются классическими или с хорошей интуицией.

Например, C4.5 и CART, которые являются классическими алгоритмами дерева решений.

Вы также можете охватить некоторые методы ансамбля (например, AdaBoost (Boosting), Bagging), которые имеют очень хорошую производительность в реальных приложениях.

Кроме того, глубокое изучение также хорошая тема, потому что это очень жарко.



0

Родные байесовские и байесовские сети, алгоритмы дерева решений довольно легко визуализировать, чем начинать с нейтральной сети или SVM


0

Генетическое программирование действительно круто. Он использует вдохновение из биологии и может быть применен к широкому кругу проблем (например, проблема n-ферзей и TSP).

Не требует глубоких математических навыков.

РЕДАКТИРОВАТЬ: Требуется только способ оценить, насколько хорошо потенциальное решение. Его можно использовать, например, чтобы угадать правило, лежащее в основе ряда чисел, найти минимумы / максимумы для многовариантных задач и выполнить поиск в огромных пространствах параметров. Он подходит, когда вы не заинтересованы в оптимальном решении, но когда подойдет достаточно хорошее решение. Я считаю, что это было использовано для нахождения хороших стратегий для игр (порядок сборки в Starcraft 2 и оптимальная игра в Mario).


Есть ли важная проблема, для которой это лучший метод? Я имею в виду, что это, конечно, не для TSP, например.
Лембик
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.