Для обновления параметров модели используются частные производные функции потерь по этим параметрам (веса и смещения), а их формулы указаны в статье и в коде. К логистической регрессии лучше переходить только после изучения линейной https://habr.com/ru/articles/804135/
Линейная регрессия используется в задачах, когда нужно спрогнозировать, например, цену на недвижимость или на какую сумму одобрить кредит в банке. Логистическая или softmax регрессия предназначены для классификации меток, например, одобрить кредит или нет (1 или 0) и так далее. Вторую часть вопроса я не понял.
Спасибо за интересный обзор. Очень похоже на то, что разработчики скрестили трансформеры с rnn. Это выглядит особенно иронично на фоне названия статьи про трансформеры "Attention Is All You Need". Получается "Is Not All You Need" :)
Всё зависит от того, что вы хотите делать в DS. Если вы исследователь и разрабатываете новые концепции, то в таком случае математику нужно знать очень хорошо. Если же вы просто используете готовые модели, то здесь нужно меньше математики. В любом случае её нужно понимать, а решение задач как раз помогает убедиться, что вы правильно поняли материал.
В данном случае я специально решил использовать несбалансированный датасет, чтобы лучше показать различия алгоритмов, а именно их работу из коробки. Если же делать серьёзную предобработку и подбирать гиперпараметры, то: а) это займёт очень много времени; б) практически все алгоритмы будут показывать плюс-минус схожие результаты. Поскольку это все же учебный проект, то в самом начале каждой статьи имеются ссылки на ноутбуки, чтобы с ними можно было "поиграться".
В статье же про деревья уделялось достаточно внимания методам регуляризации, в т. ч. и продвинутым типа прунинга + во всех реализациях с нуля показаны основные гиперпараметры, отвечающие за работу алгоритмов. Логично, что при изучении Random Forest читатель уже должен быть знаком с деревьями, поэтому дублировать рассказ про те же гиперпараметры еще раз не имеет смысла.
Для того чтобы избежать пробелов в понимании ml-алгоритмов, лучше читать статьи по порядку, предложенному здесь.
В данном случае под качеством модели понимается её предсказательная способность, а уже для её оценки используются разные показатели, каждый из которых имеет свои ограничения на применение. Когда мы вводим дополнительные признаки в надежде улучшить качество, то полагаться на r2 не есть хорошо по причине, описанной в статье, и именно поэтому лучше использовать скорректированный r2. Вообще в реальности для оценки качества модели очень часто используется сразу несколько метрик.
Спасибо за хороший обзор. Побольше бы таких статей. А ваша команда выступала на этой конфе? Если да, то не могли бы рассказать что было представлено и где с этим можно ознакомиться? Думаю, многим это будет интересно.
Поздравляю, Хабр. Это действительно интересный проект, а его создатели, работники и авторы статей большие молодцы. Надеюсь, дальше будет только лучше :)
Всё верно, просто возникло недопонимание). По сути, SVD является обобщением спектрального разложения и одним из его популярных примеров. Проще говоря, в скобках SVD указан не как расшифровка, а как один из примеров. Этот момент я только что подправил в статье, чтобы не было недопониманий. Спасибо за хорошее замечание.
К слову, такого рода "странные" обозначения иногда встречаются в статьях по ML, например, как в предпоследней из дополнительных источников.
Предположим, вам повезло и вы нашли хороший платный курс, который вам дал неплохую базу. Однако, сразу возникает вопрос: почему вы сами не смогли разобраться в данной теме? Дело в том, что вам на курсах все раскладывают по полочкам (в случае хороших) и дают ментора, но как быть в жизни, когда не у кого спросить и на работе придётся изучать новые технологии самостоятельно? Эти навыки очень важны и требуют времени на их приобретение. Лично вы готовы ждать пока выпускник научится самостоятельно учиться и решать свои проблемы? К слову, я тоже сам обучался, поэтому беру это не из головы :)
Приходится читать сложную литературу, документацию, изучать научные статьи, отсеивать некачественную информацию и справляться со стрессом самостоятельно, когда ничего не получается. Такой опыт можно получить на курсах? Вряд ли. Самоучки как раз этими навыками обладают, если ответственно обучались конечно же. К тому же сегодня в открытом доступе есть большое количество хороших бесплатных материалов. Не могу говорить про всех, но лично из своего опыта, все самоучки, которых я видел, гораздо сильнее выпускников с курсов или универов. Это касается не только айти.
Прочитав комментарии про ранги Junior - Senior, я так и не понял о чём идёт речь)
Например, группа Junior - это среди джунов или для джунов? На мой взгляд, более правильным было бы делать для Junior - Senior, поскольку любой из этих специалистов может писать статьи как сложного, так и простого уровня.
Спасибо :) Возможно, в будущем выпущу ещё одну статью, если будет большая активность со стороны аудитории на эту тему. К сожалению, пока что на это нет времени, поскольку на данный момент я работаю над другими статьями и проектами.
Спасибо :). Честно говоря, изначально я планировал рассказать про большее количество алгоритмов (в том числе и про не градиентные методы, а также про самые последние оптимизаторы) с их реализацией с нуля на питоне, но в последний момент решил этого не делать. Дело в том, что очень часто бывает так, что на бумаге алгоритм работает хорошо, а через год-два появляются контрпримеры, на которых ломаются его доказательства. Обычно проходит несколько лет, чтобы оптимизатор хорошо зарекомендовал себя на практике.
Такое явление даже можно встретить в учебных пособиях от более опытных авторов, когда в более поздних изданиях они просят забыть про то, что говорили ранее, поэтому я решил обойтись наиболее важными концепциями, чтобы потом случайно никого не ввести в заблуждение. Возможно, в будущем выпущу ещё одну статью на эту тему, но это не точно :)
Честно говоря, я как-то пропустил ваш ответ. Прошу прощения, что отвечаю спустя год. Спасибо большое за дополнительные материалы, однако я уже за это время реализовал все ML-алгоритмы с нуля :)
Если вам будет интересно, можете ознакомиться с этим здесь.
Честно говоря, товарищ выше так и не смог ответить, что в его понимании является базовым пакетом.
В контексте машинного обучения numpy, pandas, matplotlib — это минимальный набор для анализа и обработки данных, которым предстоит пользоваться всегда или почти всегда. Хотя, лично я сюда бы ещё отнёс scipy и seaborn.
Например, при построении графиков решающих границ алгоритмов, я пользовался библиотекой MLxtend — вот она уже точно не является базовой, поскольку можно было бы обойтись и без неё, но просто она делает жизнь немного проще.
Без шуток, если вы считаете, что эту тему можно раскрыть более подробно и у вас это вызывает такой интерес, то почему бы не внести вклад в развитие IT-сообщества и сделать статьи по ML так, как хочется вам? По-моему, Хабр как раз для чего-то подобного и создавался.
Я не знаю по какой причине вас это так напугало и вы начали оправдываться, но уверен, что если вы сделаете то о чём говорите, то аудитория обязательно вас примет с теплом.
На гитхабе и kaggle также есть похожие проекты, которые так и называются "ml-алгоритмы с нуля". Правда, большинство из них либо слишком простые и представлены не в таком объёме, либо не работают вообще. Поэтому, если вам будет интересно, что такое "с нуля" и как это выглядит, то рекомендую посетить эти сайты. В любом случае, это будет гораздо лучше, чем писать глупости и придираться по мелочам.
Для обновления параметров модели используются частные производные функции потерь по этим параметрам (веса и смещения), а их формулы указаны в статье и в коде. К логистической регрессии лучше переходить только после изучения линейной https://habr.com/ru/articles/804135/
Линейная регрессия используется в задачах, когда нужно спрогнозировать, например, цену на недвижимость или на какую сумму одобрить кредит в банке. Логистическая или softmax регрессия предназначены для классификации меток, например, одобрить кредит или нет (1 или 0) и так далее. Вторую часть вопроса я не понял.
Спасибо за хороший обзор основных подходов, применяемых в LLM сегодня.
Спасибо за интересный обзор. Очень похоже на то, что разработчики скрестили трансформеры с rnn. Это выглядит особенно иронично на фоне названия статьи про трансформеры "Attention Is All You Need". Получается "Is Not All You Need" :)
Всё зависит от того, что вы хотите делать в DS. Если вы исследователь и разрабатываете новые концепции, то в таком случае математику нужно знать очень хорошо. Если же вы просто используете готовые модели, то здесь нужно меньше математики. В любом случае её нужно понимать, а решение задач как раз помогает убедиться, что вы правильно поняли материал.
Спасибо за интересное объяснение
В данном случае я специально решил использовать несбалансированный датасет, чтобы лучше показать различия алгоритмов, а именно их работу из коробки. Если же делать серьёзную предобработку и подбирать гиперпараметры, то: а) это займёт очень много времени; б) практически все алгоритмы будут показывать плюс-минус схожие результаты. Поскольку это все же учебный проект, то в самом начале каждой статьи имеются ссылки на ноутбуки, чтобы с ними можно было "поиграться".
В статье же про деревья уделялось достаточно внимания методам регуляризации, в т. ч. и продвинутым типа прунинга + во всех реализациях с нуля показаны основные гиперпараметры, отвечающие за работу алгоритмов. Логично, что при изучении Random Forest читатель уже должен быть знаком с деревьями, поэтому дублировать рассказ про те же гиперпараметры еще раз не имеет смысла.
Для того чтобы избежать пробелов в понимании ml-алгоритмов, лучше читать статьи по порядку, предложенному здесь.
В данном случае под качеством модели понимается её предсказательная способность, а уже для её оценки используются разные показатели, каждый из которых имеет свои ограничения на применение. Когда мы вводим дополнительные признаки в надежде улучшить качество, то полагаться на r2 не есть хорошо по причине, описанной в статье, и именно поэтому лучше использовать скорректированный r2. Вообще в реальности для оценки качества модели очень часто используется сразу несколько метрик.
Спасибо. Рад слышать, что статья оказалась полезной :)
Спасибо за хороший обзор. Побольше бы таких статей. А ваша команда выступала на этой конфе? Если да, то не могли бы рассказать что было представлено и где с этим можно ознакомиться? Думаю, многим это будет интересно.
Поздравляю, Хабр. Это действительно интересный проект, а его создатели, работники и авторы статей большие молодцы. Надеюсь, дальше будет только лучше :)
Всё верно, просто возникло недопонимание). По сути, SVD является обобщением спектрального разложения и одним из его популярных примеров. Проще говоря, в скобках SVD указан не как расшифровка, а как один из примеров. Этот момент я только что подправил в статье, чтобы не было недопониманий. Спасибо за хорошее замечание.
К слову, такого рода "странные" обозначения иногда встречаются в статьях по ML, например, как в предпоследней из дополнительных источников.
Предположим, вам повезло и вы нашли хороший платный курс, который вам дал неплохую базу. Однако, сразу возникает вопрос: почему вы сами не смогли разобраться в данной теме? Дело в том, что вам на курсах все раскладывают по полочкам (в случае хороших) и дают ментора, но как быть в жизни, когда не у кого спросить и на работе придётся изучать новые технологии самостоятельно? Эти навыки очень важны и требуют времени на их приобретение. Лично вы готовы ждать пока выпускник научится самостоятельно учиться и решать свои проблемы? К слову, я тоже сам обучался, поэтому беру это не из головы :)
Приходится читать сложную литературу, документацию, изучать научные статьи, отсеивать некачественную информацию и справляться со стрессом самостоятельно, когда ничего не получается. Такой опыт можно получить на курсах? Вряд ли. Самоучки как раз этими навыками обладают, если ответственно обучались конечно же. К тому же сегодня в открытом доступе есть большое количество хороших бесплатных материалов. Не могу говорить про всех, но лично из своего опыта, все самоучки, которых я видел, гораздо сильнее выпускников с курсов или универов. Это касается не только айти.
Прочитав комментарии про ранги Junior - Senior, я так и не понял о чём идёт речь)
Например, группа Junior - это среди джунов или для джунов? На мой взгляд, более правильным было бы делать для Junior - Senior, поскольку любой из этих специалистов может писать статьи как сложного, так и простого уровня.
Спасибо :) Возможно, в будущем выпущу ещё одну статью, если будет большая активность со стороны аудитории на эту тему. К сожалению, пока что на это нет времени, поскольку на данный момент я работаю над другими статьями и проектами.
Спасибо :). Честно говоря, изначально я планировал рассказать про большее количество алгоритмов (в том числе и про не градиентные методы, а также про самые последние оптимизаторы) с их реализацией с нуля на питоне, но в последний момент решил этого не делать. Дело в том, что очень часто бывает так, что на бумаге алгоритм работает хорошо, а через год-два появляются контрпримеры, на которых ломаются его доказательства. Обычно проходит несколько лет, чтобы оптимизатор хорошо зарекомендовал себя на практике.
Такое явление даже можно встретить в учебных пособиях от более опытных авторов, когда в более поздних изданиях они просят забыть про то, что говорили ранее, поэтому я решил обойтись наиболее важными концепциями, чтобы потом случайно никого не ввести в заблуждение. Возможно, в будущем выпущу ещё одну статью на эту тему, но это не точно :)
Честно говоря, я как-то пропустил ваш ответ. Прошу прощения, что отвечаю спустя год. Спасибо большое за дополнительные материалы, однако я уже за это время реализовал все ML-алгоритмы с нуля :)
Если вам будет интересно, можете ознакомиться с этим здесь.
Спасибо :)
Честно говоря, товарищ выше так и не смог ответить, что в его понимании является базовым пакетом.
В контексте машинного обучения numpy, pandas, matplotlib — это минимальный набор для анализа и обработки данных, которым предстоит пользоваться всегда или почти всегда. Хотя, лично я сюда бы ещё отнёс scipy и seaborn.
Например, при построении графиков решающих границ алгоритмов, я пользовался библиотекой MLxtend — вот она уже точно не является базовой, поскольку можно было бы обойтись и без неё, но просто она делает жизнь немного проще.
Без шуток, если вы считаете, что эту тему можно раскрыть более подробно и у вас это вызывает такой интерес, то почему бы не внести вклад в развитие IT-сообщества и сделать статьи по ML так, как хочется вам? По-моему, Хабр как раз для чего-то подобного и создавался.
Я не знаю по какой причине вас это так напугало и вы начали оправдываться, но уверен, что если вы сделаете то о чём говорите, то аудитория обязательно вас примет с теплом.
На гитхабе и kaggle также есть похожие проекты, которые так и называются "ml-алгоритмы с нуля". Правда, большинство из них либо слишком простые и представлены не в таком объёме, либо не работают вообще. Поэтому, если вам будет интересно, что такое "с нуля" и как это выглядит, то рекомендую посетить эти сайты. В любом случае, это будет гораздо лучше, чем писать глупости и придираться по мелочам.