Какова цель сокращения размеров классификации? [Мигрировали]

Вместо списка можно использовать Queue .

  private Queue & lt; Something & gt;  queue = new ConcurrentLinkedQueue & lt; Something & gt; ();   

Он потокобезопасен и поддерживает iterator.remove () . Помните о потокобезопасном поведении итераторов очереди, хотя (проверьте javadoc).

4
задан amoeba 20 March 2015 в 11:05
поделиться

2 ответа

Я думаю, есть два способа взглянуть на вопрос, помогает ли SVD / PCA вообще.

Лучше ли использовать сокращенные данные PCA вместо необработанных данных?

Часто да, но бывают ситуации, когда PCA не требуется.

Я хотел бы дополнительно рассмотреть, насколько хорошо билинейная концепция PCA подходит к процессу генерации данных. Я работаю с линейной спектроскопией, которая определяется физическими законами, которые означают, что мои наблюдаемые спектры $ \ mathbf X $ являются линейными комбинациями спектров $ \ mathbf S $ химических видов I, взвешенных по их соответствующим концентрациям $ c $: $ \ mathbf X = \ mathbf C \ mathbf S $. Это очень хорошо подходит для модели оценки PCA $ \ mathbf T $ и загрузок $ \ mathbf P $: $ \ mathbf X = \ mathbf T \ mathbf P $ I don не знаю ни одного примера, когда PCA повредил модель (за исключением грубых ошибок при создании комбинированной модели PCA-whaterver)

Даже если базовые отношения в ваших данных не очень хорошо подходят для билинейных подход PCA, PCA в первую очередь - это только поворот ваших данных, который обычно не повредит. Отказ от более высоких ПК приводит к уменьшению размеров, но из-за настройки PCA они несут в себе лишь небольшую дисперсию - так что, скорее всего, даже если это не все, что подходит, это не повредит так много, ни ,

Это также часть компромисса смещения смещения в контексте PCA в качестве метода регуляризации (см. аннулятор @ usεr11852).

Лучше использовать PCA вместо некоторых другой метод уменьшения размеров?

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

Опять же, мои данные и приложения имеют характер, в котором PCA является довольно естественным, поэтому я использую его, и я не могу внести противоположный пример.

Но: имея молоток PCA не подразумевает, что все проблемы - это гвозди ... Ищем контрпримеры, я бы начал, может быть, анализ изображений, где объекты, о которых идет речь, могут появляться где угодно на картинке. Люди, которых я знаю, которые занимаются такими задачами, обычно разрабатывают специализированные функции.

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

4
ответ дан cbeleites 15 August 2018 в 23:28
поделиться

Ваша интуиция верна. Выполнение разложения сингулярных значений для использования полученных оценок в классификаторе оказывает положительное влияние на общую производительность классификатора в большинстве случаев. Это связано с тем, что через SVD можно эффективно регулировать и / или отфильтровывать режимы нерелевантного изменения (например, шум). Тем не менее нет никакой теоретической гарантии того, что способ вариации, который почти идеально классифицирует данные, которые вы изучаете, не исключается, если вы решите выбрать определенное число собственных векторов $ k $.

Для вашего примера, в частности, более 300 режимов ортогональной вариации - , скорее всего, . Обратите внимание, что особенно, если вы работаете в ситуациях, когда количество функций $ p $ массово больше, чем количество доступных образцов $ n $, принимающих произвольное число $ k $, может дать вам ложное чувство безопасности. Существуют специальные методы (например, LASSO , SCAD и т. Д.), Которые обрабатывают данные в этом режиме. Поскольку @ttnphns упоминал ответ @ amoeba на , как верхние k основных компонентов сохраняют прогностическую силу на зависимой переменной? очень хорошо. Не увлекайтесь тем фактом, что он фокусируется на регрессии. Регрессия - это, в конечном счете, бесконечная размерная классификация (или в бункерах ширины машины, если вам нравится :)).

Что касается реальных наборов данных: я не видел ни одного, но я подозреваю, что семантические тела ( Скрытый семантический анализ $ \ approx $ SVD для текстов) может проявлять такое поведение. Может быть относительно инвариантное маленькое слово, которое в терминах TF-IDF выглядит довольно низко - как и слово US. Такой термин можно было бы, вероятно, отфильтровать в пользу других более доминирующих терминов.

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

2
ответ дан usεr11852 15 August 2018 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: