Как стать автором
Обновить

Комментарии 12

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

Вот технаря пост, иначе не сказать. С одной стороны, интересно, что вы замеряете и как анализируете. С другой — feedback loop в реальной жизни кожаные мешки как-то экзаменами научились замерять, а у вас тут стена возникает — почему?


И так во многих местах.


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


Онлайн имеет недостатки, они всем известны: скучно, нет социальной поддержки, соревновательности, учителя, да и вообще — пришел на урок или пару и уже вынужден учиться. А вот если посмотреть на внутренний процесс, то в голове тренируются нейросети: закон/правило/лемма/и т.п. пишется в память, а потом в разной форме поднимается оттуда при поиске решения задачи.


Тут довольно хорошо всё исследовано педагогами: какой предмет, какой инфоблок, какими методами и сколько раз надо повторить, чтобы скрежещущее сознание устало, скомпилировало опыт в компактную библиотеку и отправило в подсознание. Вспомните, как учились водить машину: неделю потеешь, потом ещё и затем вообще не парит ехать.


Это очень простая (и плохо понимаемая) механика. Интересно, что нашёл я её в йоге. Недавно умерший популяризатор гимнастики Б.К.С. Айенгар написал книгу с асанами и присвоил им сложность от 1 до 60. Я очень заинтересовался, в чём метод. Ну наши конечно же не в курсе, но в Индии подсказали: он просто подсчитал количество точек контроля умом в процессе выполнения асаны. Я уже детали не вспомню, но любая асана это:


  • отстроить положение конечностей, часть зафиксировать (и держать контроль)
  • живот — скрутить, напрячь, короче, взять под контроль режим работы
  • тургор кожи — признак работы суставов и натяжения сухожилий — вспомнить какие участки мастер советовал как ощущать, сличить опыт с рекомендациями
  • дыхание — считать просто, или в связке с ударами сердца
  • положение глаз и языка — установить в исходное, дождаться ощущения
  • и это исходное положение, а потом начинается работа в асане (скрутка, растяжка, статичная стойка) и движение из асаны (связка)

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


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


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


А вы задачи не квалифицировали, процесс обучения человека нее изучили, смотрите на свои 100 млн. записей как на черный ящик и вот. Ну как бы круто, но блин. 2 года и что на выходе? Талантливые педагоги с вашими ресурсами уже шикарные решения выкатили бы и опробовали. Без всяких bias.

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

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

Вы совершенно правильно всё пишете! Такая проблема вполне может возникнуть. Мы это регулируем тем, что оптимизируем вероятность хорошего решения целикового экзамена, в котором представлены разные темы. Но вообще надо отдельно это проверить, вы совершенно правы.

Если будет возможность, напишите, пожалуйста, о результатах =)

Статья интересна работой со статистикой. Но фундаментально не нравится следующее. Вы рассказали историю успеха. А обучение по своей сути это неудачи и их преодоление

Отличная статья, спасибо)
Очень интересно, как вы реализуете "относительно умный способ" предложения задач студентам. То есть, у нас есть метрики, оценивающие студента и задачу, можно просто предлагать задачу, которая ближе всего к трешхолду сложности? (Ну, например, 0.7)
Или здесь какой-то более замороченный способ, оптимизирующий шансы студента решать другие задачи и подобное?

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

Здравствуйте, снова вас спрошу
Я учил data science по курсам ods, участвовал в kaggle, я знаю достаточно приёмов, архитектур, принципов, чтобы решать «обычные» задачи. Но когда должен создать что-то с нуля — что вы демонстрируете здесь, сами создавая данные, определяя функции ошибки и обучая модели, я впадаю в ступор, то ли от недостатка математики, то ли от недостатка такого рода практики

Я буду очень рад, если вы сможете подсказать — что нужно было учить вашим разработчикам по DS, чтобы придумать систему, лежащую в основе подбора задач Яндекс.Репетитора

Понятно, что матанализ, теорвер, линал, я вроде как прошёл курсы на Stepik)
Стоит просто идти по серьёзным книжкам, или менять подход?

По-моему, тут штука не в том, чтобы учить что-то "техническое": и математика, и алгоритмы являются просто инструментами, которые полезно знать, чтобы ставить и затем решать задачи хорошо. Чтобы придумать подстановку — нужно всё-таки немного другое :)


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


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

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.