← Вернуться к списку

Как я могу минимизировать количество ответов, которые релевантны для модели машинного обучения?

Краткое содержание

Проблема: У нас довольно большая база данных, которая формируется нашими пользователями. Способ ввода данных заключается в том, что от пользователей задают примерно 30 вопросов, у каждого из которых около 12 ответов (x, a, A, B, C, ..., H). Буквы обозначают значения, которые мы можем впоследствии интерпретировать. Я уже пытался и внедрял некоторые очень базовые предсказатели, такие как случайный лес, небольшая НСН, простой дерево решений и т.д. Но все эти модели используют весь набор данных для одного финального прогноза (уже довольно хорошо). Что я хочу создать – это систему, которая будет исключать 7-10 возможных ответов, которые пользователь может дать на любой вопрос. Это позволит сократить объем данных, который нам необходимо собирать, хранить или использовать для переобучения будущих моделей. Я уже обнаружил несколько методов определения наиболее дискриминирующих переменных в полном наборе данных. За исключением того, что когда пользователь начинает заполнять вопросы, я начинаю теряться в том, что делать. Ни одна из моделей не рассчитывает следующий вопрос, учитывая предыдущую информацию. Кажется, мне следует использовать Nai

Полный текст

Как я могу минимизировать количество ответов, которые релевантны для модели машинного обучения? Задать вопрос

Задано 7 лет, 3 месяца назад Изменено сегодня Просмотрено 263 раза

Задано 7 лет, 3 месяца назад

3 $\begingroup$ Проблема: У нас довольно большая база данных, созданная нашими пользователями. Способ ввода этих данных заключается в том, что пользователи отвечают на около 30 вопросов, у каждого из которых примерно 12 ответов (x, a, A, B, C, ..., H). Буквы представляют собой значения, которые мы можем впоследствии интерпретировать. Я уже пытался и внедрял некоторые очень базовые предсказатели, такие как случайный лес, небольшая НСН, простое дерево решений и т.д. Но все эти модели используют весь набор данных для выполнения одного финального прогноза (уже довольно хорошо). Что я хочу создать - это систему, которая будет устранять 7-10 возможных ответов, которые пользователь может дать на любой вопрос. Это уменьшит количество данных, которое нам нужно собирать, хранить или использовать для переобучения будущих моделей. Я уже обнаружил несколько методов определения наиболее дискриминирующих переменных в полном наборе данных. Однако, когда пользователь начинает заполнять вопросы, я начинаю теряться в том, что делать. Ни одна из моделей не вычисляет следующий вопрос на основе предыдущей информации. Кажется, что мне следует использовать Байесовский классификатор, но я не уверен. Другие подходы включают пересчет значения Якоби или энтропии на каждом шаге. Но насколько мне известно, мы не можем учитывать ответы, данные до пересчета. машинное обучение выбор признаков деревья решений Поделиться Улучшить этот вопрос Следить за редактированием 16 февраля 2019 г., 2:43 nbro 43,2 тыс. 14 14 золотые значки 121 121 серебряные значки 222 222 бронзовые значки задано 14 сентября 2018 г., 12:07 Yvan Stemmerik 39 3 3 бронзовые значки $\endgroup$ 0 Добавить комментарий | 2 Ответы 2 Отсортировано по: Сбросить по умолчанию Наивысший рейтинг (по умолчанию) Измененная дата (новые первыми) Созданная дата (старые первыми) 0 $\begingroup$ Не нужно переобучать на лету. То, что вы ищете, - это алгоритм выбора признаков с внедрением, а точнее, один, который минимизирует количество необходимых ответов. Я думаю, что это один из редких случаев, когда генетические и эволюционные подходы являются очевидным выбором. Генетическое программирование — это техника поиска моделей, которые просто являются компьютерными программами. Вы генерируете множество компьютерных программ случайным образом, а затем скрещиваете "лучшие" из них вместе. Повторяя этот процесс со временем, вы получаете высокооптимизированные программы. Преимуществом GP является его чрезвычайная гибкость при выборе того, что оптимизировать. Так что "лучше", не всегда означает просто "более точно", "лучше" может означать сумму точности и $\frac{1}{\#answers\_used}$. Алгоритм работает так же, и, с правильно подобранными наградами, вы можете получить лучшее из обоих миров. Есть много вариантов этой концепции. Я, вероятно, начну со простого инструментария, такого как EJC , и стандартного, скучного генетического программирования. Существуют специализированные техники для таких вещей, как ваша проблема, но вы, скорее всего, получите 80% пользы без необходимости их изучать. Поделиться Улучшить этот ответ Следить за редактированием Изменено 14 сентября 2018 г., 12:53 Отвечено 14 сентября 2018 г., 12:42 John Doucette 9 472 1 1 золотой значок 20 20 серебряные значки 52 52 бронзовые значки $\endgroup$ 1 $\begingroup$ Вы определенно не хотите использовать Байесовский классификатор, но вы также можете рассмотреть возможность моделирования этого с использованием байесовской сети. Для этого вам потребуется довольно глубокое понимание предметной области. $\endgroup$ John Doucette – John Doucette 2018-09-14 12:56:43 +00:00 Комментировано 14 сентября 2018 г., 12:56 Добавить комментарий | 0 $\begingroup$ Проблема сформулирована. Непонятно, будут ли обработаны семантические элементы языка в анкете, поэтому прежде чем применять их, не будет получено никаких знаний об ассоциациях между вопросами и ответами в анкетах. Есть $M$ вопросов с $N_m$ дифференцированными ответами на каждый вопрос, представленными пользователям. Администрация этой анкеты создает набор данных, который впоследствии будет использоваться для обучения будущих моделей.