• Критерии выбора значимых признаков для SVM классификации (метод опорных векторов)?

    YasonBy
    @YasonBy
    Прежде всего, не нужно зацикливаться на SVM: это всего лишь один из многих методов классификации. Да, у SVM есть своя специфика (у других методов — своя), но на данном этапе Вы вполне можете использовать общие алгоритмы предобработки данных.

    какие именно признаки брать?
    Это называется feature selection и feature extraction.

    Простыми словами, процесс выглядит так:
    1. Составляем список имеющихся признаков.
    2. Добавляем в него различные функции от признаков (как упомянутый логарифм от веса), комбинации разных признаков (например, длина*ширина*высота), и т.п. Что именно комбинировать и какие преобразования использовать, должно подсказать знание задачи и здравый смысл. Этот процесс относится к feature extraction.
    3. Задаём функцию ошибки, то есть определяем как будет оцениваться точность классификации. Например, это может быть отношение правильно распознанных примеров к их общему количеству. Здесь полезно почитать про precision and recall.
    4. Переходим на один уровень абстракции выше.
    Представим эдакий чёрный ящик, внутри которого находится классификатор вместе с обучающей и тестирующей выборками. На входе ящика — двоичный вектор, указывающий, какие признаки должен использовать классификатор; на выходе — величина ошибки классификации (на тестовой выборке).

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

    Нужно ли при этом нормализовывать численные значения этих признаков?
    Это сильно зависит от конкретной задачи и самих признаков.

    Что делать если количество зерен в реальности (в обучающей выборке) относится к количеству плевел как 1/200? Портит ли это обучающую выборку?
    В общем случае, портит: если одних примеров гораздо меньше, чем других, существует риск, что классификатор «запомнит» примеры из обучающей выборки, и не сможет адекватно разпознавать другие похожие примеры (Overfitting).
    К тому же, если используется простейшая функция ошибки (правильно_распознанных / размер_выборки), философски настроенный классификатор может всегда отвечать «плевел» — и в 99.5% случаев будет прав :)
    Ответ написан
    1 комментарий
  • Какой алгоритм может определить аномалии на графике?

    @dmshar
    Можно, конечно, заняться изобретением велосипеда. А можно набраться ума-разума, начав с теории. Тем более - она вам в жизни пригодится, т.к. ту задачу которую вы описали встречается в разных видах в экономике, информационной безопасности, медицине, технической диагностике, маркетинге - в том числе и аномалии посещения страниц, типа ваших - и еще в десятках других предметных областей, и изучив эту задачу вы обеспечите реальную заинтересованность в вас как специалиста десятков работодателей в будущем.
    Теория эта называется действительно по разному - "поиск и выявления аномалий", "changepoint detection", "обнаружение разладок и выбросов" и пр. В первом приближении все сводится к анализу временнЫх рядов и методам классификации, и обнаружении изменения моделей, которыми данные описываются ( "превышение уставок", выход за 3сигма и пр. - это только самые тривиальные и наивные из методов, которые сегодня применяются. Только, конечно не "процентные колебания"). Причем, если хотите все сделать по-серьезному, то надо изучать и параметры самих рядов (не только среднюю и дисперсию), проверять коррелированность посещения страниц сайтов, выявлять тренды и сезонность, проверять наличие кластеризации в данных и пр. пр.пр.
    Ну а можно, конечно, и "побыстрее", лишь бы что-то там квазиумное считало. Зато есть что заказчику показать. Тогда да - посчитали среднее, наши отклонения, нарисовали красивый график, впечатлили заказчика, получили вознаграждения, профит. Каждый выбирает свой путь.
    Ответ написан
    2 комментария