Матрицы онлайн гаусса: Онлайн калькулятор. Решение систем линейных уравнений. Метод Гаусса

Гауссов процесс онлайн-регрессии с разреженной матрицей и приложения машинного зрения

Аннотация

Мы представляем новый алгоритм вывода гауссовского процесса, называемый онлайн-гауссовыми процессами разреженной матрицы (OSMGP), и демонстрируем его достоинства на нескольких приложениях машинного зрения. OSMGP основан на наблюдении, что для ядер с локальной поддержкой матрица Грама обычно разрежена. Поддержание и обновление разреженного фактора Холецкого матрицы Грама можно эффективно выполнять с помощью поворотов Гивенса. Это приводит к точному онлайн-алгоритму, время обновления которого линейно зависит от размера матрицы Грама. Кроме того, если приблизительные обновления допустимы, коэффициент Холецкого можно поддерживать на постоянном уровне, используя гиперболические повороты для удаления определенных строк и столбцов, соответствующих отброшенным обучающим примерам. Мы демонстрируем, что, используя эти матричные понижения, можно включить онлайн-оценку гиперпараметров, не влияя на линейную сложность алгоритма во время выполнения. Алгоритм OSMGP применяется для оценки положения головы и задач визуального отслеживания. Экспериментальные результаты показывают, что предложенный метод точен, эффективен и хорошо обобщает использование онлайн-обучения.

Ключевые слова

  • Онлайн-обучение
  • Единица измерения инерции
  • Разреженная матрица
  • Радиальное базисное ядро ​​
  • Точка обучения

Эти ключевые слова не были добавлены автором. Этот процесс является экспериментальным, и ключевые слова могут обновляться по мере улучшения алгоритма обучения.

Скачать документ конференции в формате PDF

