(Перенесено из комментариев к ответу по запросу @Greenparker)
Часть 1)
logp−−−−√ term происходит от (гауссовой) концентрации меры. В частности, если у вас естьpIID гауссовских случайных величин [F1], их максимум порядкаσlogp−−−−√ с высокой вероятностью.
n−1 фактор просто приходит факт вы смотрите на средней ошибки предсказания - то есть, он соответствует n−1 на другой стороне - если вы смотрели на общую ошибку, она не будет.
Часть 2)
По сути, у вас есть две силы, которые вы должны контролировать:
- i) хорошие свойства иметь больше данных (поэтому мы хотим, чтобы было большим);n
- II) трудности имеют больше (не имеет значения) особенности (поэтому мы хотим, чтобы было маленьким).p
В классической статистике мы обычно фиксируем и позволяем n переходить в бесконечность: этот режим не очень полезен для теории больших измерений, потому что он (асимптотически) в режиме низких измерений по построению .pn
В качестве альтернативы, мы могли бы позволить перейти в бесконечность, а n остаться неизменным, но тогда наша ошибка просто взорвется, поскольку проблема становится практически невозможной. В зависимости от проблемы ошибка может переходить в бесконечность или останавливаться на некоторой естественной верхней границе ( например , ошибка ошибочной классификации 100%).pn
Поскольку оба эти случая немного бесполезны, мы вместо этого рассматриваем оба переходящие в бесконечность, так что наша теория актуальна (остается многомерной), не будучи апокалиптической (бесконечные особенности, конечные данные).n,p
Наличие двух «ручек», как правило, сложнее, чем наличие одной ручки, поэтому мы фиксируем для некоторого фиксированного f и позволяем n переходить в бесконечность (и, следовательно, p переходит в бесконечность косвенно). [F2] Выбор f определяет поведение проблемы. По причинам, приведенным в моем ответе на часть 1, выясняется, что «плохость» от дополнительных функций растет только как log p, а «доброта» от дополнительных данных растет как n .p=f(n)fnpflogpn
- Если остается постоянным (эквивалентно,p=f(n)=Θ(Cn)для некоторогоC), мы наступаем на воду, и проблема заключается в стирке (ошибка остается фиксированной асимптотически);logpnp=f(n)=Θ(Cn)C
- если (p=o(Cn)) мы асимптотически достигаем нулевой ошибки;logpn→0p=o(Cn)
- и если (p=ω(Cn)), ошибка в конечном итоге уходит в бесконечность.logpn→∞p=ω(Cn)
Этот последний режим иногда называют в литературе «сверхвысокой размерностью». Насколько я знаю, термин «сверхвысокомерный» не имеет строгого определения, но неофициально это просто «режим, который нарушает лассо и подобные оценки».
Мы можем продемонстрировать это с помощью небольшого имитационного исследования в довольно идеализированных условиях. Здесь мы берем теоретическое руководство по оптимальному выбору из [BRT09] и выбираем λ = 3 √λ .λ=3log(p)/n−−−−−−−√
Сначала рассмотрим случай, когда . Это в «управляемом» многомерном режиме, описанном выше, и, как предсказывает теория, мы видим, что ошибка предсказания сходится к нулю:p=f(n)=3n
Код для воспроизведения:
library(glmnet)
library(ggplot2)
# Standard High-Dimensional Asymptotics: log(p) / n -> 0
N <- c(50, 100, 200, 400, 600, 800, 1000, 1100, 1200, 1300)
P <- 3 * N
ERROR_HD <- data.frame()
for(ix in seq_along(N)){
n <- N[ix]
p <- P[ix]
PMSE <- replicate(20, {
X <- matrix(rnorm(n * p), ncol=p)
beta <- rep(0, p)
beta[1:10] <- runif(10, 2, 3)
y <- X %*% beta + rnorm(n)
g <- glmnet(X, y)
## Cf. Theorem 7.2 of Bickel et al. AOS 37(4), p.1705-1732, 2009.
## lambda ~ 2*\sqrt{2} * \sqrt{\log(p)/n}
## is good scaling for controlling prediction error of the lasso
err <- X %*% beta - predict(g, newx=X, s=3 * sqrt(log(p)/n))
mean(err^2)
})
ERROR_HD <- rbind(ERROR_HD, data.frame(PMSE=PMSE, n=n, p=p))
}
ggplot(ERROR_HD, aes(x=n, y=PMSE)) + geom_point() + theme_bw() +
xlab("Number of Samples (n)") +
ylab("Mean Prediction Error (at observed design points)") +
ggtitle("Prediction Error Converging to 0 under High-Dim Asymptotics") +
scale_x_continuous(sec.axis = sec_axis(~ 3 * ., name="Number of Features (p)")) +
scale_y_log10()
Мы можем сравнить это со случаем, когда остается примерно постоянным: я называю это «пограничным» режимом сверхвысокой размерности, но это не стандартный термин:logpn
P <- 10 + ceiling(exp(N/120))
Здесь мы видим, что ошибка прогнозирования (с использованием той же схемы, что и выше) выравнивается, а не продолжается до нуля.
Penen2en2
P <- 10 + ceiling(exp(N^(1.03)/120))
Xen1.5
Несмотря на то, что я сказал выше и как это может выглядеть, режим сверхвысокой размерности на самом деле не является полностью безнадежным (хотя он и близок), но он требует гораздо более сложных методов, чем просто максимальное число гауссовских случайных величин для контроля ошибки. Необходимость использования этих сложных методов является основным источником сложности, которую вы отмечаете.
p,np=f(n)
Часть 3)
logpn
n,pn,p
Если вам удобно и вы хотите углубиться в исследовательскую литературу, я бы посмотрел на работы Jianqing Fan и Jinchi Lv, которые выполнили основную работу над проблемами сверхвысокой размерности. («Скрининг» - хороший термин для поиска)
[F1] На самом деле, любая субгауссова случайная величина, но это не так уж много добавляет к этому обсуждению.
sns=g(n)
[F3] Т. Хасти, Р. Тибширани и М. Уэйнрайт. Статистическое обучение с редкостью. Монографии по статистике и прикладной вероятности 143. CRC Press, 2015. Доступно для бесплатного скачивания по адресу https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS.pdf.
[BRT] Питер Дж. Биккель, Яков Ритов и Александр Б. Цыбаков. «Одновременный анализ лассо и селектора Данцига». Летопись статистики 37 (4), с. 1705-1732, 2009. http://dx.doi.org/10.1214/08-AOS620