esokolov / ml-course-hse Goto Github PK
View Code? Open in Web Editor NEWМашинное обучение на ФКН ВШЭ
Машинное обучение на ФКН ВШЭ
В секции "Градиентный бустинг и бэггинг" немного поехала формула.
Страница 5, Параграв 4.2 "Классификация".
В формуле b_N внутри exp пропущен минус перед произведением y_i на a_N-1(x_i).
Наверху страницы: вместо multi-class classification -- multi-label classification.
Похоже, условием задачи на реализацию класса DecisionTree не учтено, что в выборке, в принципе, могут найтись два объекта с идентичным признаковым описанием и разными ответами. В таком случае требование выдавать класс объектов в листе некорректно. Связанный момент – стоит, наверное, уточнить, что должен возвращать стандартный вариант функции find_best_split, получив постоянный признак – кажется, например, что сгодится -inf оптимальный Джини, остальные возвращаемые значения None.
Лекция 8, Задача 3.1. В телеграмме обсуждали, что не совсем ясно куда пропадает случайность от бутстрапа при взятии МО только по всем выборкам.
В лекции 18, самый верх 3 страницы - в формуле для гауссова ядра, видимо, должно быть z^2 вместо r^2
В середине стр. 2 лекции 19, вероятно, имеется в виду w_{ij}, а не w_{uv}, а суммирование под радикалами в знаменателе ведется по u, а не по i
Не совсем понятно, когда речь идет о категориальных признаках("Обозначим через Rm(u) множество объектов, которые попали в вершину m и у которых j-й признак имеет значение u"), при чем тут j - видимо есть опечатка.
В числителе неравенство должно быть строгим, иначе считается расстояние кластера самим с собой.
Задание называется "Число деревьев в случайном лесе и в градиентном бустинге", но в условии речь только о RF.
В самом начале(1ая стр)
Рассмотрим задачу минимизации квадратичной функции потерь:
Мы вроде функционал качества/ошибки минимизируем.
Предпоследний абзац ядровых методов на стр. 1 — "после ее проецирования на исходное пространствА"
В задании 2 говорится об "усредненной по всем деревьям зависимости". Она должна быть одна для всех графиков, или пересчитывать в зависимости от количества опытов?
В формуле пропущено sign у скалярного произведения весов на признаки.
Лекция 12, страница 4, предложение перед формулой p(i|j) :
Отнормируем эти близости так, чтобы получить распределений расстояний от объ-
екта xj до всех остальных объектов:
Пропущено слово "вектор" перед "распределений".
• каждой листовой вершине v приписан прогноз c_v ∈ Y (в случае с классифика-
цией листу также может быть приписан вектор вероятностей).
Предпоследняя строчка перед списком литературы — должно быть x_{j_1}, x_{j_2} вместо x_1, x_2
В задании 12:
На странице 2, при выводе оценки ковариационной матрицы, после фразы "найдём производную по
В Лекции 8, стр. 4, в определении метода обучения в области определения должно быть (X•Y)^l .
Стр. 2, первая формула. Не хватает деления на 2h под пределом.
Страница 7:
"...доля правильных ответов должна быть равна 2.000/1.000.000 = 99.8%"
Забыли вычесть 2.000/1.000.000 из единицы
Кажется, что для оценивания мат.ожинания нужно не только складывать значения функции, а еще и делить на M, чтобы итоговая сумма все таки сошлась к искомому мат.ожиданию. Именно так и делается дальше, однако в формуле стоит просто сумма значений функции.
Лекция 11, Страница 2, Последнее предложение перед началом 2го раздела "Обучение и обратное распространение ошибк"
О примерах слоёв них мы поговорим позже, а пока обсудим обучение графов
вычислений в общем случае.
По-моему надо "в них"
В выражении для нормированных близостей p(i | j) (середина 4-й страницы) опечатки: аргументы экспонент нужно взять со знаком "-", а ещё сигмы должны быть в квадрате.
Мы считаем критерий Джини для каждого разбиения - но он меняется при смене порога для правого и левого дерева, а не вершины. Из этого получается, что ответом тогда должен быть функционал качества, использующий посчитанные критерии для поддеревьев. Как понимаю, в Q(R) не используется H(R_m) как раз ввиду константности.
В самой последней формуле на 2й странице, видимо, должно быть a(x_j) вместо a(x_k)
А на 4 странице: "используя эти векторы, мы можем сформировать аппроксимацию преобразования phi(x)" - пропущен бэкслэш, должно быть \phi(x)
Было бы удобно, если бы лекции были выложены в исходниках (TeX), чтобы вместо создания issue можно было просто предложить Pull Request.
В самой первой строчке курсивом - функционал ошибки. Видимо, имеется в виду функционал качества.
В разделе "Градиентный бустинг и бэггинг" вместо формулы отображается unknown character
В номере 15 по условию используется 100, 110 ... 5000 деревьев, в примере же говорится об обучении 10, 20 ... 5000 деревьев.
В лекции 7, на странице 3, при разбиении X на R_1 и R_2, в одном случае должно стоять строгое равенство. Потому что по крайней мере некоторые функционалы качества могут считать оптимальным t, равное значению j-го признака.
В моменте где доказывается что градиент ортогонален линиям уровня где обе части равенства делятся на эпсилон, надо делить на норму от эпсилонта, а не на эпсилон.
В 9 семинаре в разделе про построение градиентного бустинга, кажется, перепутаны термины - функционал ошибки и функционал качества
Пропущена константа и знак суммы перед max.
В лекции 7, в определении критерия информативности минус должен быть внутри оптимизации.
Сначала записывается опт. задача для линейной регрессии через параметр Ф и получается обычная задача для линейной регрессии с квадратичной функцией потерь, потом говорится, что w=(Ф.T)a и ниже "можно показать, что оптимальное а=(Ф.TФ+lambda*I)^(-1)*y".
Тогда получается, что оптимальный вектор весов: w= (Ф.T)a=(Ф.T)(Ф.T * Ф+lambda*I)^(-1)*y.
Но это же не правда, оптимальный вектор весов должен быть (Ф.T * Ф+lambda * I)^(-1) (Ф.T) * y ?
В лекции 3, стр. 5, раздел "Штрафы при малых весах"
в обеих формулах по L2-норму нужно убрать верхний индекс
При организации своего дерева не уточнено, что делать с пропусками в данных.
Надо ли проводить их обработку или можно их заполнить перед обучением дерева?
Внизу 1 страницы, "значит, векторы $u_j = \lambda^{1/2}...$" - должно быть
Лекция 8, стр. 10. В формуле ответа композиции, в итоговой формуле, во внутренней сумме, видимо, либо суммирование по n, либо индекс у w должен быть j.
В методе Нистрома опечатка - нет такого ядрового преобразования.
В формулах раздела 2 (Bias-Variance decomposition) начиная со страницы 4 встречается следующая опечатка: после
"метрика не должна учитывать истинные значения меток объектов, попавших в кластер (в случае, если истинные метки известны)"
Видимо, должна.
Страница 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)
Не очень понятна фраза:
при фиксированной метрике качества для разного числа кластеров обучают алгоритм и выбирают то значение гиперпараметра, начиная с которого качество "стабилизируется"
При увеличении числа классов от 1 до samples_num метрика качества сначала возрастает, затем убывает.
Правильно ли я понимаю, что следует выбирать количество по максимуму метрики качества? Как следует интерпретировать "стабилизацию"?
Есть несколько вопросов к выводу неравенства из номера 3. Во-первых, в формуле (0.6) явно потерялось деление на двойку в правой части. Во-вторых, для использования этого неравенства выпуклость
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.