Ссылки

  1. Расмуссен, CE, Уильямс, C.: Гауссовские процессы для машинного обучения. MIT Press, Кембридж (2006)

    МАТЕМАТИКА Google ученый

  2. Снельсон, Э. , Гахрамани, З.: Разреженные гауссовские процессы с использованием псевдовходов. В: Достижения в системах обработки нейронной информации, стр. 1259–1266 (2006)

    . Google ученый

  3. Чато, Л., Оппер, М.: Разреженные гауссовские онлайн-процессы. Нейронные вычисления 14(2), 641–669.(2002)

    Перекрёстная ссылка МАТЕМАТИКА Google ученый

  4. Хинонеро-Кандела, Дж., Расмуссен, К., Уильямс, К.: Аппроксимационные методы регрессии гауссовского процесса. В: Крупномасштабные машины ядра, стр. 203–224. MIT Press, Кембридж (2007)

    Google ученый

  5. Хамерс, Б., Сайкенс, Дж., Мур, Б.Д.: Компактно поддерживаемые ядра RBF для разреживания матрицы Грама в регрессионных моделях LS-SVM. В: Труды Международной конференции по искусственным нейронным сетям, стр. 720–726 (2002)

    Google ученый

  6. “>

    Голуб, Г., Кредит, К.В.: Матричные вычисления. Издательство Университета Джона Хопкинса (1996)

    Google ученый

  7. Кесс, М., Ранганатан, А., Деллаерт, Ф.: Быстрое инкрементальное сглаживание информации о квадратном корне. В: Труды Международной объединенной конференции по искусственному интеллекту, стр. 2129–2134 (2007 г.)

    . Google ученый

  8. Дэвис, Т., Гилберт, Дж., Ларимор, С., Нг, Э.: Алгоритм аппроксимации минимальной степени столбца. ACM Transactions on Mathematical Software 30(3), 353–376 (2004)

    CrossRef MathSciNet МАТЕМАТИКА Google ученый

  9. Керниган, Б., Лин, С.: Эффективная эвристическая процедура для разделения графов. Технический журнал Bell System 49(2), 291–307 (1970)

    CrossRef МАТЕМАТИКА Google ученый

  10. “>

    Чжао, К., Фуюнь, Л., Лев-Ари, Х., Проакис, Дж.: Алгоритмы наименьших квадратов с рекурсивным порядком скользящего окна. IEEE Transactions on Acoustics, Speech, and Signal Processing 42(8), 1961–1972 (1994)

    CrossRef Google ученый

  11. Бьорк, А., Парк, Х., Элден, Л.: Точное занижение значений метода наименьших квадратов. SIAM Journal on Matrix Analysis and Applications 15(2), 549–568 (1994)

    CrossRef MathSciNet МАТЕМАТИКА Google ученый

  12. Крюгер, Н., Поцш, М., фон дер Мальсбург, К.: Определение положения лица и позы с помощью изученного представления на основе размеченных графиков. Image and Vision Computing 15(8), 665–673 (1997)

    CrossRef Google ученый

  13. Ян, Р., Чжан, З.: Отслеживание положения головы на основе модели со стереозрением. В: Материалы Международной конференции по автоматическому распознаванию лиц и жестов, стр. 242–247 (2002 г.)

    Google ученый

  14. Яо, П., Эванс, Г., Калуэй, А.: Использование аффинного соответствия для оценки трехмерной позы лица. В: Труды Международной конференции IEEE по обработке изображений, стр. 919–922 (2001)

    . Google ученый

  15. Рэй, Р., Риттер, Х.: Распознавание ориентации головы человека на основе искусственных нейронных сетей. Транзакции IEEE в нейронных сетях 9(2), 257–265 (1998)

    CrossRef Google ученый

  16. Ли, Ю., Гонг, С., Лидделл, Х.: Поддержка векторной регрессии и классификации на основе многоракурсного обнаружения и распознавания лиц. В: Труды Международной конференции IEEE по автоматическому распознаванию лиц и жестов, стр.

    300–305 (2000 г.)

    . Google ученый

  17. Уильямс, О., Блейк, А., Чиполла, Р.: Разреженное и частично контролируемое визуальное картирование с помощью S3GP. В: Труды конференции IEEE по компьютерному зрению и распознаванию образов, том. 1, стр. 230–237 (2006)

    Google ученый

  18. Виола, П., Джонс, М.: Быстрое обнаружение объектов с помощью расширенного каскада простых функций. В: IEEE Conf. по компьютерному зрению и распознаванию образов, том. 1, стр. 511–518 (2001)

    Google ученый

  19. Росс, Д., Лим, Дж., Лин, Р.С., Ян, М.Х.: Инкрементное обучение для надежного визуального отслеживания. Международный журнал компьютерного зрения 1–3, 125–141 (2008)

    Перекрёстная ссылка Google ученый

  20. “>

    Thayananthan, A., Navaratnam, R., Stenger, B., Torr, P., Cipolla, R.: Многомерные векторные машины релевантности для отслеживания. В: Материалы Европейской конференции по компьютерному зрению, том. 3, стр. 124–138 (2006)

    Google ученый

  21. Лоуренс, Н.: Модели скрытых переменных гауссовского процесса для визуализации многомерных данных. В: Достижения в системах обработки нейронной информации, стр. 329.–336 (2004)

    Google ученый

  22. Уильямс О., Блейк А., Чиполла Р.: Разреженная байесовская регрессия для эффективного визуального отслеживания. IEEE Transactions on Pattern Analysis and Machine Intelligence 27(8), 1292–1304 (2005)

    CrossRef Google ученый

Ссылки на скачивание

Информация об авторе

Авторы и организации

  1. Honda Research Institute, Mountain View, CA 94041, USA

    Ananth Ranganathan

  2. Университет Калифорнии, Merced, CA 95344, USA

    Ming-Hsuan Yang

