GithubHelp home page GithubHelp logo

ml-course-hse's Introduction

Курс "Машинное обучение" на ФКН ВШЭ

Конспекты лекций, материалы семинаров и домашние задания (теоретические, практические, соревнования) по курсу "Машинное обучение", проводимому на бакалаврской программе "Прикладная математика и информатика" Факультета компьютерных наук Высшей школы экономики.

Страницы курсов:

Записи лекций и семинаров 2020/2021 года, осень:

Записи лекций и семинаров 2020/2021 года, весна:

Видеозаписи некоторых лекций 2018/19 года:

ml-course-hse's People

Contributors

alexandravolokhova avatar alexeyum avatar anastasiarysmyatova avatar andrewatanov avatar angusev avatar ashaba1in avatar bazpasha avatar birshert avatar brainylyasha avatar emilkayumov avatar esokolov avatar eugenbobrov avatar fdrose avatar fulyankin avatar greatdrake avatar igor4149 avatar isadrtdinov avatar kirili4ik avatar kokhtev avatar kostyayatsok avatar mryab avatar nadiinchi avatar necludov avatar new-okaerinasai avatar sensefocus avatar servb avatar tmkarter avatar tmlev avatar treacker avatar yashakb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ml-course-hse's Issues

Опечатка в дз4, метрики качества

"метрика не должна учитывать истинные значения меток объектов, попавших в кластер (в случае, если истинные метки известны)"

Видимо, должна.

10 семинар.

В секции "Градиентный бустинг и бэггинг" немного поехала формула.

Лекция 7, раздел 3

В самой первой строчке курсивом - функционал ошибки. Видимо, имеется в виду функционал качества.

Лекция 7, стр. 2, пропущено слово

• каждой листовой вершине v приписан прогноз c_v ∈ Y (в случае с классифика-
цией листу также может быть приписан вектор вероятностей).

Лекция 9

Страница 5, Параграв 4.2 "Классификация".

В формуле b_N внутри exp пропущен минус перед произведением y_i на a_N-1(x_i).

Лекция 12, индекс Данна

В числителе неравенство должно быть строгим, иначе считается расстояние кластера самим с собой.

Семинар 18 - опечатки в формулах

На странице 2, при выводе оценки ковариационной матрицы, после фразы "найдём производную по $\Lambda$ и приравняем её к нулю":

  1. Производная везде должна браться по Lambda, а не по Sigma
  2. Суммирование везде должно быть по i = 1 ... l, а не i = 1 ... m

Лекция 12

Лекция 12, страница 4, предложение перед формулой p(i|j) :

Отнормируем эти близости так, чтобы получить распределений расстояний от объ-
екта xj до всех остальных объектов:

Пропущено слово "вектор" перед "распределений".

Семинар 9, кажется знак потеряли

Страница 5, в самом конце, последний переход в вычислении s для логистической функции потерь.
Для простоты обозначим y_{i} * a_{N - 1}(x_{i}) за x, теперь проделаем последний переход:
(sigmoid(x) - 1) * y = (1 / (1 + exp(-x)) - 1) * y = ( (1 - 1 - exp(-x)) / (1 + exp(-x)) ) * y =
= ( (-exp(-x)) / (1 + exp(-x)) ) * y = ( -1 / (exp(x) + 1) ) * y = -y / (exp(x) + 1) != y / (exp(x) + 1)

ДЗ#3, разделение в вершине

Мы считаем критерий Джини для каждого разбиения - но он меняется при смене порога для правого и левого дерева, а не вершины. Из этого получается, что ответом тогда должен быть функционал качества, использующий посчитанные критерии для поддеревьев. Как понимаю, в Q(R) не используется H(R_m) как раз ввиду константности.

Дз 3, деревья

Похоже, условием задачи на реализацию класса DecisionTree не учтено, что в выборке, в принципе, могут найтись два объекта с идентичным признаковым описанием и разными ответами. В таком случае требование выдавать класс объектов в листе некорректно. Связанный момент – стоит, наверное, уточнить, что должен возвращать стандартный вариант функции find_best_split, получив постоянный признак – кажется, например, что сгодится -inf оптимальный Джини, остальные возвращаемые значения None.

Оценивание математического ожидания в ДЗ - 3

Вот здесь: https://github.com/esokolov/ml-course-hse/blame/master/2016-fall/homeworks-practice/homework-practice-03-ensembles.ipynb#L27

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

ДЗ#3

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

ДЗ 3, опечатка в задании 12

В задании 12:

  1. 4й датасет называется nursery, а не nurcery
  2. В описании 4го датасета не такие значения ответов, должно быть написано "читаем, что not_recom и recommend - класс 0, very_recom, priority, spec_prior - класс 1"

Опечатка в ДЗ#3

В номере 15 по условию используется 100, 110 ... 5000 деревьев, в примере же говорится об обучении 10, 20 ... 5000 деревьев.

Теор.дз №9, второе неравенство

Есть несколько вопросов к выводу неравенства из номера 3. Во-первых, в формуле (0.6) явно потерялось деление на двойку в правой части. Во-вторых, для использования этого неравенства выпуклость $\phi$ не нужна, зато она нужна в первом неравенстве формулы (0.8) – мне кажется, что стоило бы явно написать, какое свойство/определение выпуклых функций было использовано в этом переходе, раз уж приводится решение.

**Лекция 9**

В самом начале(1ая стр)

