Як вибрати кількість компонентів для незалежного аналізу компонентів?


11

За відсутності хороших апріорних здогадок про кількість компонентів, які потрібно запитати в незалежному аналізі компонентів, я прагну автоматизувати процес відбору. Я думаю, що розумним критерієм може бути число, яке мінімізує глобальні докази кореляції між обчисленими компонентами. Ось псевдокод такого підходу:

for each candidate number of components, n:
    run ICA specifying n as requested number of components
    for each pair (c1,c2) of resulting components:
        compute a model, m1: lm(c1 ~ 1)
        compute a model, m2: lm(c1 ~ c2)
        compute log likelihood ratio ( AIC(m2)-AIC(m1) ) representing the relative likelihood of a correlation between c1 & c2
    compute mean log likelihood ratio across pairs
Choose the final number of components as that which minimizes the mean log likelihood of component relatedness

Я вважаю, що це повинно автоматично штрафувати кандидатів, більших за "справжню" кількість компонентів, оскільки ІКА, отримані в результаті таких кандидатів, повинні бути змушені поширювати інформацію від одних справжніх компонентів по декількох оцінених компонентах, збільшуючи середні докази кореляції між парами компонентів.

Це має сенс? Якщо так, чи існує більш швидкий спосіб досягти сукупної метрики спорідненості між оціненими компонентами, ніж запропонований вище підхід щодо ймовірності середнього журналу (який може бути досить повільним у обчисленні)? Якщо такий підхід не має сенсу, як може виглядати хороша альтернативна процедура?

Відповіді:


6

Підхід до навчання варіаційного ансамблю до ICA може зробити це "автоматичним виявленням відповідності". Він автоматично вимикає компоненти, які не потрібні для поліпшення прив’язки до байєсівських свідчень.

Ознайомтеся з доступною тут тезою Джеймса Міскіна , яка впроваджує методику.

Це дуже витончено реалізовано на Java Джоном Вінном (ще один доктор філософії, який реалізує Байєсівське навчання ансамблю за допомогою повідомлення, що передає Алгоритм).

Щоб вивчити техніку, я вирішив застосувати алгоритм Вінна в c ++, який можна отримати звідси (активний розвиток).


2

Як каже Том, автоматичне визначення відповідності - це хороший підхід до вибору невеликої підмножини компонентів у ймовірнісній моделі.

Іншим підходом для ICA є використання попереднього процесу індійського фуршету - Ноулс і Гахрамані роблять це в "Аналізі нескінченного розрідженого фактора та аналізу нескінченних незалежних компонентів".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.