Авторы

  • 016669
  • 9 9016. публикации

    Вы также можете искать этого автора в PubMed Google Scholar

  • Ming-Hsuan Yang

    Просмотр публикаций автора

    Вы также можете искать этого автора в PubMed Google Академия

  • Editor information

    Editors and Affiliations

    1. Computer Science Department, University of Illinois at Urbana Champaign, 3310 Siebel Hall, Urbana, IL 61801, USA

      David Forsyth

    2. Department of Computing, Oxford Brookes University, OX33 1HX, Wheatley, Oxford, UK

      Philip Torr

    3. Департамент инженерных наук, Оксфордский университет, Parks Road, OX1 3PJ, Oxford, UK

      Эндрю Зиссерман

    Электронный дополнительный материал

    Дополнительный материал (5797 КБ)

    Дополнительный материал (13 000 KB)

    Сполнительный материал (10,152 KB)

    6 (10,152 KB)

  • 66 (10,152 KB)

  • 66 (10,152 KB)

    666 (10,152 KB)

    666 (10,152 KB)

    666 (10,152 KB)

    6.

    Права и разрешения

    Перепечатка и разрешения

    Информация об авторских правах

    © 2008 Springer-Verlag Berlin Heidelberg

    Об этой статье

    Онлайн-оценка максимального правдоподобия (многомерных) гауссовских распределений — машинное обучение и статистика

    Этот пост является первой частью серии из пяти статей:

    1. Онлайн-оценка максимального правдоподобия (многомерных) гауссовских распределений
    2. Онлайн-оценка взвешенного выборочного среднего и матрицы ковиантности
    3. Ковариация взвешенных средних
    4. Память экспоненциально затухающей оценки для матрицы среднего и ковариации
    5. Онлайн-оценка обратной ковариационной матрицы

    \(
    \def\myX{\mathbf{x}} \ деф \ мой Y {\ mathbf {у}} \def\mySigma{\mathbf{\Sigma}} \def\myM{\mathbf{M}} \def\myT{\mathsf{T}} \)

    Когда нужно оценить параметры (средний вектор и ковариационная матрица) многомерного распределения Гаусса, обычно используются следующие хорошо известные соотношения, которые представляют оценки максимального правдоподобия:

    где i-е пример вектор выборки размером .

    Приведенные выше два уравнения могут быть легко реализованы для автономного случая с уже существующими данными. Однако на практике часто приходится иметь дело с потоками данных, где за раз приходится обрабатывать один пример. Здесь все становится сложнее.

    В таких ситуациях обычно невозможно повторно вычислить уравнение. \eqref{eq:meanDef} и уравнение. \eqref{eq:SigmaDef} снова для каждого вновь собранного экземпляра данных. Целесообразнее немного адаптировать предыдущие оценки, а также подогнать под новую точку, чтобы получить и .

    Онлайн-оценка среднего

    Для среднего вектора мы можем легко найти такое решение:

    где:

    Правило обновления в уравнении. \eqref{eq:onlineMean} в сочетании с уравнением. \eqref{eq:DeltaN} должен быть достаточно надежным для большинства практических приложений.

    Онлайн-оценка ковариационной матрицы

    Поиск правил обновления для онлайн-адаптации ковариационной матрицы немного сложнее. Однако, как только математика сделана, полученные уравнения также довольно просты.

    Можно начать с ненормированной суммы примерных ковариаций (так называемая матрица рассеяния) для объема выборки (мы изначально не рассматриваем нормировку на ):

    где j-й элемент вектора на временном шаге .

    Для ковариации между двумя признаками j и k, чтобы обновить до , можно вычислить приращение: отношение (где и оба вектора-столбца):

    Если кто-то предпочитает обновлять ковариационную матрицу «мини-пакетами» вместо отдельных примеров, это можно реализовать с помощью следующего уравнения:

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

    Поиск более простой формулы для ковариационной матрицы

    Однако вышеприведенная формулировка все же кажется слишком сложной. Итак, мы снова пытаемся найти более удобное онлайн-правило обновления для ковариационной матрицы, начиная снова с исходного представления:

    Это приводит к следующей ковариационной матрице

    , которую также можно вычислить в векторизованной форме (заменив поправочный член Бесселя просто на ), если все примеры векторов организованы как строки в матрице со строками (просто в качестве примечания):

    Дальнейшие упрощения

    С помощью уравнения мы можем найти еще более простое онлайн-правило для обновления ковариационной матрицы. Давайте начнем снова с:

    Если мы посмотрим на приведенное выше уравнение, мы увидим, что оно фактически идентично уравнению. \eqref{eq:DeltaMResult}. В общем, мы только что нашли более простой способ вывести уравнение. \eqref{eq:DeltaMResult}. Тем не менее, немного поэкспериментировав с разными подходами, нам удалось немного упростить \eqref{eqref:DeltaM2}. Основная идея состоит в том, чтобы избавиться от терминов и , так как они не так привлекательны для нашей онлайн-формулировки. С уже известным выражением

    и с измененной формулировкой приведенного выше уравнения

    мы можем начать упростить уравнение. \eqref{eqref:DeltaM2}. Мы вставляем уравнение \eqref{eq:xmeanNew} и уравнение. \eqref{eq:xmeanOld} в \eqref{eqref:DeltaM2} и посмотрим, куда это нас приведет:

    где уже определено в уравнении. \eqref{eq:DeltaN}.

    Унифицированное алгоритмическое описание

    В целом это приводит лишь к нескольким очень простым правилам обновления, которые можно выполнять в следующем порядке:

    В случае одномерного гауссовского распределения приведенные выше инструкции сокращаются до: 92), nряд=n) среднее значение = матрица (rep (0, n)) for(i in 1:nrow(X)) { х = матрица (Х [я,]) дельта = х – среднее среднее = среднее + дельта / я M = M + дельта %*% t(x – среднее значение) если (i>1) cov <- M / (i-1) } возврат (список (meanEst = среднее, covEst = cov)) }

    Теперь давайте зададим многомерную гауссиану с параметрами

    и возьмем выборку размера из этого распределения. Затем мы просматриваем нарисованные примеры в режиме онлайн и снова пытаемся оценить среднее значение и ковариационную матрицу:

     # Пример: выборка из заранее заданного дистрибутива, а затем попытка оценить
    # параметры раздачи
    covMat <- matrix(c(1,-1,.5,-1,3,-1,.5,-1,3), nrow=3)
    N = 1000
    X <- mvrnorm(n=N,Sigma = covMat, mu = c(1,10,20), tol= 1e-13)
    onlineEstimator(X) 

    После выполнения выборки размера мы можем получить следующий вывод:

     > onlineEstimator(X)
    $meanEst
               [1]
    [1,] 0,9908257
    [2,] 10.0214919
    [3,] 20.0737200
    $covEst
               [1] [2] [3]
    [1,] 1,0374998 -1,017537 0,5327917
    [2,] -1,0175368 3,038815 -1,0029339
    [3,] 0,5327917 -1,002934 3,05
  • Мы также можем построить график изменения оценок с течением времени. Результат может быть примерно таким (примечание: показаны только несколько оцененных компонентов):

    Рисунок 1: Онлайн-оценка параметров распределения Гаусса. Показаны несколько компонентов среднего вектора и ковариационной матрицы. После обработки достаточного количества примеров оценки сходятся к истинным значениям. 92), nряд=n) среднее значение = матрица (rep (0, n)) myMeans <- data.frame() myCovs <- data.frame() for(i in 1:nrow(X)) { х = матрица (Х [я,]) дельта = х - среднее среднее = среднее + дельта/(i) M = M + дельта %*% t(x - среднее значение) mycov <- if(i>1) M / (i-1) else M myMeans <- rbind (myMeans, as.vector (среднее)) myCovs <- rbind(myCovs, as.vector(mycov)) } return (list(meanEst=mean, covEst=mycov, allMeans = myMeans, allCovs = myCovs)) } covMat <- matrix(c(1,-1,.5,-1,3,-1,.5,-1,3), nrow = 3) N = 1000 X <- mvrnorm(n=N,Sigma = covMat, mu = c(1,10,20), tol= 1e-13) res <- onlineEstimator(X) ts.plot(res$allMeans[1]) allEsts <- cbind(n=1:N,res$allMeans, res$allCovs) colnames(allEsts) <- c("n", paste("mean_", c(1:3), sep=""), paste("cov_", 1:9, сент = "")) plotCols <- c(1:3,5,6,7,9) plotdf <- Melt(allEsts[plotCols], id.

    Оставить комментарий