|
527 | 527 | "\n", |
528 | 528 | "Кстати, тут стоит обратить внимание на то, что в задаче классификации градиентный бустинг над деревьями использует регрессионные деревья, а не классификационные. Вся связь с исходной классификационной задачей осуществляется только через функцию активации $f$.\n", |
529 | 529 | "\n", |
530 | | - "#### Обучение\n", |
| 530 | + "#### Простой вариант обучения\n", |
531 | 531 | "\n", |
532 | 532 | "Пусть $L: \\mathbb{R}^2 \\to \\mathbb{R}$ — дифференцируемая (а лучше дважды дифференцируемая) функция потерь, а $l$ — количество объектов в обучающей выборке. Тогда первая базовая модель $b_1$ обучается решать следующую задачу:\n", |
533 | 533 | "$$\\min_{b_1} \\sum_{i=1}^l L(y_i, \\hat{y}_i^{(1)}).$$\n", |
|
541 | 541 | "\n", |
542 | 542 | "При обучении $b_t$ для оценки разбиения в узле можно использовать как MSE, так и косинусную меру близости между вектором предсказаний, составленным из $b_t(x_i)$, и вектором целевых переменных, составленным из $-g_i^{(t)}$. Второй вариант побуждает обучаться только на направление, но не на масштаб.\n", |
543 | 543 | "\n", |
544 | | - "#### Методы второго порядка\n", |
| 544 | + "#### Усовершенствованный вариант обучения\n", |
| 545 | + "\n", |
| 546 | + "Вместо градиентного спуска можно задействовать метод Ньютона.\n", |
| 547 | + "\n", |
| 548 | + "Для рассматриваемого эмпирического риска гессиан (матрица вторых частных производных) является диагональным, потому что в эмпирическом риске нет слагаемых, зависящих от предсказаний на двух или более объектах. Для диагональных элементов гессиана введём следующие обозначения:\n", |
| 549 | + "$$h_i^{(t)} = \\left. \\frac{\\partial^2 L(y_i, \\hat{y}_i^{(t)})}{\\partial {b_t(x_i)}^2} \\right|_{\\hat{y}_i^{(t)} = \\hat{y}_i^{(t-1)}}.$$\n", |
| 550 | + "\n", |
| 551 | + "Тогда разложение эмпирического риска как функции от $b_t(x_i)$ в ряд Тейлора в точке 0 (с заданными $\\hat{y}_i^{(t-1)}$) с обрезкой до производных второго порядка имеет вид:\n", |
| 552 | + "$$\\sum_{i=1}^l \\left(L(y_i, \\hat{y}_i^{(t-1)}) + g_i^{(t)} b_t(x_i) + \\frac{1}{2} h_i^{(t)}{b_t}^2(x_i)\\right).$$\n", |
| 553 | + "\n", |
| 554 | + "Относительно каждого отдельного предсказания $b_t(x_i)$ это выражение является параболой с вершиной в точке $-g_i^{(t)} / h_i^{(t)}$. На основании этого можно бы было заключить, что дерево $b_t$ должно обучаться предсказывать такую целевую переменную. Но из-за небольшой глубины $b_t$ некорректно рассматривать все $b_t(x_i)$ как независимые величины, ведь количество объектов $l$ на порядки больше количества листьев у дерева $b_t$.\n", |
| 555 | + "\n", |
| 556 | + "Предположим, что дерево $b_t$ как-то построено и у него $m$ листьев. Обозначим за $I_j \\subset \\{1, \\dots, l\\}$, $1 \\le j \\le m$, множество индексов всех тех объектов, которые дерево $b_t$ приводит в $j$-й лист, а за $w_j$ обозначим предсказание в $j$-м листе. Теперь можно перепараметризовать эмпирический риск так, чтобы он был выражен через величины $w_j$, которые можно подбирать независимо друг от друга:\n", |
| 557 | + "$$\\sum_{j=1}^m \\left(\\left(\\sum_{i \\in I_j} L(y_i, \\hat{y}_i^{(t-1)})\\right) + \\left(\\sum_{i \\in I_j} g_i^{(t)}\\right) w_j + \\frac{1}{2} \\left(\\sum_{i \\in I_j} h_i^{(t)}\\right) {w_j}^2 \\right).$$\n", |
| 558 | + "\n", |
| 559 | + "Перед нами снова парабола относительно каждого из $w_j$, а её вершина находится в следующей точке:\n", |
| 560 | + "$$w_j^* = -\\frac{\\sum_{i \\in I_j} g_i^{(t)}}{\\sum_{i \\in I_j} h_i^{(t)}}.$$\n", |
| 561 | + "Если подставить такие значения $w_j$, то получим, что оптимальное значение эмпирического риска с точностью до константы, не зависящей ни от каких $w_j$, равно:\n", |
| 562 | + "$$-\\frac{1}{2} \\sum_{j=1}^m \\frac{\\left(\\sum_{i \\in I_j} g_i^{(t)}\\right)^2}{\\sum_{i \\in I_j} h_i^{(t)}}.$$\n", |
| 563 | + "\n", |
| 564 | + "Знание, чему равен оптимальный эмпирический риск, позволяет найти функцию для оценки качества разбиения. Пусть $I$ — множество индексов объектов, пришедших в узел, разбиение в котором оценивается, а $I_\\mathrm{left}$ и $I_\\mathrm{right}$ — множество индексов объектов, попавших в его левый или правый узел-потомок соответственно. Качество такого разбиения равно:\n", |
| 565 | + "$$\\frac{1}{2}\\left( \\frac{\\left(\\sum_{i \\in I} g_i^{(t)}\\right)^2}{\\sum_{i \\in I} h_i^{(t)}} - \\frac{\\left(\\sum_{i \\in I_\\mathrm{left}} g_i^{(t)}\\right)^2}{\\sum_{i \\in I_\\mathrm{left}} h_i^{(t)}} - \\frac{\\left(\\sum_{i \\in I_\\mathrm{right}} g_i^{(t)}\\right)^2}{\\sum_{i \\in I_\\mathrm{right}} h_i^{(t)}} \\right).$$\n", |
| 566 | + "\n", |
| 567 | + "По такому критерию качества можно построить дерево $b_t$, не задумываясь о том, какую целевую переменную оно предсказывает и как интерпретируются его предсказания. Единственное, что про такое дерево известно, — что оно пытается воспроизвести шаг в методе Ньютона.\n", |
545 | 568 | "\n", |
546 | 569 | "#### Регуляризация\n", |
547 | 570 | "\n", |
|
0 commit comments