Алгоритм случайной проекции псевдокод

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

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

Например, что я понимаю из алгоритма, читаяэта статья о Джонсоне-Линденштраусе в том, что:

Предположим, у нас естьAxB матрица гдеA это количество образцов иB количество измерений, например100x5000, И я хочу уменьшить его размерность до500, который будет производить100x500 матрица.

Насколько я понимаю: во-первых, мне нужно построить100x500 матрица и заполнить записи случайным образом с+1 а также-1 (с вероятностью 50%).

Редактировать:
Хорошо, я думаю, что начал понимать это. Итак, у нас есть матрицаA которыйmxn, Мы хотим уменьшить его доE которыйmxk.

Что нам нужно сделать, это построить матрицуR у которого естьnxk измерение, и заполните его0, -1 или же+1относительно2/3, 1/6 а также1/6 вероятность.

После построения этогоRмы просто сделаем матричное умножениеAxR найти нашу уменьшенную матрицуE, Но нам не нужно делать полное матричное умножение, потому что если элементRi является0нам не нужно делать расчет. Просто пропустите это. Но если мы столкнемся с1мы просто добавляем столбец, или если это-1Просто вычтите это из расчета. Поэтому мы просто будем использовать суммирование, а не умножение, чтобы найтиE, И это то, что делает этот метод очень быстрым.

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

Ответы на вопрос(4)

Ваш ответ на вопрос