Увы, в вашем вопросе недостаточно данных для ответа. И я не особо знакома с foodtech проектами. Но если данных у вас немного и специфических требований к рекомендациям пока нет (это нормально, они появятся позже в процессе развития сервиса), то имеет смысл обратиться к коллаборативным моделям из первой части статьи. Попробуйте что-то максимально простое. Любая рекомендательная система будет уже лучше чем ее отсутствие.
Я свои знания в основном собирала по статьям и конференциям. Из книг читала разве что "Recommender systems handbook" (Francesco Ricci). Она хороша, хотя написана давно, и про новые подходы все равно придется читать/искать отдельно
Она вообще не плоха. Собственно вся первая статья про нее в разных вариациях, да и тут я говорю, что очень во многих случаях ее вполне хватит. Просто иногда бывают специфические задачи. Или бывает, что даже небольшой прирост точности приносит много денег. Тогда игра с усложнением стоит свеч.
Мне кажется, что алгоритмов тут вы не найдете, тут довольно много эвристики. Если это вкладка «тренды», то можно прямо сортировать по скорости роста – производной. Другое дело, что нужно отсечь случайные выбросы (тут компромис между быстрой реакцией на тренды и их стабильностью: отсечением выбросов).
И какой-то начальный порог поставить: быстрый рост с 0 до 10 просмотров ни о чем не говорит – мало данных. Опять же компромис между скоростью реакции на тренды и ложными срабатываниями.
Можно взять это как два гиперпараметра и подобрать на аб-тесте.
А если речь не об отдельной вкладке, то можно производную добавить как параметр в какую-то из моделей.
Все верно, спасибо за замечание (чуть позже исправлю в статье). Статья писалась не линейно, и кусок про mRmR появился позже. Мои слова про сложность методов фильтрации верны для взаимной информации, хи-квадрата, но не для mRmR.
Вам спасибо за комментарий.
Если под корреляцией вы подразумеваете линейный коэффициент корреляции, то метод расчета у них совсем разный. Я его не использовала и даже в статьях его упоминаний не видела, так что ничего не могу сказать про эффективность, к сожалению.
Я и так боялась, что объем получился слишком большой.
Вы правы, что в смысле точности никакой из методов фильтрации не сравнится с wrapper. Но недостаток wrapper-методов (стоимость вычислений) очень весомый. Если есть возможность тренировать модель на всем объеме фич, то проще и лучше использовать классификатор с регуляризацией. Это будет дешевле в смысле вычислений, и точность не хуже.
Ниша методов фильтрации — случаи, когда тренировать модель на всем объеме фич мы просто не можем – памяти не хватает. Тогда другие методы не сработают.
Постараюсь ответить (если я неправильно пойму какой-либо вопрос – поправьте меня).
1. У нашего анализа, как правило, есть цель – предсказать что-либо (погоду, цену на рынке, тип документа, объект на фотографии). Она и обуславливает выбор целевой переменной, т.е. объекта предсказания. При слишком большом количестве фич (большой размерности массива) можно избавиться от части используя методы фильтрации, можно уменьшить размерность (dimensionality reduction методы, например, PCA).
2. Тут довольно просто. Следует использовать кросс валидацию и оставлять некоторое количество как тестовый сет. На нем можно оценить эффективность, сравнив точность классификатора на полном и на урезанном массиве фич.
3. Самый сложный вопрос потому, что самый объемный. Я не смогу сейчас описать все возможные методы и нюансы, связанные с unsupervised learning (как правило, кластеризация используется в этом случае). Для такого случая для уменьшения размерности фич можно применять feature extraction методы.
Ошиблась с ответом, извините.
Методы фильтрации не идеальны, поэтому, разумеется, могут давать разный результат. Хотя на счет диаметрально мне сложно поверить. У вас были такие случаи?
Постараюсь ответить (если я неправильно пойму какой-либо вопрос – поправьте меня).
1. У нашего анализа, как правило, есть цель – предсказать что-либо (погоду, цену на рынке, тип документа, объект на фотографии). Она и обуславливает выбор целевой переменной, т.е. объекта предсказания. При слишком большом количестве фич (большой размерности массива) можно избавиться от части используя методы фильтрации, можно уменьшить размерность (dimensionality reduction методы, например, PCA).
2. Тут довольно просто. Следует использовать кросс валидацию и оставлять некоторое количество как тестовый сет. На нем можно оценить эффективность, сравнив точность классификатора на полном и на урезанном массиве фич.
3. Самый сложный вопрос потому, что самый объемный. Я не смогу сейчас описать все возможные методы, связанные с unsupervised learning (как правило, кластеризация используется в этом случае). Для такого случая для уменьшения размерности фич можно применять feature extraction методы.
Резонное замечание. Разумеется, следовало использовать кросс-валидацию. Единственная причина в том, что ее использование требует разобраться в некоторых дополнительных моментах (например, как выбирать оптимальное соотношение обучающей и контрольной выборки). Но к следующему разу я проясню для себя эти вещи.
Спасибо за похвалу!
Иерархическая классификация – задача более сложная. К тому же организовать несколько человек труднее, чем самого себя (особенно если у них хватает проблем и помимо конкурса). Но опыт командной работы – несомненно ценней, чем одиночной.
Увы, в вашем вопросе недостаточно данных для ответа. И я не особо знакома с foodtech проектами. Но если данных у вас немного и специфических требований к рекомендациям пока нет (это нормально, они появятся позже в процессе развития сервиса), то имеет смысл обратиться к коллаборативным моделям из первой части статьи. Попробуйте что-то максимально простое. Любая рекомендательная система будет уже лучше чем ее отсутствие.
Я свои знания в основном собирала по статьям и конференциям. Из книг читала разве что "Recommender systems handbook" (Francesco Ricci). Она хороша, хотя написана давно, и про новые подходы все равно придется читать/искать отдельно
Она вообще не плоха. Собственно вся первая статья про нее в разных вариациях, да и тут я говорю, что очень во многих случаях ее вполне хватит. Просто иногда бывают специфические задачи. Или бывает, что даже небольшой прирост точности приносит много денег. Тогда игра с усложнением стоит свеч.
И какой-то начальный порог поставить: быстрый рост с 0 до 10 просмотров ни о чем не говорит – мало данных. Опять же компромис между скоростью реакции на тренды и ложными срабатываниями.
Можно взять это как два гиперпараметра и подобрать на аб-тесте.
А если речь не об отдельной вкладке, то можно производную добавить как параметр в какую-то из моделей.
А можно подробнее про это? Может быть, вы можете посоветовать каую-нибудь статью
Если под корреляцией вы подразумеваете линейный коэффициент корреляции, то метод расчета у них совсем разный. Я его не использовала и даже в статьях его упоминаний не видела, так что ничего не могу сказать про эффективность, к сожалению.
Вы правы, что в смысле точности никакой из методов фильтрации не сравнится с wrapper. Но недостаток wrapper-методов (стоимость вычислений) очень весомый. Если есть возможность тренировать модель на всем объеме фич, то проще и лучше использовать классификатор с регуляризацией. Это будет дешевле в смысле вычислений, и точность не хуже.
Ниша методов фильтрации — случаи, когда тренировать модель на всем объеме фич мы просто не можем – памяти не хватает. Тогда другие методы не сработают.
1. У нашего анализа, как правило, есть цель – предсказать что-либо (погоду, цену на рынке, тип документа, объект на фотографии). Она и обуславливает выбор целевой переменной, т.е. объекта предсказания. При слишком большом количестве фич (большой размерности массива) можно избавиться от части используя методы фильтрации, можно уменьшить размерность (dimensionality reduction методы, например, PCA).
2. Тут довольно просто. Следует использовать кросс валидацию и оставлять некоторое количество как тестовый сет. На нем можно оценить эффективность, сравнив точность классификатора на полном и на урезанном массиве фич.
3. Самый сложный вопрос потому, что самый объемный. Я не смогу сейчас описать все возможные методы и нюансы, связанные с unsupervised learning (как правило, кластеризация используется в этом случае). Для такого случая для уменьшения размерности фич можно применять feature extraction методы.
Методы фильтрации не идеальны, поэтому, разумеется, могут давать разный результат. Хотя на счет диаметрально мне сложно поверить. У вас были такие случаи?
1. У нашего анализа, как правило, есть цель – предсказать что-либо (погоду, цену на рынке, тип документа, объект на фотографии). Она и обуславливает выбор целевой переменной, т.е. объекта предсказания. При слишком большом количестве фич (большой размерности массива) можно избавиться от части используя методы фильтрации, можно уменьшить размерность (dimensionality reduction методы, например, PCA).
2. Тут довольно просто. Следует использовать кросс валидацию и оставлять некоторое количество как тестовый сет. На нем можно оценить эффективность, сравнив точность классификатора на полном и на урезанном массиве фич.
3. Самый сложный вопрос потому, что самый объемный. Я не смогу сейчас описать все возможные методы, связанные с unsupervised learning (как правило, кластеризация используется в этом случае). Для такого случая для уменьшения размерности фич можно применять feature extraction методы.
Иерархическая классификация – задача более сложная. К тому же организовать несколько человек труднее, чем самого себя (особенно если у них хватает проблем и помимо конкурса). Но опыт командной работы – несомненно ценней, чем одиночной.