Функциональное проектирование часто является важным компонентом машинного обучения (оно активно использовалось для победы в KDD Cup в 2010 году ). Тем не менее, я считаю, что большинство технических характеристик техники либо
- уничтожить любое интуитивное значение основных функций или
- очень специфичны для конкретного домена или даже определенных типов функций.
Классическим примером первого будет анализ основных компонентов. Мне кажется, что любые знания, которые будет иметь предметный эксперт об этих функциях, будут уничтожены путем преобразования этих функций в основные компоненты.
Сравните это с простой техникой преобразования даты в функции для «дня месяца» и «дня недели». Основное значение все еще сохраняется в новых функциях, но очевидно, что этот конкретный метод применим только к датам, а не к произвольным функциям.
Существует ли какой-либо стандартный набор методов проектирования функций, которые не разрушают значение базовых функций, но также применимы к произвольным доменам (или, по крайней мере, к широкому спектру доменов)?
источник
Ответы:
Мне известен один метод декомпозиции (но, может быть, есть и другие ...), который может быть полезен в сценариях, которые вы описываете. Это похоже на 2D-PCA - метод разложения высокого порядка, где разложение (то есть факторы) имеют некоторый смысл. Вы можете увидеть примеры и прочитать об этом здесь и здесь и попытаться здесь
источник
Недавние методы глубокого обучения, использующие Restricted Boltzmann Machine, продемонстрировали приятные возможности для нескольких типов данных (аудио, изображения, текст).
Поскольку эти методы создают генеративную модель, вы часто можете генерировать действительно хорошие образцы из модели.
Проверьте публикации Хинтона. http://www.cs.toronto.edu/~hinton/
Эти методы не являются общими (запускают один и тот же код для всех данных), но базовая модель обычно похожа.
источник