Ай да автор красавчик ☺Много чего пересмотрел, но тут всё схлопнулось👏 Здоровья тебе добрый человек🙏
@СарматПересветов2 ай бұрын
хотелось бы сказать, что код написан не совсем корректно, так как в строке 54 вот она N = np.sum(np.abs(train_labels - np.sign(predicted)) / 2) в месте np.sign(predicted) , в некоторых элементах может получится значение 0. Соответственно, в данном случае это приведет к небольшой ошибке или неточности при вычислении колличества ошибок алгоритмом. данная ошибка может возникнуть если у нас будет четное число алгоритмов Т.
@IlliaDagil2 жыл бұрын
как раз закончил писать главу в дипломе по adaboost, а тут и ролик вышел)
@СарматПересветов2 ай бұрын
А так видио очень интересное и полезное, спасибо!
@ЕвгенийБерловский-з3ш Жыл бұрын
Бедный Айверсон! Этот выскочка Айзерсон присвоил себе все его заслуги!
@dicloniusN35Ай бұрын
Я так понимаю оно само фичи выбирает и потом можно посмотреть какие больше влияют?
@nicko68152 жыл бұрын
очень помогает математическая формулировка задач! возможно уточнить источник?
@yoyoshkarus2 жыл бұрын
Знаю немного не по теме , но еслиб выпустили видел про Airflow былоб супер, в частности оч мало материала по грамотной установке через убунти и докер …
@toostunnedtospeak80482 жыл бұрын
Здравствуйте. Возможно, Вы уже отвечали на следующий вопрос. Много ли еще видео планируется в этом плейлисте про машинное обучение?
@selfedu_rus2 жыл бұрын
нет, завершаю
@konstantinlisitsa84432 жыл бұрын
@@selfedu_rus не наадо завершать! Так хорошо идет же! )
@YbisZX Жыл бұрын
@selfedu Вопросы по видео: 0:22 - Как понять запись E{ai*aj}=0 для признака независимости? Матожидание чего, произведения классификаций? Как там может получиться 0, если классификации хорошие? Что вообще означает зависимость классификаторов в таком контексте - что их обучающие выборки пересекаются? 7:00 - Это для шага t=T, а что суммировать в показателе wi на предыдущих шагах? Может, имеется в виду сумма всех кроме t: sum(k=1...T, k!=t), а еще не рассчитанные инициализируются wk=1/l? 8:53 - Здесь же b(x) это отступ, как он сравнивается с классом? Может, надо сравнивать по знаку отступа: sum( wi * [b(xi)*yi < 0] ) ?
@Unforevable2 жыл бұрын
Извините за глупый вопрос, пытаюсь найти информацию какой именно раздел математики надо выучить, чтобы понимать именно синтаксис всех этих формул? В первых уроках вы называли разделы, но в них про синтаксис сам не говорится, что каждый этот символ означает.
@legiontime98972 жыл бұрын
В матанализе много подобных шушиков. Перевёрнутая А означает каждый, для каждого. Например, перевёрнутая Аi,j: ... означает : для каждого i и j таких, что ... после двоеточия поясняется каких.
@YbisZX Жыл бұрын
@selfedu Еще вопрос по программе с adaboost-алгоритмом: На 8:53 формула для N (доли неверных классификаций) - это взвешенная по w сумма. Но в программе, хоть алгоритмы обучаются с учетом весов w, но доля N на 14:42 считается как простое среднее. Получается, что далее в расчете веса алгоритма берется неправильная N, не учитывающая значимость неверных образов...
@selfedu_rus Жыл бұрын
В 39-й строчке вычисляется N как доля неверных классификаций. Не вижу ошибки.
@YbisZX Жыл бұрын
@@selfedu_rus На 8:53 вы даете формулу для N как *взвешенную* по wi сумму неверных классификаций. А программе как простую долю: отношение количества неверных к общему.
@selfedu_rus Жыл бұрын
@@YbisZX Это одно и то же. Вспомните, как можно определять математическое ожидание, например. Есть формула sum(p_i * x_i), а можно найти просто как среднее арифметическое.
@YbisZX Жыл бұрын
@@selfedu_rus Среднее по выборке считается только для выборки с равнозначными объектами, тогда все вероятности pi равны и выносятся из суммы как коэффициент 1/L. Но вы привели формулу 8:53, где _каждый_ классифицируемый объект из i=1...L имеет свой _индивидуальный_ вес wi, который пересчитывается на каждом шаге. В этом же суть метода AdaBoost - плохо классифицированные объекты имеют большую значимость.
@selfedu_rus Жыл бұрын
@@YbisZX Да, соглашусь, там следует прописать: N = np.sum(np.abs(train_labels - predicted) / 2 * w) Спасибо!
@LightningTrooper2 жыл бұрын
Но Адабуст строится на деревьях глубиной 1, тка называемых "пнях", а в программе у вас глубина 2. разве так правильно? и в целом, это больше похоже на градиентный бустинг, а не не на адабуст.
@selfedu_rus2 жыл бұрын
формально можно любую глубину брать и разные модели (алгоритмы) включать в адабуст, на практике да, лучше ограничиваться пнями, согласен, так часто делают.
@ЕвгенийАртемов-п8в2 жыл бұрын
Вопрос немного не по теме. Кто-нибудь знает есть ли в библиотеке Numpy функция которая выполняет: Вычитает первую строку(Массива А) из первого столбца(Массива B) по модулю. Суммирует полученные значения и записывает в массив С в положение 00 и так с каждой строчкой и столбцом(01, 02....). Похоже на умножение, но вместо функции умножения разность по модулю.
@selfedu_rus2 жыл бұрын
c = np.sum(np.abs(x[:,1]-y[:,1]))
@ЕвгенийАртемов-п8в2 жыл бұрын
@@selfedu_rus нет, нет. Вы ищете разницу между двумя столбцами, причем первыми. А нужно найти разницу между элементами 1 строки и элементами 1 столбца, записать ее сумму в ячейку (00). потом разницу между элементами 1 строки и элементами 2 столбца и записать сумму в ячейку 01 и тд. У меня стоит задача реализовать алгоритм KNN. даны 2 массива(тренировочный, он размечанный и тестовый). Мне нужно найти расстояние по L1 норме. Как я предполагаю. Мне нужнем массив растояний между 1 размеченной точкой(из трэина) и всеми неразмеченными точками из тестового, 2 размеченной и всеми неразмеченными и тд... Нужно это сделать в одно действие, то есть без цикла. Благодарю за ответ