Рассмотрим задачу минимизации квадратичной функции потерь:

Мы вроде функционал качества/ошибки минимизируем.

Лекция №8, вывод Bias-Variance decomposition: забыт (x)

В формулах раздела 2 (Bias-Variance decomposition) начиная со страницы 4 встречается следующая опечатка: после $\mu(X)$ забыт $(x)$. Например, в ненумерованной формуле после формулы (2.1) присутствует выражение $(y-\mu(X))^2$, не имеющее смысла, поскольку $\mu(X)$ — это алгоритм, а $y$ — вектор. Здесь нужно написать $(y-\mu(X)(x))^2$. И далее нужно внести аналогичные исправления в последующие формулы.

ДЗ#3, Пропуски в данных

При организации своего дерева не уточнено, что делать с пропусками в данных.
Надо ли проводить их обработку или можно их заполнить перед обучением дерева?

Лекция 9 (бустинг)

  1. Кажется, в последней формуле по регрессии (вычисление антиградиента) не должно быть суммы в производной, ведь мы считаем i-тую компоненту.
  2. И вопрос: почему в этом же разделе в MSE множитель 1/2, а не 1/L?

Лекция 14 - опечатка в формуле

В самой последней формуле на 2й странице, видимо, должно быть a(x_j) вместо a(x_k)

А на 4 странице: "используя эти векторы, мы можем сформировать аппроксимацию преобразования phi(x)" - пропущен бэкслэш, должно быть \phi(x)

Лекция 13

Предпоследний абзац ядровых методов на стр. 1 — "после ее проецирования на исходное пространствА"

Лекция 6, стр 5

Наверху страницы: вместо multi-class classification -- multi-label classification.

Случайный лес, веса объектов.

Лекция 8, стр. 10. В формуле ответа композиции, в итоговой формуле, во внутренней сумме, видимо, либо суммирование по n, либо индекс у w должен быть j.

Лекция 7

Не совсем понятно, когда речь идет о категориальных признаках("Обозначим через Rm(u) множество объектов, которые попали в вершину m и у которых j-й признак имеет значение u"), при чем тут j - видимо есть опечатка.

Лекция 7, неточность при описании алгоритма

В лекции 7, на странице 3, при разбиении X на R_1 и R_2, в одном случае должно стоять строгое равенство. Потому что по крайней мере некоторые функционалы качества могут считать оптимальным t, равное значению j-го признака.

Лекция 2

В моменте где доказывается что градиент ортогонален линиям уровня где обе части равенства делятся на эпсилон, надо делить на норму от эпсилонта, а не на эпсилон.

Лекция 13. Двойственное представление для линейной регрессии

Сначала записывается опт. задача для линейной регрессии через параметр Ф и получается обычная задача для линейной регрессии с квадратичной функцией потерь, потом говорится, что w=(Ф.T)a и ниже "можно показать, что оптимальное а=(Ф.TФ+lambda*I)^(-1)*y".

Тогда получается, что оптимальный вектор весов: w= (Ф.T)a=(Ф.T)(Ф.T * Ф+lambda*I)^(-1)*y.
Но это же не правда, оптимальный вектор весов должен быть (Ф.T * Ф+lambda * I)^(-1) (Ф.T) * y ?

МО по моделям

Лекция 8, Задача 3.1. В телеграмме обсуждали, что не совсем ясно куда пропадает случайность от бутстрапа при взятии МО только по всем выборкам.

Лекции в исходниках

Было бы удобно, если бы лекции были выложены в исходниках (TeX), чтобы вместо создания issue можно было просто предложить Pull Request.

ДЗ#3, задание 15

Задание называется "Число деревьев в случайном лесе и в градиентном бустинге", но в условии речь только о RF.

FFM (лекция 19)

Предпоследняя строчка перед списком литературы — должно быть x_{j_1}, x_{j_2} вместо x_1, x_2

Корреляция между товарами

В середине стр. 2 лекции 19, вероятно, имеется в виду w_{ij}, а не w_{uv}, а суммирование под радикалами в знаменателе ведется по u, а не по i

Лекция 4.

Страница 7:
"...доля правильных ответов должна быть равна 2.000/1.000.000 = 99.8%"
Забыли вычесть 2.000/1.000.000 из единицы

Мелкие опечатки в лекциях

  • Лекция 13
    • с1, "исходное пространства" -> "пространство"
  • Лекция 12
    • с2, "задачу кластеризацию" -> "кластеризации"
    • с2, "в данном функционале имеет две степени свободы" -> "имеется"
  • Лекция 9
    • с1, "по некоторому подмножество" -> "подмножеству"
  • Лекция 8
    • с1, "дана конечная выборка и вещественными ответами" -> "с"
    • c5, "чувствительность метода обучения к изменения в выборке" -> "изменениям"

Лекция 14

В методе Нистрома опечатка - нет такого ядрового преобразования.

ДЗ 4, критерий отбора количества кластеров

Не очень понятна фраза:

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

При увеличении числа классов от 1 до samples_num метрика качества сначала возрастает, затем убывает.
Правильно ли я понимаю, что следует выбирать количество по максимуму метрики качества? Как следует интерпретировать "стабилизацию"?

Лекция 11

Лекция 11, Страница 2, Последнее предложение перед началом 2го раздела "Обучение и обратное распространение ошибк"

О примерах слоёв них мы поговорим позже, а пока обсудим обучение графов
вычислений в общем случае.

По-моему надо "в них"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.