SlideShare a Scribd company logo
МАШИННОЕ ОБУЧЕНИЕ
  (Machine Learning)


       Н.Ю. Золотых

   2009, сентябрь–декабрь
Machine Learning. Курс лекций
Глава 1
Постановки и примеры задач
Agenda

 • Что такое машинное обучение?
 • Постановки задач

     – Обучение по прецедентам
     – Обучение без учителя

 • Примеры практических задач
 • О курсе
1.1. Что такое машинное обучение?

Machine learning — «самообучение машин».
Будем говорить, что компьютерная программа, предназаначенная для решения
какой-либо задачи, обучается, если со временем качество решения улучшается.

  • Например, программа распознавания рукописных символов, после
    предъявления ей серии таких символов с правильными ответами, начинает
    распознавать точнее.
  • Программа игры в шахматы после серии проведенных игр начинает играть
    лучше.
  • Распознавание спама после обучения на примерах происходит точнее.
1.2. Способы (типы) обучения

У людей обучение происходит в результате ознакомления с правилами, теориями,
инструкциями и т. п. и/или на основе опыта (собственного или чужого).
По аналогичному принципу можно выделить различные способы (типы) обучения
и в искусственных системах:

  • Дедуктивное, или аналитическое, обучение.
    Имеются знания, сформулированные экспертом и как-то формализованные.
    Программа выводит из этих правил конкретные факты и новые правила.
  • Индуктивное обучение.
    На основе эмпирических данных программа строит общее правило.
    Эмпирические данные могут быть получены самой программой в
    предыдущие сеансы ее работы или просто предъявлены ей.
  • Комбинированное обучение, содержащее элементы как дедуктивного, так и
    аналитического обучения.

В курсе рассматривается только индуктивное обучение.
1.3. Классификация задач индуктивного обучения

  • Обучение с учителем, или обучение по прецедентам (supervised learning).
  • Обучение без учителя (unsupervised learning).
  • Активное обучение (active learning).
  • Обучение с подкреплением (reinforcment learning).
  • ...

В курсе рассматривается обучение с учителем и обучение без учителя.
1.4. Обучение по прецедентам

Множество X — объекты (samples)
Множество Y — ответы (responds)
Неизвестная функция f ∗ : X → Y
Значения f ∗ известны только на конечном множестве объектов x1, x2, . . . , xN :

                           f ∗(xi) = yi      (i = 1, 2, . . . , N ).

Пара (xi, yi) ∈ X × Y — прецедент.
Вся имеющаяся совокупность прецедентов

                          {(x1, y1), (x2 , y2), . . . , (xN , yN )}

— обучающая выборка, или обучающая последовательность.
Задача обучения по прецедентам: по имеющейся обучающей выборке
восстановить f ∗
Что значит «восстановить» f ∗?
→ найти f : X → Y , удовлетворяющую свойствам:

  • f эффективно вычислима, т. е. должен быть указан эффективный алгоритм ее
    вычисления
  • f (xi) = f ∗(xi) или f (xi) ≈ f ∗(xi)   (i = 1, 2, . . . , N ).
  • f должна обладать обобщающей способностью: ее значения должны
    совпадать (точно или приближенно) со значениями f ∗ на объектах, не
    вошедших в обучающую выборку.
  • f (и алгоритм ее вычисляющий) может удовлетворять дополнительным
    требованиям, например, монотонности, дифференцируемости, гладкости и
    т. п.

В конкретных постановках задачи эти требования формулируются конкретнее.
Функцию f называют также алгоритмом или моделью.
Процесс нахождения f называют построением алгоритма, подгонкой (fitting)
модели и др.
Признаковые описания

Алгоритм, вычисляющий f , работает не с самими объектами из X , а с их
признаковыми описаниями.
Признак, или атрибут, объекта — некоторое отображение χ : X → Dχ.

Типы признаков

  • Если Dχ конечно, то χ — номинальный признак, или фактор.
    Можно считать, например, что, Dχ = {1, 2, . . . , s}.
    Если |Dχ| = 2 и можно считать, например, что, Dχ = {0, 1}, то признак
    бинарный.
  • Если Dχ конечно и упорядочено, то χ — порядковый признак
    Например, Dχ = {холодно, прохладно, тепло, жарко}
  • Если Dχ ∈ R, то χ — количественный признак
  • ...
Если (χ1, χ2, . . . , χp) — набор признаков, то вектор χ1(x), χ2(x), . . . , χp(x) есть
признаковое описание объекта x.
Признаковые описания объектов из обучающей выборки известны.
Мы будем отождествлять объект x с его признаковым описанием:
                    x = (x1, x2, . . . , xp) = χ1(x), χ2(x), . . . , χp(x)

Таким образом,
                               X = Dχ1 × Dχ2 × . . . × Dχp .
Аналогично для выходов y ∈ Y . Объекты из Y отождествляются с их
признаковыми описаниями:
                     y = (y1, y2, . . . , yq ) = η1(y), η2 (y), . . . , ηq (y)

Далее всюду предполагается, что q = 1, т. е. y — скаляр.
x называется входом,
y — выходом
Компоненты xj вектора x так же называют входами или предикатными
(объясняющими) переменными.
Типы задач обучения

В зависимости от множества Y выделяют разные типы задачи обучения.

  • Y конечно, например, Y = {1, 2, . . . , K}, — задача классификации (или
    задача распознавания образов):
    X разбивается на K классов

                   Xk = {x ∈ X : f (x) = k}      (k = 1, 2, . . . , K).

    По x требуется предсказать, какому классу он принадлежит.
  • Y = R — задача восстановления регрессии.
    Требуется найти функцию f из определенного класса, которая
    аппроксимирует f ∗.
  • ...
1.5. Обучение без учителя

Обучение по прецедентам — это обучение с учителем
Такое обучение можно рассматривать как игру двух лиц: ученика, который должен
восстановить функцию f , и учителя, который для объектов из обучающей
выборки указывает ученику соответствующий им выход.
Иногда можно считать, что объекты из обучающей выборки предъявляются
средой, а иногда — их выбирает сам учитель, в некоторых случаях их выбирает
ученик.
Рассматривается также обучение без учителя.
В этом случае нет учителя и нет обучающей выборки.
Ученик, имея только список объектов x1, x2, . . . , xN , должен определить значения
неизвестной функции f (x) для каждого из этих объектов.
Это достигается за счет анализа описаний объектов.
Так, например, можно предположить, что для «близких» объектов (т.е. для
объектов с «близкими» описаниями) выходы также будут близки или даже
совпадать.
В задачах обучения без учителя заранее специфицированы какие-то свойства
функции f .
Например, может быть известно, что функция f принимает конечное число
различных значений. Получаем задачу кластерного анализа: требуется разбить
объекты на группы (кластеры), так, чтобы в одном кластере оказались близкие
друг к другу объекты, а в разных кластерах объекты были существенно различные.
1.6. Примеры практических задач

Распознавание рукописных символов (цифр)
Изображения цифр от 0 до 9 закодированы известным образом. Требуется
определить, какая цифра нарисована.
Например, код (признаковое описание) — битовая матрица размера 32 × 32.
1 — пиксел черный, 0 — пиксел белый.
Изображение перед кодированием масштабируется, чтобы все изображения имели
примерно одинаковый размер.
Элементы матрицы запишем по строкам получим вектор x длины 322 = 1024 —
признаковое описание объекта.
X = {0, 1}1024.
Множество всех возможных кодов разбивается на 10 классов:

                             Y = {0, 1, 2, . . . , 9}

Получили задачу классификации: по x ∈ X требуется определить класс k ∈ Y .
Входы x1, x2, . . . , xp — бинарные признаки.
Обучение проходит на реальных прецедентах (xi, ki) (i = 1, 2, . . . , N ).
Обучающая выборка в примере ÓÔØ           Ø
 ØØÔ »»ÛÛÛº ׺٠º Ù» ÑÐ ÖÒ»ÅÄÊ ÔÓ× ØÓÖݺ ØÑÐ содержит 1934 прецедента.
Некоторые объекты из обучающей выборки
Проблема построения признакового описания.
В задаче распознавания символов можно использовать признаковое описание на
основе анализа контура изображения.
В примере Ð ØØ Ö¹Ö Ó Ò Ø ÓÒ
 ØØÔ »»ÛÛÛº ׺٠º Ù» ÑÐ ÖÒ»ÅÄÊ ÔÓ× ØÓÖݺ ØÑÐ распознавания печатных
заглавных букв (26 классов) для кодирования изображений используется другой
подход.
Входами являются (входы отмасштабированы и округлены, так, чтобы они
принимали целые значения в диапазоне от 0 до 15; база содержит 20000
прецедентов):
   1. ܹ ÓÜ — координата x левого нижнего угла обрамляющего прямоугольника,
   2. ݹ ÓÜ — координата y левого нижнего угла обрамляющего прямоугольника,
   3. Û    Ø — ширина прямоугольника,
   4.       — высота прямоугольника,
   5. ÓÒÔ Ü — общее число подсвеченных пикселей
   6. ܹ    Ö — среднее значение координаты x для подсвеченных пикселей
   7. ݹ    Ö — среднее значение координаты y для подсвеченных пикселей
   8. ܾ    Ö — стандартное отклонение для координаты x подсвеченных пикселей
   9. ݾ    Ö — стандартное отклонение для координаты y подсвеченных пикселей
  10. ÜÝ    Ö — коэффициент корреляции x и y подсвеченных пикселей
  11. Ü¾Ý Ö — среднее значение x2y
  12. Üݾ Ö — среднее значение xy 2
  13. ܹ     — среднее значение числа отрезков при просмотре слева направо
  14. Ü    ÚÝ — коэффициент корреляции между средним значением числа отрезков при просмотре слева направо и y
  15. ݹ     — среднее значение числа отрезков при просмотре снизу вверх
  16. Ý    ÚÜ — коэффициент корреляции между средним значением числа отрезков при просмотре снизу вверх и x
Медицинская диагностика
По набору определенных характеристик пациента (симптомов), таких как
температура тела, артериальное давление, содержание гемоглобина в крови и т. п.,
требуется определить, какое у больного заболевание (и болен ли он вообще).
Объектами являются пациенты, их признаковым описанием — набор
характеристик, а выходом — номер класса.
Обучение проходит на достаточном объеме прецедентов.
Таким образом, получаем задачу классификации.
Могут встречаться признаки разных типов:

   • бинарные (пол, наличие головной боли),
   • номинальные (боль может быть тупой, режущей, колющей и т. п.),
   • порядковые (состояние больного может быть удовлетворительным, средней
     тяжести, тяжелым, крайне тяжелым),
   • количественные (температура тела, пульс, давление).
Пусть, например, имеется информация о 768 пациентках (см. фрейм данных Ô Ñ
из R библиотки Ö Û Ý Julian J. Faraway).
История болезни каждой пациентки содержит данные о 8 различных
характеристиках, а также информацию о том, больна ли пациетка сахарным
диабетом или нет.
Все признаки количественные.
Имея эту информацию, требуется по набору таких характеристик научиться
определять, больна ли пациентка (не из обучающей выборки) или нет.
Имеем 768 точек в 8-мерном пространстве.
О расположении точек можно судить по 8 бокс-диаграммам
          Diabetes                  Triceps                   Pregnant

    0.0   1.0        2.0        0    40        80         0    5    10     15
0




                            0




                                                      0
1




                            1




                                                      1
            Age                      Insulin                   Glucose

    20    40    60     80       0    400        800       0   50      150
0




                            0




                                                      0
1




                            1




                                                      1




                                         BMI                   Diastolic

                                0   20    40    60        0    40    80     120
                            0




                                                      0
                            1




                                                      1
Проекции точек на двумерную координатную плоскость переменных Ñ
(масса/рост2), ÐÙ Ó× (содержание глюкозы).
glucose

           50   100             150   200
      20
      30
      40
bmi

      50
      60
В задачах медицинской диагностики может ставиться другая цель:
определить оптимальный курс лечения (это может быть как задача
классификации, так и задача восстановления регрессии),
спрогнозировать время протекания болезни (задача восстановления регрессии) и
т. п.
Прогнозирование цены
Предположим, что имеются данные о жилых загородных домах в некоторой
местности.
Для каждого дома известна его цена, состояние, жилая площадь, количество
этажей, количество комнат, время постройки, удаленность до основных
магистралей, наличие инфраструктуры, экологическая обстановка в районе и т. п.
Требуется научиться предсказывать цену по остальной информации.
Объектами являются дома, входами — их характеристики, а выходом — цена дома.
Получаем задачу восстановления регрессии.
Boston Housing Data из коллекции StatLib (Carnegie Mellon University)
Информация агрегирована: територия поделена на участки и дома, стоящие на
одном участке, собраны в группы. Таким образом, объектами являются сами эти
группы. Их общее количество — 506.
Признаки
  1.    ÊÁÅ — уровень преступности на душу населения,
  2.    Æ — процент земли, застроенной жилыми домами (только для участков площадью свыше
       25000 кв. футов),
  3. ÁÆ ÍË — процент деловой застройки,
  4.    À Ë — 1, если участок граничит с рекой; 0 в противном случае (бинарный признак),
  5. ÆÇ — концентрация оксида азота, деленная на 107,
  6. ÊÅ — среднее число комнат (по всем домам рассматриваемого участка),
  7.       — процент домов, построенных до 1940 г. и занимаемых владельцами,
  8.    ÁË — взвешенное расстояние до 5 деловых центров Бостона,
  9. Ê     — индекс удаленности до радиальных магистралей,
 10. Ì     — величина налога в $10000,
 11. ÈÌÊ ÌÁÇ — количество учащихся, приходящихся на одного учителя (по городу),
 12.     = 1000(   − 0.63)2, где   — доля афро-американцев,
 13. ÄËÌ Ì — процент жителей с низким социальным статусом.
Признак À Ë — бинарный, остальные — количественные. Выходом является переменная Å Î,
равная медианному значению цены строения (по всем домам участка) в $1000. Ее нужно научиться
предсказывать.
Диаграммы рассеяния для каждой пары переменных Å Î, ÁÆ ÍË, ÆÇ , ÊÅ,   ,
ÈÌÊ ÌÁÇ, . Значение переменной Å Î нужно научиться предсказывать по
значениям остальных переменных. Изображены только по 100 слечайных точек.
                                0    15                  4   6    8             14   20           5   20




                                                                                                           40
                       MEDV




                                                                                                           10
                 15
                                    INDUS
                 0




                                                                                                           0.7
                                                  NOX




                                                                                                           0.4
                 8
                 6




                                                             RM
                 4




                                                                                                           80
                                                                       AGE




                                                                                                           20
                 20




                                                                                PTRATIO
                 14




                                                                                                           0 200
                                                                                             B
                 20




                                                                                                  LSTAT
                 5




                      10   40               0.4    0.7                20   80             0 200
Анализ данных, полученных с биочипов
Биочип, или микроэррэй, (biochip, microarray) — это миниатюрный прибор,
измеряющий уровень экспрессии генов в имеющемся материале.
Экспрессия — это процесс перезаписи информации с гена на РНК, а затем на
белок.
Количество и даже свойства получаемого белка зависят не только от гена, но
также и от различных внешних факторов (например, от введенного лекарства).
Таким образом, уровень экспрессии — это мера количества генерируемого белка.
На биочип кроме исследуемого материала помещается также «контрольный»
генетический материал.
Положительные значения (красный цвет) — увеличение уровня экспрессии по
сравнению с контрольным.
Отрицательные значения (зеленый цвет) — уменьшение.
Условное изображение биочипа. Каждая точка на рисунке соответствует
определенному гену. Всего анализируется 132 × 72 = 9504 гена. Brown, V.M.,
Ossadtchi, A., Khan, A.H., Yee, S., Lacan, G., Melega, W.P., Cherry, S.R., Leahy, R.M.,
and Smith, D.J.; Multiplex three dimensional brain gene expression mapping in a
mouse model of Parkinson’s disease; Genome Research 12(6): 868-884 (2002).
Machine Learning. Курс лекций
Пусть было проведено несколько экспериментов, в которых на биочип вместе с
контрольным материалом размещались разные другие генетические материалы,
например, полученные после введения разных лекарств.
Информацию, полученную в результате проведения такой серии экспериментов
можно представить в виде числовой матрицы, в которой строки соответсвуют
разным генам, а столбцы — разным экспериментам (разным клеткам).
Поставим следующие задачи:

 (а) Найти гены, показавшие высокую экспрессию, в заданных экспериментах.
 (б) Разбить гены на группы в зависимости от влияния на них экспериментов.
     Гены, реагирующие «почти одинаковым» образом в «большом» числе
     эспериментов, должны попасть в одну группу. Гены, реагирующие
     по-разному, должны находиться в разных группах.
 (в) Разбить эксперименты на группы в зависимости от их влияния на гены.
     Эксперименты, в которых одинаковые гены реагировали «сходным» образом
     должны оказаться в одной группе. Эксперименты, в которых гены
     реагировали «различно», должны находиться в разных группах.

Задачи (б) и (в) — это задачи кластерного анализа.
Данные для 60 экспериментов с биочипом. «Genomics Bioinformatics Group»
 ØØÔ »» × ÓÚ ÖºÒ ºÒ º ÓÚ» Ø × Ø×Æ ØÙÖ ¾¼¼¼º ×Ô Строки соответсвуют
генам, столбцы — экспериментам. Приведены только первые 100 строк (из общего
числа 1375). Строки, содержащие отсутствующие значения, исключены.
ME.LOXIMVI
      ME.MALME.3M
       ME.SK.MEL.2
       ME.SK.MEL.5
      ME.SK.MEL.28
          LC.NCI.H23
              ME.M14
        ME.UACC.62
        LC.NCI.H522
      LC.A549.ATCC
            LC.EKVX
      LC.NCI.H322M
        LC.NCI.H460
          LC.HOP.62
          LC.HOP.92
        CNS.SNB.19
        CNS.SNB.75
           CNS.U251
         CNS.SF.268
         CNS.SF.295
         CNS.SF.539
            CO.HT29
       CO.HCC.2998
         CO.HCT.116
          CO.SW.620
          CO.HCT.15
            CO.KM12
        OV.OVCAR.3
        OV.OVCAR.4
        OV.OVCAR.8
         OV.IGROV1
         OV.SK.OV.3
      LE.CCRF.CEM
             LE.K.562
          LE.MOLT.4
               LE.SR
            RE.UO.31
           RE.SN12C
             RE.A498
           RE.CAKI.1
         RE.RXF.393
             RE.786.0
            RE.ACHN
            RE.TK.10
       ME.UACC.257
        LC.NCI.H226
       CO.COLO205
        OV.OVCAR.5
             LE.HL.60
       LE.RPMI.8226
            BR.MCF7
        UN.ADR.RES
              PR.PC.3
           PR.DU.145
BR.MDA.MB.231.ATCC
          BR.HS578T
     BR.MDA.MB.435
           BR.MDA.N
           BR.BT.549
            BR.T.47D
                        248589
                        248257
                        245939
                        245868
                        245450
                        244736
                        242678
                        241935
                        241037
                        240566
                        239001
                        233795
                        232896
                        222341
                        221263
                        220376
                        211995
                        211515
                        211086
                        209731
                        208950
                        203527
                        200696
                        197549
                        189963
                        175269
                        166966
                        162077
                        159512
                        158337
                        158260
                        152241
                        146311
                        145965
                        145292
                        144758
                        143985
                        136798
                        135118
                        130532
                        130531
                        130482
                        130476
                        128329
                        126471
                        125308
                        124918
                        122347
                        116819
                        114116
                        112383
                        108840
                        108837
                        86102
                        79617
                        79319
                        76539
                        74275
                        74070
                        73185
                        72214
                        72199
                        68068
                        67939
                        61539
                        52519
                        52218
                        52128
                        51904
                        51104
                        50914
                        50250
                        50243
                        49729
                        46818
                        46694
                        46173
                        45720
                        44449
                        43555
                        41232
                        38915
                        37627
                        37330
                        37153
                        37060
                        37054
                        36380
                        35271
                        31905
                        31861
                        29194
                        26811
                        26677
                        26599
                        25831
                        25718
                        23933
                        22264
                        21822
Лингвистика
Список Сводеша (Swadesh) — список из 207 слов языка, заимствовование которых
из других языков (на поздних этапах) мало вероятно (местоимения, числительные
1–5, глаголы, обозначающие простые действия и т. п.)
№    Русский     Английский Немецкий Итальянский Французский Чешский
1    я           I             ich         io            je             j´
                                                                         a
2    ты          you           du          tu            tu             ty
3    он          he            er          lui           il             on
4    мы          we            wir         noi           nous           my
5    вы          you           ihr         voi           vous           vy
6    они         they          sie         loro          ils            oni
7    этот        this          dieses      questo        ceci           tento
8    тот         that          jenes       quello        cela           tamten
9    здесь       here          hier        qui           ici            zde
10   там         there         dort        l´
                                            a            l´
                                                          a             tam
11   кто         who           wer         chi           qui            kdo
12   что         what          was         che           quoi           co
13   где         where         wo          dove          o`
                                                          u             kde
14   когда       when          wann        quando        quand          kdy
15   как         how           wie         come          comment        jak
16   не          not           nicht       non           ne. . . pas    ne
.................................................................................
205 если         if            wenn        se            si             jestlize
206 потому что because         weil        perch´
                                                e        parce que      protoze
207 имя          name          Name        nome          nom            jm´ no
                                                                          e
На основе анализа списков Сводеша для разных языков можно установить степень
их родства и выделить группы родственных языков — это задача кластерного
анализа.
Более того, на основе анализа списка Сводеша для двух родственных языков
можно приблизительно установить время их появляения из единого пра-языка.
Матрица сходства между некоторыми языками, построенная на основе списков
Сводеша.
English
                German
                Dutch
                Swedish
                Danish
                Italian
                French
                Spanish
                Portuguese
                Latin
                Esperanto
                Slovene
                Czech
                Polish
                Slovio
                Lithuanian
                Latvian
                Hungarian
                Finnish
                Estonian
                Euskara
                Quenya
                Sindarin
     English
    German
      Dutch
   Swedish
     Danish
      Italian
     French
    Spanish
Portuguese
        Latin
 Esperanto
    Slovene
      Czech
      Polish
      Slovio
 Lithuanian
     Latvian
 Hungarian
     Finnish
   Estonian
    Euskara
    Quenya
    Sindarin
списков Сводеша.
                                                Дерево иерархической кластеризации для 23 языков, построенное на основе
                    English
          German
           Dutch
Swedish
 Danish
         Italian
        French
   Spanish
Portuguese
                Latin
               Esperanto
   Slovene
     Slovio
       Czech
             Polish
          Lithuanian
              Latvian
                              Hungarian
     Finnish
    Estonian
                   Quenya
                   Sindarin
                                      Euskara
Программа курса

 • Различные алгоритмы и подходы к решению задач машинного обучения:

     – Линейная регрессия
     – Метод ближайших соседей
     – Метод опорных векторов
     – Нейронные сети
     – Деревья решений
     – Бустинг
     – Графические вероятностные модели
     – Обучение без учителя, кластеризация

 • Элементы теории (Вапника–Червоненкиса) о предсказательной способности
   алгоритмов обучения
Лабораторные работы

Лабораторные работы — в среде для статистических вычислений R
ÛÛÛºÖ¹ÔÖÓ ØºÓÖ
Предварительный список тем:

  • Знакомство с R
  • Проверка вероятностных гипотез
  • Регрессия
  • Метод опорных векторов
  • Метод деревьев решений
  • Алгоритмы кластеризации
  • Оценка и анализ ошибки предсказания. Бутстрэп, метод перекрестного
    контроля
  • Бустинг

Будут конкурсные задания!
Литература

[1] Hastie T., Tibshirani R., Friedman J. The elements of statistical learning. Springer,
    2001.
[2] Ripley B.D. Pattern recognition and neural networks. Cambridge University Press,
    1996.
[3] Bishop C.M. Pattern recognition and machine learning. Springer, 2006.
[4] Duda R. O., Hart P. E., Stork D. G. Pattern classification. New York: JohnWiley
    and Sons, 2001.
[5] Mitchell T. Machine learning. McGraw Hill,1997.
[6] Воронцов К.В. Математические методы обучения по прецедентам. Курс
    лекций. Москва, ВЦ РАН, 2005. ØØÔ »»ÛÛÛº ׺ÖÙ»ÚÓÖÓÒ»Ø         Ò º ØÑÐ
[7] Загоруйко Н.Г. Прикладные методы анализа данных и знаний. Новосибирск:
    Изд-во Ин-та математики, 1999.
[8] Николенко С. Машинное обучение. Курс лекций. СПб.: ПОМИ РАН, 2006.
     ØØÔ »»ÐÓ ºÔ Ñ ºÖ ׺ÖÙ» × Ö Ý»
[9] Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: основы
     моделирования и первичная обработка данных. М.: Финансы и статистика,
     1983.
[10] Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика:
     исследование зависимостей. М.: Финансы и статистика, 1985.
[11] Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешалкин Л.Д. Прикладная
     статистика: классификация и снижение размерности. М.: Финансы и
     статистика, 1989.
[12] Вапник В.Н., Червоненкис А.Я. Теория распознавания образов. М.: Наука,
     1974.
[13] Вапник В.Н. Восстановление зависимостей по эмпирическим данным. М.:
     Наука, 1979.
[14] Vapnik V.N. The nature of statistical learning theory. New York: Springer, 1995.
[15] Vapnik V.N. Statistical learning theory. New York: John Wiley, 1998.

wiki-портал: ØØÔ »»ÛÛÛºÑ         Ò Ð ÖÒ Ò ºÖÙ
Сайт курса: ØØÔ »»ÛÛÛºÙ ºÒÒÓÚºÖÙ» ÞÒÝ»ÑÐ
(конспекты лекций, лабораторные работы, описание системы R, ссылки)
Курс разработан при поддержке Intel.
Кураторы от Интел: Виктор Ерухимов и Игорь Чикалов.
ЛЕКЦИЯ 2

План

  • Вероятностная постановка задачи
  • Восстановление функции распределения
  • Принцип минимизации эмпирического риска
  • Регрессионная функция
  • Байесов классификатор
  • Метод стохастической минимизации
1.7. Вероятностная постановка задачи

Будем рассматривать пары (x, y) как реализации (p + 1)-мерной случайной
величины (X, Y ), заданной на вероятностном пространстве

                                 X × Y , F, Pr .

X ∈ Rp, Y ∈ R.
Интегральный закон распределения P (x, y) = P (x |y)P (y) не известен, однако
известна выборка
                       {(x1 , y1), (x2, y2), . . . , (xN , yN )} ,
где (xi, yi) являются реализациями случайной величины (X, Y ).
Требуется найти функцию f : X → Y , которая по x предсказывает y.
Пусть дана функция потерь (штраф) L(y |y) = L(f (x)| y).
x — некоторый вход, y — соответствующий выход
y = f (x) — предсказанное значение
Квадратичная функция потерь (часто в задаче восстановления регрессии):
                              L(y |y) = (y − y)2 .

В задаче классификации часто используется функция

                                     0, если f (x) = y,
                         L(y |y) =
                                     1, если f (x) = y.

В общем случае в задаче классификации на K классов функция потерь полностью
описывается K × K матрицей L = ( ky ), где ky = L(k |y).
Пусть, например, в задаче медицинской диагностики Y = {0, 1}, где
y = 0 — пациент здоров, y = 1 — пациент болен.
L(1|1) = L(0|0) = 0
L(1|0) = 1 — болезнь определена у здорового пациента
L(0|1) = 10 — болезнь не определена у больного пациента
Анлогично: автомаическое определение почтового спама
Мат. ожидание функции потерь

                  R(f ) = E L f (x)| y =         L f (x)| y dP (x, y)
                                           X×Y

называется cредним риском, средней ошибкой или ожидаемой ошибкой
предсказания.
Разумный подход: в качестве f взять функцию из заданного класса F ,
минимизирующую средний риск R(f ).
НО: закон P (x, y) не известен и поэтому мы не можем точно вычислить R(f ).
Два подхода:

  1) Восстановить P (x, y) по обучающей выборке, а затем минимизировать R(F )
  2) «Прямой подход»
1.8. Методы минимизации среднего риска

1.8.1. Восстановление функции распределения вероятности

Будем минимизировать средний риск

                           R(f ) =         L f (x)| y dP (x, y)               (∗)
                                     X×Y


  1) по имеющейся выборке (x1, y1 ), . . . , (xN , yN ) решается задача
     восстановления функции распределения P (x, y).
  2) восстановленная функция P (x, y) подставляется в (*) вместо P (x, y) и
     решается задача минимизации.

В качестве P (x, y) можно взять выборочную функцию распределения.
Согласно теореме Гливенко с ростом N эмпирическая функция распределения
равномерно приближается к истинной.
Замечание 1.1 Известно, что задача восстановления функции распределения
является некорректно поставленной, поэтому гарантировать успех в описанном
подходе можно, только если об этой функции известно достаточно много и
выборка большая.
Более того, задача восстановления функции распределения является центральной
задачей в математической статистике и нецелесообразно сводить
рассматриваемую частную задачу (минимизации среднего риска) к более общей.
1.8.2. Принцип минимизации эмпирического риска

«Прямой» подход
Элементы обучающей выборки {(x1, y1), . . . , (xN , yN )} распределены случайно и
независимо, каждый согласно закону распределения P (X, Y ), поэтому
                                                             1   N
            R(f ) ≈ R(f ) = R(f, x1, y1, . . . , xN , yN ) =
                                                             N
                                                                 ∑L    f (xi)|yi ,
                                                                 i=1


R(f ) — эмпирический риск.
Так как xi, yi выбираются случайно, то R(f ) — случайная величина (статистика).
Нетрудно видеть, что
                                                                   σ2
                  E R(f ) = E L f (X)|Y = R(f ),          D R(f ) = ,
                                                                   N

где σ 2 — дисперсия случайной величины L(f (X)| Y ). Заметим, что σ 2 зависит от f .
Насколько эмпирический риск может отклоняться от среднего риска?
Утверждение 1.2 Для любого δ с вероятностью больше 1 − δ
                                σ                     σ
                       R(f ) − √   ≤ R(f ) ≤ R(f ) + √ .
                                Nδ                    Nδ
Д ОКАЗАТЕЛЬСТВО . Согласно неравенству Чебышева

                                                  D R(f )
                       Pr |R(f ) − E R(f )| > ε ≤     2
                                                          .
                                                    ε
Обозначим правую часть этого неравенства через δ.
Учтем, что
                                                             σ2
                 E R(f ) = E L f (X)|Y = R(f ),     D R(f ) = .
                                                             N
Получаем требуемое.
Следствие 1.3 Для любой f ∈ F
                         lim Pr |R(f ) − R(f )| > ε = 0,
                         N →∞

т. е. R(f ) сходится по вероятности к R(f ).
С помощью схемы Бернулли можно получить более сильные оценки, но пока
этого достаточно.
Принцип (или метод) минимизации эмпирического риска:
в заданном классе F необходимо найти функцию f , доставляющую минимум
эмпирическому риску R(f ), и предложить f в качестве решающего правила f .
Таким образом, задачу минимизации среднего риска R(f ) мы заменили задачей
минимизации эмпирического риска R(f ).
Важно, чтобы при этом функция, минимизирующая R(f ), доставляла среднему
риску R(f ) значение, близкое к минимальному.
Для этого не достаточно обычной сходимости по вероятности из следствия 1.3, а
нужна равномерная сходимость:

                      lim Pr   sup |R(f ) − R(f )| > ε   = 0.
                     N →∞      f ∈F


Теория Вапника–Червоненкиса дает для этого необходимые и достаточные
условия
Всегда ли метод миимизации эмпирического риска приводит к успеху?
Не всегда.
Рассмотрим задачу классификации.
                                  1
Y = {0, 1}, p(Y = 0) = p(Y = 1) = 2 .
Пусть решающее правило f на элементах обучающей выборки дает верное
значение выхода, а для всех остальных — случайный ответ.
                         1
Имеем R(f ) = 0, R(f ) = 2
и понятно, что метод не обладает никакой обобщающей способностью (Вапник,
Червоненкис).
Как это согласуется с утверждением 1.2?
Пусть F = {f : f (x, α), α ∈ [0, 1]} — класс решающих правил
R(α) — средний риск, R(α) — эмпирический риск на функции f (x, α)




 R(α)                                                               R(α)




    ∗
                                                 R(α)
 R(α )



                                                                     α
                       α∗                    α
R(α) далеко от минимального значения R(α∗ ).

                        lim Pr |R(f ) − R(f )| > ε = 0.
                        N →∞
Равномерная сходимость




                                                               R(α)
                                                               R(α)


R(α)
R(α∗ )



                                                                α
                 α       α∗


                     lim Pr   sup |R(f ) − R(f )| > ε   = 0.
                     N →∞     f ∈F
Замечание 1.4 Некоторые хорошо известные методы машинного обучения
являются частными случаями метода минимизации эмпирического риска.
Например, в случае квадратичной функции потерь эмпирический риск равен
                                  1   N
                                      ∑
                                                         2
                          R(f ) =           yi − f (xi) .
                                  N   i=1

В этом случае метод минимизации эмпирического риска называется методом
наименьших квадратов.
В задаче восстановления плотности вероятности для логарифмической функции
потерь эмпирический риск равен
                                     1      N
                            R(p) = −
                                     N
                                            ∑ ln p(xi)
                                            i=1

В этом случае метод минимизации эмпирического риска называется методом
максимального правдоподобия (Фишер).
1.8.3. Регрессионная функция


        R(f ) =         L f (x)| y dP (x, y) =         L f (x)| y dP (y | x) dP (x),
                  X×Y                            X Y

т. е.
                           R(f ) =       E L f (x)| Y |x dP (x)
                                     X
Рассмотрим задачу восстановления регрессии с квадратичной функцией потерь:
                                   2                                     2
         R(f ) =         y − f (x) dP (y |x) dP (x) =       E   Y − f (x) |x dP (x).
                   X Y                                  X

Очевидно, минимизировать R(f ) можно поточечно:
                               f ∗(x) = argmin E (Y − c)2 | x ,                        (1)
                                          c

откуда
                                       f ∗(x) = E (Y |x).                              (2)
Это так называемая регрессионная функция.
Итак, в случае квадратичной функции потерь наилучшим предсказанием y в
ответ на вход x является условное среднее.

Упражнение 1.5 Доказать, что из (1) следует (2), при этом R(f ∗ ) = E D (Y | X).

Упражнение 1.6 Доказать, что если в качестве функции потерь выбрана
L(y | y) = |y − y|, то минимум среднему риску доставляет условная медиана
f (x) = median(Y |x).
Возникает задача аппроксимации условного среднего E (Y |x) по имеющимся
эмпирическим данным.

  1) Заменим f ∗ (x) выборочным средним
                             1
                   f (x) =         ∑ yi,
                           |I(x)| i∈I(x)
                                             где   I(x) = {i : xi = x} ,


    Как правило, такое решение к успеху не приводит, так как обычно x
    встречается в обучающей выборке не более одного раза.
  2) В методе k ближайших соседей вместо выборочного среднего берут
                                            1
                                  f (x) =        ∑ yi,
                                            k xi∈Nk (x)

    где через Nk (x) обозначено множество из k точек обучающей выборки,
    ближайших (по евклидову расстоянию) к x.
    Частным случаем является метод (одного) ближайшего соседа, в котором
    f (x) = yi, где xi — ближайшая к x точка из обучающей выборки.
Метод k ближайших соседей для задачи восстановления регрессии




               1.0 1.5 2.0 2.5 3.0 3.5 4.0




                                                                       1.0 1.5 2.0 2.5 3.0 3.5 4.0
                                             0.2   0.4     0.6   0.8                                 0.2   0.4     0.6   0.8

                                                         k=1                                                     k=2
               1.0 1.5 2.0 2.5 3.0 3.5 4.0




                                                                       1.0 1.5 2.0 2.5 3.0 3.5 4.0




                                             0.2   0.4     0.6   0.8                                 0.2   0.4     0.6   0.8

                                                         k=5                                                 k = 14
Итак, метод ближайших соседей похож на метод восстановления функции
распределения вероятности, только теперь аппроксимируется не плотность
вероятности, а условное среднее.
1.8.4. Байесов классификатор

Рассмотрим задачу классификации. Y = {1, 2, . . . , K}.
Минимизируем средний риск
                                       K
                     R(f ) =           ∑L     f (x)| y · Pr (y | x) dP (x).   (∗∗)
                                       y=1
                               X

Пусть функция потерь определяется формулой
                                                   0, если y = y,
                                L(y |y) =
                                                   1, если y = y.

Тогда подинтегральная функция в (**) есть вероятность ошибки (при заданном x)
и поэтому
                       R(f ) =          1 − Pr Y = f (x)| x     dP (x),
                                   X

откуда находим f ∗ (x) = argmin R(f ):
                               f ∗(x) = argmin 1 − Pr (y | x) ,
                                             y∈Y
или, что эквивалентно,
                             f ∗ (x) = argmax Pr (y |x).                     (+)
                                           y∈Y

Функция f ∗ (x), найденная по этим формулам, называется байесовым
классификатором или байесовым решающим правилом.
Средний риск байесова классификатора называется байесовой ошибкой.
Байесов классификатор играет в задаче классификации роль, схожую с той,
которую играет регрессионная функция в задаче восстановления регрессии.
Pr (y | x) называется апостериорной вероятностью появления объекта из класса y,
и правило (+) называется принципом максимума апостериорной вероятности.
Если классы равновероятны, т. е. Pr (y) = 1/K, то
                                        p(x |y) Pr (y) p(x |y)
                         Pr (y | x) =                 =
                                             p(x)       Kp(x)
                               f (x) = argmax p(x |y).                      (++)
                                            y

Плотность p(x |y) часто называется правдоподобием (likelihood), поэтому правило
(++) называется методом максимального правдоподобия (maximum-likelihood
method).
Таким образом, байесов классификатор — это оптимальный классификатор.
Предполагается, что условные вероятности Pr (y | x) известны.
Как это можно использовать на практике?
Будем аппроксимировать Pr (y | x)

  1) Метод ближайших соседей (для задачи классификации)
  2) Восстановление условной плотности вероятности
Метод ближайших соседей для задачи классификации

Будем, как и в задаче восстановления регрессии, для аппроксимации Pr (y |x)
использовать k ближайших (по евклидову расстоянию) объектов из обучающей
выборки. Получаем метод k ближайших соседей для задачи классификации.
Пусть Nk (x) — множество из k ближайших к x (по евклидову расстоянию) точек
из обучающей выборки,
Ik (x, y) — множество тех точек xi из Nk (x), для которых yi = y.
Согласно методу k ближайших соседей в качестве f (x) берем результат
голосования по всем точка из Ik (x, y):

                           f (x) = argmax |Ik (x, y)|,
                                      y

Частным случаем является метод (одного) ближайшего соседа, в котором
f (x) = yi, где xi — ближайший к x объект из обучающей выборки.
В этом случае Ωy представляют собой области Вороного
Диаграмма Вороного для набора из 50 точек. Штриховыми линиями отмечены
неограниченные участки границы
Восстановление функции распределения

Другой способ аппроксимировать Pr (y | x) — воспользоваться формулой Байеса.
Если X — непрерывная случайная величина и p(x) = 0, то
                                p(x |y) · Pr (y)         p(x |y) Pr (y)
                   Pr (y | x) =                  =   K
                                                                          .
                                     p(x)
                                                     ∑ p(x |k) · Pr (k)
                                                     k=1

Таким образом, задача сведена к задаче восстановлению по обучающей выборке
условной плотности вероятности p(x |y) и вероятности Pr (y).
1.8.5. Метод стохастической минимизации

[Robins, Monroe, 1951, Айзерман, Браверман, Розоноэр, 1965, Amari, 1967,
Цыпкин, 1971, 1973].
Пусть класс F решающих функций параметризован вектором α:
                           F = {f (x) = f (x, α) : α ∈ Rq } .

Требуется найти α∗, минимизирующее функционал

                         R(α) =         L f (x, α)| y dP (x, y).
                                  X×Y

Метод основан на итерациях
          α(k+1) = α(k) − γk · ∇αL f (x(k), α(k))|y (k)     (k = 1, 2, . . . , N ).

При некоторых необременительных ограничениях на γk и ∇α L f (x, α)| y процесс
сходится к α∗, минимизирующему R(α).
Для гарантированной корректной работы выборка должна быть очень большой.
Далее этот метод в курсе не рассматривается.
ЛЕКЦИИ 3, 4
Глава 2
Задача восстановления регрессии
Agenda

 • Регрессионная функция
     – Метод наименьших квадратов
     – Метод максимального правдоподобия
 • Линейная регрессия
 • Оценка коэффициентов по выборке
 • Переобучение
 • Сокращение числа параметров и «усадка» коэффициентов
     – Выбор подмножества параметров
     – Гребневая регрессия
     – Лассо
     – Метод главных компонент
     – Частичные наименьшие квадраты
Регрессия

Фрэнсис Гальтона (1822–1911)
«Регрессия к середине в наследовании роста» (1885 г.)
Зависимость роста взрослого ребенка от роста родителей в исследовании
Ф. Гальтона
74
                             72
                             70
              Child height

                             68
                             66
                             64




                                                               data
                                                               x=y
                             62




                                                               regression
                                                               means


                                  64   66      68        70   72      74

                                            Parents height


928 наблюдений ch = 0.65par + 24 = 68.2 + 0.65 × (par − 68.2)
5
Residuals

            0
            −5




                 64   66      68        70   72   74

                           Parents height
x = средняя оценка по мат. анализу и алгебре в 1-м семестре
y = средняя оценка по мат. анализу, алгебре и программированию во 2-м семестре




                                5.0
                                4.5
                 2nd semester

                                4.0
                                3.5
                                3.0
                                2.5




                                      3.0   3.5   4.0     4.5    5.0   5.5

                                                  1st semester


79 студентов
5.0
                                4.5
                 2nd semester

                                4.0
                                3.5
                                3.0

                                                                       data
                                                                       x=y
                                2.5




                                                                       regression
                                                                       means


                                      3.0   3.5   4.0     4.5    5.0      5.5

                                                  1st semester



sem2 = 0.93 + 0.77 × sem1 ≈ 3.86 + 0.77 × (sem1 − 3.82)
3.82 — средняя оценка по всем студентам в 1-м семестре
3.86 — средняя оценка по всем студентам во 2-м семестре
Зависимость между массой тела и массой мозга животного




                              5e+03
                                                                                                      African elephant
                                                                                  Asian elephant



                                                                                Human
                                                                                     Giraffe




                              5e+02
                                                                                Donkey     Horse
                                                               Chimpanzee                    Cow
                                                                                 Gorilla
                                                Rhesus monkey        Sheep             Pig
                                                                                  Jaguar           Brachiosaurus
                                                     Potar monkey            Grey wolf
                                                                      Goat




                              5e+01
                                                                                                        Triceratops

                      brain
                                                                             Kangaroo                    Dipliodocus

                                                               Cat

                                                             Rabbit
                                                          Mountain beaver
                              5e+00

                                                         Guinea pig

                                              Mole
                                                  Rat

                                              Golden hamster
                              5e−01




                                      Mouse



                                       1e−01                   1e+01                       1e+03              1e+05

                                                                       body



lg brain = β0 + β1 lg body
β0 = 0.94, β1 = 0.75
brain = 8.6 × (body)3/4
Обучающая выборка
                         (x1, y1), (x2, y2), . . . , (xN , yN )


                    xi ∈ X ,      yi ∈ Y          (i = 1, 2, . . . , N )


                        f ∗ (xi) = yi      (i = 1, 2, . . . , N )
Нужно «восстановить» f ∗
В задаче восстановления регрессии

                                        Y =R
Часто используется модель с аддитивной случайной ошибкой:

                                   y = f ∗(x) + ε,

где ε — случайная величина (ошибка), не зависящая от x, и E ε = 0.
f (x) = E (Y |X = x) и зависимость условного распределения P (y | x) от X
проявляется только через условное среднее f (x).
Предположим, что f ∗ (x) принадлежит некоторому классу.
Например, является линейной функцией:
                                             p
                              f (x) = β0 + ∑ xj βj                     (1)
                                            j=1

или функцией вида (более общий случай)
                                       q
                               f (x) = ∑ βj hj (x),                    (2)
                                      j=1

где βj — неизвестные параметры, а hj (x) — заданные функции.
(1) и (2) — линейная задача наименьших квадратов
Но βj могут входить нелинейным образом (нелинейная задача наименьших
квадратов)
Например,
                                y = β1eλ1 x + β2eλ2x.
Метод наименьших квадратов — один из методов нахождения неизвестных
параметров β
Ищем набор параметров β, доставляющих минимум сумме квадратов невязок,
или остаточной сумме квадратов (residual sum of squares)
                                 N               2
                        RSS(β) = ∑ yi − f (xi, β) .
                                 i=1

Метод наименьших квадратов — не единственный способ подбора неизвестных
коэффициентов регрессионной функции.
Принцип макcимального правдоподобия — более общий метод
Y — с. в. с плотностью вероятности p(y, θ), где θ — вектор параметров.
N копий непрерывной случайной величины Y : Y1, Y2, . . . , YN
(N независимых одинаково распределенных с.в.)
N реализаций этих величин: y1, y2, . . . , yN
Плотность вероятности с.в. (Y1 , Y2, . . . , YN ):

             L(θ) = p(y1, y2, . . . , yN , θ) = p(y1, θ) · p(y2, θ) · . . . · p(yN , θ)

L(θ) — функция правдоподобия
Логарифмическая функция правдоподобия:
                                                    N
                                 (θ) = ln L(θ) = ∑ ln p(yi, θ).
                                                    i=1

(Если Y — дискретная случайная величина, то вместо p(yi, θ) нужно рассмотреть
вероятность Pr {Y = yi})
Принцип максимального правдоподобия предполагает, что наиболее разумные
значения неизвестных параметров θ доставляют максимум функции L(θ) (и (θ)).
Рассмотрим модель
                                  y = f ∗(x, β) + ε,
где

      ε имеет нормальное распределение N (0, σ 2)
 ⇔ условная вероятность p(y |x) имеет нормальное распределение:
                                                                     2
                                                    1 y − f (y, β)
                                                   − ·
                                           1        2      σ2
                         p(y | x, β) = √         ·e
                                           2πσ
Тогда
                N
                                    N                 1 N
          (β) = ∑ ln p(yi |x, β) = − ln 2π − N ln σ − 2 ∑ yi − f (xi, β)
                                                                           2

                i=1                 2                2σ i=1

В ней только последний член содержит вектор параметров β
С точностью до множителя этот член равен RSS(β)
Итак, при сделанных предположениях метод наименьших квадратов эквивалентен
принципу максимального правдоподобия
2.1. Линейная регрессия

Линейная регрессионная модель:
                                                  p
                                f (x) = β0 + ∑ xj βj
                                               j=1

Случайные величины Xj могут представлять собой:

   • независимые переменные;
   • функции от независимых переменных (степенные, логарифмические и др.);
   • закодированные качественные переменные;
   • функции от нескольких независимых переменных, например, X3 = X1 · X2.

В методе наименьших квадратов в качестве β = (β0, β1, . . . , βp) выбираются
параметры, доставляющие минимум остаточной сумме квадратов
                                                                     2
                         N                    N             p
               RSS(β) = ∑ yi − f (xi)       = ∑ yi − β0 − ∑ xij βj
                                        2
                                                                         .
                        i=1                  i=1           j=1
С точки зрения теории математической статистики этот метод разумен, если
элементы обучающей выборки выбираются случайно и независимо из
генеральной совокупности.
Метод остается в силе, даже если xi выбираются не случайным образом, но yi
условно независимы при заданных xi.
y




         y = β0 + β1 x1 + β2 x2




                 x2
    x1
1.0
    0.5
y

    0.0




          0.0   0.2   0.4       0.6   0.8   1.0

                            x
1.0
    0.5
y

    0.0




          0.0   0.2   0.4       0.6   0.8   1.0

                            x
1.0
    0.8
    0.6
y

    0.4
    0.2
    0.0




          −0.2   0.0   0.2   0.4       0.6   0.8   1.0   1.2

                                   x
data
                y~x




    1.0
                x~y
                prin. comp.


    0.5
y

    0.0




          0.0      0.2        0.4       0.6   0.8   1.0

                                    x
Как найти минимум функции RSS(β)?
Пусть                                                           
                      1 x11 x12 . . . x1p                     y1
                                                                
                    1 x x ... x                            y2   
                        21   22         2p                      
                X=                          ,       y=      .   
                    ..................                      .   
                                                                
                      1 xN 1 xN 2 . . . xN p                  yN

Тогда
                                        2
                    RSS(β) = y − Xβ         = (y − Xβ) (y − Xβ).
Можно рассмотреть систему уравнений (относительно β)
                                      Xβ = y

β называется псевдорешением этой системы (оно минимизирует норму невязки).
RSS(β) — квадратичная функция от p + 1 неизвестных (параметров) β0, β1, . . . , βp.
Дифференцируя, находим:
                  ∂ RSS                           ∂ 2RSS
                        = −2X (y − Xβ),                  = 2X X.
                    ∂β                            ∂β ∂β
Обозначим x0, x1, . . . , xp столбцы матрицы X.
Если x0, x1, . . . , xp линейно независимы, то матрица X X невырождена и
положительно определена, поэтому минимум функции RSS(β) достигается, когда
первая производная по β обращается в ноль:
                  X (y − Xβ) = 0      ⇔       X Xβ = X y.

Это нормальная система уравнений
Единственным решением является вектор
                              β = (X X)−1X y

Итак, псевдорешением системы Xβ = y является решение системы X Xβ = X y.
Матрица X+ = (X X)−1 X называется псевдообратной (Мура–Пенроуза) к X.
Входным значениям x1, x2, . . . , xN будет соответствовать вектор выходных
переменных
                  y = (y1 , y2, . . . , yp) = Xβ = X(X X)−1X y.
Пусть H = X(X X)−1X , тогда получаем y = Hy
y есть ортогональная проекция вектора y на подпространство, натянутое на
векторы x0, x1, . . . , xp
H называется матрицей проектирования
y




    x2



y
         x1
Если столбцы матрицы X линейно зависимы, то β, на котором достигается
минимум функции RSS(β), не единственен, однако, по-прежнему, y является
ортогональной проекцией вектора y на линейную оболочку векторов x0, x1, . . . , xp .
2.1.1. Проверка значимости и доверительные интервалы для коэффициен-
       тов (регрессионный анализ)

                                p
                     Yi = β0 + ∑ βj xij + Ei           (i = 1, 2, . . . , N ),
                               j=1

где βj — некоторые коэффициенты (j = 0, 1, . . . , p).
Пусть xij заданы (не случайны), а Ei — случайные величины, для которых
             E Ei = 0,       Var Ei = σ 2,           Cov(Ei, Ej ) = 0        (i = j).

Тогда Yi — случайные переменные, причем
                                                 p
                                    E Yi = β0 + ∑ βj xij ,                              (1)
                                                j=1


                      Var Yi = σ 2,        Cov(Yi, Yj ) = 0       (i = j).
Запишем (1) в виде
                                         E y = Xβ.
Рассмотрим некоторые полезные свойства коэффициентов β, полученных методом
наименьших квадратов.
Так как β = (X X)−1X y, то

                  E β = (X X)−1 X E y = (X X)−1X Xβ = β,


                Cov β = (X X)−1X σ 2X(X X)−1 = (X X)−1 σ 2.
Свойство E β = β означает, что β является несмещенной оценкой β.
Разности                                      p
                           ei = yi − yi = yi − ∑ βj xij
                                                j=1
называются остатками.
Нетрудно доказать, что
                                    N
                                    ∑ ei = 0.                          (2)
                                    i=1
Из (2) следует, что
                                             n
                                   y = β0 + ∑ βj xj ,
                                            j=1
где
                                   N                    N
                               1                    1
                            y=
                               N   ∑ yi,         x=
                                                    N   ∑ xi .
                                   i=1                  i=1

Также легко получить, что
                                       N     N
                                     ∑ yi = ∑ yi.
                                     i=1     i=1
Несмещенной оценкой дисперсии σ 2 является остаточная дисперсия
                                        N
                                1
                           2
                         σ =           ∑(yi − yi)2.
                             N − p − 1 i=1

Для доказательства несмещенности оценки достаточно заметить, что RSS равна
y (I − H)y, откуда E RSS = σ 2(N − p − 1).
Величина N − p − 1 называется количеством степеней свободы.
Значение σ называют остаточной стандартной ошибкой.
Наряду с RSS рассмотрим связанные с ней величины:
полную сумму квадратов (точнее: полную сумму скорректированных на среднее
квадратов)
                                     N
                               TSS = ∑(yi − y)2
                                     i=1

и сумму квадратов, обусловленную регрессией (точнее: сумму скорректированных
на среднее квадратов, обусловленную регрессией)
                                     n
                              SSR = ∑(yi − y)2.
                                     i=1

Можно показать, что
                              TSS = RSS + SSR .

Упражнение 2.1 Доказать, что TSS = RSS + SSR. Это можно доказать
непосредственное, а можно воспользоваться тем, что y − y ортогонально y − y,
где y — вектор, составленный из y.
Коэффициент детерминации. Коэффициент детерминации, или коэффициент
регрессии Пирсона
                         2  SSR     RSS
                        r =     =1−     .
                            TSS     TSS
RSS — мера разброса Yi вокруг f (xi),
TSS — мера разброса всех yi вокруг их общего среднего y, то
r2 характеризует долю общего разброса относительно среднего, объясняемую
регрессией.
0 ≤ r2 ≤ 1.
Если r2 близок к 1, то RSS намного больше TSS.
Иногда коэффициент r2 дает слишком оптимистические результаты. В этом случае
используется подправленные коэффициент

                             2     2   1 − r2
                            ra   =r −         .
                                      N −p−1

Рассмотрение коэффициента детерминации имеет смысл только при условии, что
в модель включен сободный член β0.
Сделаем еще некоторые предположения.
Пусть ошибки Ei распределены по нормальному закону:

                      Ei ∼ N (0, σ)      (i = 1, 2, . . . , N ).

В этом случае из некоррелированности случайных величин Ei следует их
независисмость.
Теперь нетрудно показать, что

            β ∼ N β, (X X)−1 σ 2      и (N − p − 1) σ 2 ∼ σ 2χ2 −p−1.
                                                              N

Эти свойства можно использовать при построении статистических тестов и
доверительных интервалов для βj .
Проверка значимости одного коэффициента. Гипотеза βj = 0 (j
фиксировано):
использование переменной Xj не улучшает предсказание по сравнению с
предсказанием, полученным на основе только остальных p − 1 переменных.
Для проверки этой гипотезы (против гипотезы βj = 0) рассмотрим стандартный
коэффициент
                                        βj
                                  tj =       ,                           (3)
                                       se βj
где
                                          √
                                 se βj = σ vj
— стандартная ошибка коэффициента βj , а vj — j-й диагональный элемент
матрицы (X X)−1.
В предположении, что βj = 0, коэффициент tj имеет t-распределение Стьюдента
tN −p−1.
Если |tj | велико, то гипотезу βj = 0 следует отбросить.
Если гипотеза βj = 0 отбрасывается, то говорят, что коэффициент βj
статистически значим.
Можно проверить гипотезу βj = βj (относительно односторонней или
двусторонней альтернативы), где βj — некоторое заданное значение.
Статистика критерия имеет в этом случае вид

                                      βj − βj
                                 tj =         .
                                       se βj

Коэффициент tj имеет распределение tN −p−1.
Проверка гипотезы зависит от вида альтернативной гипотезы и происходит
обычным образом.
Проверка значимости группы коэффициентов. Гипотеза о равенстве нулю
группы коэффициентов (против гипотезы, что по крайней мере один из
коэффициентов не равен нулю): переменные этой группы не улучшают
предсказание по отношению к предсказанию, полученному без этих переменных.
Будем использовать статистику
                               (RSS2 − RSS1)/(p1 − p2)
                         F =                           ,
                                 RSS1 /(N − p1 − 1)
где RSS1 — остаточная сумма квадратов «б´ льшей» модели с p1 + 1 параметрами, а
                                          о
RSS2 — остаточная сумма квадратов «вложенной» модели c p2 + 1 параметрами,
(«вложенная» модель получается из «б´ льшей» модели, обнулением p1 − p2
                                      о
параметров).
В предположении, что ε в (??) имеет нормальное распределение, статистика F
имеет F (p1 − p2, N − p1 − 1) распределение Фишера.
Если отбрасывается один коэффициент, то F совпадает с zj из (3).
Проверка значимости модели. Проверка значимости всех коэффициентов
β1, . . . , βp (кроме β0) означает сравнение исходной модели, включающей p + 1
коэффициентов, с моделью y = β0 .
Очевидно, что решением задачи наименьших квадратов для второй модели будет
                                             N
                                         1
                                β0 = y =
                                         N   ∑ yi.
                                             i=1

В частности, остаточная сумма квадратов (называемая в даном случае полной
суммой квадратов относительно среднего) равна
                                                          2
                                   N               N
                                              1
                           TSS = ∑       yi −      ∑ yi
                                   i=1        N    i=1


и соответствующая F -статистика есть
                                    (TSS − RSS)/p
                             F =                    ,
                                   RSS /(N − p − 1)

где RSS = RSS(β) — остаточная сумма квадратов для исходной модели.
Эта статистика должна иметь распределение Fp, N −p−1.
Легко показать, что
                              TSS = RSS + SSR,
где
                                       n
                               SSR = ∑(yi − y)2
                                      i=1
— так называемая сумма квадратов, обусловленная регрессией.
Если гипотеза о том, что все коэффициенты (кроме, быть может, β0) равны нулю,
отбрасывается, то говорят, что модель статистически значима.
Значимость модели не означает, что она адекватна.
Доверительные интервалы. Для βj доверительным интервалом является
                                     √                  √
                        βj − z (1−α)σ vj , βj + z (1−α)σ vj ,

где z (1−α) есть (1 − α)-процентиль для нормального распределения:

                             z (1−0.1) = 1.645,
                             z (1−0.05) = 1.96,
                             z (1−0.01) = 2.58,   и т. д.
                                                         √
(vj есть j-й диагональный элемент в (X X)−1 , а se βj = σ vj есть стандартная
ошибка для βj ).
Таким образом, интервал β ± 2 · se β соответствует мере доверия примерно в 95%.
Пример. Рассмотрим задачу определения длины тормозного пути автомобиля от
начальной скорости. На рис. представлена диаграмма рассеяния для данных1,
содержащих информацию о 50 эксприментах, в каждом из которых наблюдалась
начальная скорость автомобиля (speed) и длина его тормозного пути (dist). В
качестве модели рассмотрим




                                              dist = β0 + β1 × speed.




  1
      Ezekiel M. Methods of Correlation Analysis. Wiley. 1930
120
                          100
                          80
                   dist

                          60
                          40
                          20
                          0




                                5   10     15    20    25

                                         speed



Зависимость длины тормозного пути от начальной скорости в 50 экспериментах.
Найдены значения β0 = 42.980, β1 = 145.552.
120
                                    data
                                    1st order poly
                                    2nd order poly




                          100
                          80
                   dist

                          60
                          40
                          20
                          0




                                5            10        15    20   25

                                                     speed



Регрессия двух видов для задачи определения длины тормозного пути автомобиля
по начальной скорости. Синий график: регрессия в виде dist = β0 + β1 × speed.
Красный график: регрессия в виде dist = β0 + β1 × speed + β2 × speed2.
Коэффициент детерминации и подправленный коэфициент детерминации равны
соответсвенно
                       r2 = 0.6511,    2
                                      ra = 0.6438.
Таким образом, регрессия объясняет около 65% изменчивости данных.
Стандартные ошибки и стандартные коэффициенты:

            se β0 = 2.175,   se β1 = 15.380,   t0 = 19.761,   t1 = 9.464.

Задача имеет 48 степеней свободы. Сравнивая значения t0 и t1 с квантилями
t-распределения Стьюдента с 48 степенями свободы, получаем, что для гипотезы
β0 = 0 значение p-value меньше 2 × 10−16, а для гипотезы β1 = 0 оно равно
1.49 × 10−12. Если принять в качестве уровня надежности, например, α = 0.01, то
обе гипотезы следует отвергнуть. Таким образом, каждый из коэффициентов
статистически значим.
Остаточная стандартная ошибка равна σ = 15.38. Значение F -статистики
F = 89.57 нужно сравнить с квантилями F -распределения Фишера F1,48. Это
сравнение приводит к p-value, равному 1.490 × 10−12. Таким образом, для
указанного уровня надежности модель статистически значима.
Теперь подберем регрессию вида

                       dist = β0 + β1 × speed + β2 × speed2.

Найдены значения β0 = 42.980, β1 = 145.552, β1 = 22.996.
Имеем
                         r2 = 0.6673,       2
                                          ra = 0.6532,
                 se β0 = 2.146,   se β1 = 15.176,   se β2 = 15.176,
                      t0 = 20.026,   t1 = 9.591,    t2 = 1.515.
Задача имеет 47 степеней свободы. Значение p-value для гипотезы β0 = 0 меньше
2 × 10−16. Для гипотезы β1 = 0 оно равно 2 × 1.21−12, а для гипотезы β2 = 0 равно
0.136. Таким образом, при уровне надежности α = 0.01 гипотезу β2 = 0
принимаем. Коэффициент β2 не является статистичеси значимым.
Остаточная стандартная ошибка равна σ = 15.18. Значение F -статистики
F = 47.14 нужно сравнить с квантилями F -распределения Фишера F2,47. Это
сравнение приводит к p-value, равному 5.852 × 10−12. Таким образом, для
указанного уровня надежности модель статистически значима.
Анализ остатков. Ранее мы сделали предположение, что остатки должны быть
независимы (некоррелированы) и иметь нормальное распределение и, хотя многие
рассмотренные выше тесты достаточно устойчивы по отношению к отклонениям
от таких предположений, перед тем, как исследовать статистичекую значимость
модели и строить доверительные интервалы, следует провести анализ остатков.
Гистограмма остатков должна быть близка к нормальному распределению, а в
графике остатков не должны наблюдаться зависимости и нелинейности.
15
                            10
                Frequency

                            5
                            0




                                 −20   0               20   40

                                           Residuals



Гистограмма остатков в задаче восстановления зависимости вида
dist = β0 + β1 × speed длины тормозного пути от начальной скорости.
можно с помощью QQ-графика (графика «квантиль–квантиль»).
По вертикальной оси откладываются наблюдаемые остатки.
По горизонтальной оси откладываются соответствующие им квантили
распределения N (0, 1).
Если отмеченные точки располагаются почти вдоль некоторой прямой, то
распределение близко к нормальному.
40
                                  20
               Sample Quantiles

                                  0
                                  −20




                                        −2   −1            0              1   2

                                                  Theoretical Quantiles



QQ-график в задаче восстановления зависимости длины тормозного пути от
начальной скорости.
Для теоретической проверки нормальности остатков можно воспользоваться
общими критериями согласия: χ2, критерием Колмогорова–Смирнова и т. п., или
одним из специализированных, например, критерием Шапиро–Уилка.
Нуль-гипотеза в этом критерии заключается в том, что статистически наблюдаемая
случайная величина имеет нормальное распределение. В задаче с определением
длины тормозного пути автомобиля статистика Шапиро–Уилка оказалось равной
W = 0.9451. Соответствующее p-value равно 0.02153. При уровне значимости
α = 0.01 гипотезу о нормальности распределения остатков не отвергаем.
Для выявления корреляции между остатками (точнее: сериальной корреляции)
часто используется критерий Дарбина–Уотсона. Статистика Дарбина–Уотсона
вычисляется по формуле
                                  N −1
                                   ∑ (ei+1 − ei)2
                                  i=1
                             D=          N
                                                    .
                                         ∑ e2
                                            i
                                         i=1


Упражнение 2.2 Доказать, что 0 ≤ D ≤ 4.
Если D < D L(α) или D > 4 − D L(α), то с достоверностью α принимается
гипотеза о наличии отрицательной или соответственно положительной
корреляции остатков. Если D L(α) < D < D U(α) или 4 − D U(α) < D < 4 − D L(α),
то критерий не позволяет принять решение о наличии или отсутствии корреляции
остатков. Если D U(α) < D < 4 − D U(α), то гипотеза о наличии корреляции
остатков отклоняется. Таблицы критических значений D L(α) и D U(α) для
различных α, N , p приведены, например, в [Дрейпер, Смит Т. 1, С. 211].
Напоминание: Проверка статистических гипотез

Пусть функция распределения P ∗(x) случайной величины X не известна.
Гипотеза H0: P ∗(x) = P (x).
Альтернативная гипотеза H1.
Ошибка 1-го рода: Гипотеза H0 отвергается (и принимается гипотеза H1), хотя она
верна.
Ошибка 2-го рода: Гипотеза H0 принимается, хотя она не верна.
Аналогично для параметрических гипотез.
Вначале выбирается α — вероятностный уровень значимости критерия, равный
вероятности того, что произойдет ошибка 1-го рода (например, 0.1, 0.05, 0.01)
Вычисляется реализация t∗ статистики t(X), характеризующей отклонение
эмпирических данных от теоретических (соответствующих гипотезе H0).
Пусть T критич = T критич(H0, α) — критическая область — подмножество значений
статистики t(X), такое, что
                             Pr (t ∈ T критич |H0) = α.

Если t∗ ∈ T критич, то гипотеза H0 отвергается.
Если t∗ ∈ T критич, то можно считать, что эмпирические данные согласуются с
        /
гипотезой H0, и гипотеза H0 принимается.

          p(t)                                      p(t)




                                t∗
                             T критич                      t∗       T критич
Часто в качестве T критич(H0, α) выбираются области вида
                                                p(t)



                                                                          t
      {t : t ≥ tα }                                        tα T критич
                                                p(t)



                                                                          t
      {t : t ≤ tα }    T критич tα
                                                 p(t)



                                                                              t
      {t : |t| ≥ tα}    T критич −tα                        tα T критич
Площадь желтой области на каждом графике равна вероятностному уровню
значимости α.
2.1.2. p-value

p-value принадлежит интервалу [0, 1] и вычисляется по выборочному значению t∗
статистики t(X) (и зависит также от критерия и гипотезы H0, но не зависит от α).
p-value — это минимальное значение уровня значимости α, при котором данное
значение t∗ статистики t(X) принадлежит критической области T критич(H0, α):

                  p-value(t∗ , H0) = inf {α : t∗ ∈ T критич(H0, α)}

Из этого определение вытекает следующее основное свойство p-value.
Если p-value меньше α, то гипотеза H0 отвергается.
Иначе гипотезу H0 отвергнуть нельзя.
Если T критич = {t : t ≥ tα }, то p-value = Pr {t(X) ≥ t∗}
                                               p(t)


                                                                       t
                                                       t∗ tα
             Если T критич   = {t : t ≤ tα }, то p-value = Pr {t(X) ≤ t∗}
                                                 p(t)


                                                                       t
                            tα t∗
           Если T критич   = {t : |t| ≥ tα}, то p-value = Pr {|t(X)| ≥ |t∗|}
                                                p(t)


                                                                       t
                           −tα −t∗                    t∗ tα
p-value = площади заштрихованной фигуры, α = площади желтой фигуры
2.2. Переобучение

Переобучение — это явление, при котором обучающий алгоритм выдает хорошие
результаты на обучающей выборке, но имеет очень плохие обобщающие свойства.
Типичное поведение ошибки на обучающей и тестовой выборках с ростом
«сложности» модели:

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

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




                    2.5
                            degree = 1
                            degree = 2
                            degree = 5
                            degree = 8




                    2.0
                y

                    1.5
                    1.0




                             0.2         0.4       0.6   0.8   1.0

                                               x


Y = X 2 − 0.8X + 7 + ε, где ε — нормальная случайная величина N (0, 0.05)
Полиномиальная интерполяция




                      1e+04
                                  train
                                  test




                      1e+02
              RSS/N

                      1e+00
                      1e−02




                              0      2    4   6        8   10   12

                                              degree
Метод k ближайших соседей для задачи восстановления регрессии
1.0 1.5 2.0 2.5 3.0 3.5 4.0               1.0 1.5 2.0 2.5 3.0 3.5 4.0
         0.2




                                                   0.2
         0.4




                                                   0.4
k=5




                                             k=1
         0.6




                                                   0.6
         0.8




                                                   0.8




               1.0 1.5 2.0 2.5 3.0 3.5 4.0               1.0 1.5 2.0 2.5 3.0 3.5 4.0
         0.2




                                                   0.2
         0.4




                                                   0.4
k = 14




                                             k=2
         0.6




                                                   0.6
         0.8




                                                   0.8
0.8
                  test
                  train




        0.6
RSS/N

        0.4
        0.2
        0.0




              2           4   6   8   10   12   14

                                  k
RSS/N

           0.0   0.2    0.4    0.6       0.8
      1
      2
N/k

      5
      10




                                     train
                                     test
Риск




       эмпирический риск R




       средний риск R


            Сложность модел
Причины переобучения (в задаче восстановления регрессии)

  • Мультиколлинеарность: X плохо обусловлена (т. е. столбцы матрицы X
    образуют систему, близкую к линейно зависимой).

                                  max   λj (X X)       max dj
                       cond2X =                    =
                                  min   λj (X X)       min dj
    (отношение максимального сингулярного числа матрицы X к минимальному)
  • Наличие неинформативных признаков
  • Слишком мало данных.
    Даже если все признаки информативны, данных может оказаться слишком
    мало.
2.3. Сокращение числа параметров и «усадка» коэффициентов

Почему мы можем быть недовольными подгонкой методом наименьших
квадратов?

  • Переобучение (по любой из указанных причин)
  • Интерпретация

Рассмотрим некоторые методы по уменьшению числа признаков модели и
«усадке» коэффициентов.
2.3.1. Выбор подмножества признаков

Для каждого k ∈ {0, 1, . . . , p} найдем подмножество входных параметров
мощности k, для которого RSS(β) минимально.
Большой перебор!
Оптимальное подмножество признаков мощности k не обязательно содержится в
оптимальном подмножестве мощности k + 1
Пример с ценой загородного дома
13 входных переменных
0    15                  4   6    8             14   20           5   20




                                                                                          40
      MEDV




                                                                                          10
15
                   INDUS
0




                                                                                          0.7
                                 NOX




                                                                                          0.4
8
6




                                            RM
4




                                                                                          80
                                                      AGE




                                                                                          20
20




                                                               PTRATIO
14




                                                                                          0 200
                                                                            B
20




                                                                                 LSTAT
5




     10   40               0.4    0.7                20   80             0 200
На обучающей выборке:




                      80
                      70
                      60
              RSS/N

                      50
                      40
                      30
                      20




                           0   2   4     6           8   10   12

                                       subset size
На тестовой выборке:




                       80
                       70
                       60
               RSS/N

                       50
                       40
                       30




                            0   2   4     6           8   10   12

                                        subset size
Оба графика




                      80
                      70
                      60
              RSS/N

                      50
                      40
                      30
                      20




                           0   2   4     6           8   10   12

                                       subset size
Вместо того, чтобы проводить поиск среди всех подмножеств, можно рассмотреть
только некоторые из них.
Можно, начав, с оптимального набора параметров мощности 0, последовательно
добавлять такую входную переменную, которая максимальным образом улучшает
приближение.
Предположим, что текущая модель имеет k входных переменных, а
соответствующая оценка параметра есть β. Пусть добавление некоторой входной
переменной приводит к оценке β.
Рассмотрим статистику
                                RSS(β) − RSS(β)
                           F =                    .
                               RSS(β)/(N − k − 2)
Добавим к набору входных переменных ту, для которой соответствующее
значение F максимально.
Как правило, процедуру добавления новых входных переменных заканчивают,
когда F достигнет процентиля уровня 90% или 95% для F (1, N − k − 2)
распределения.
Другая стратегия — начав с рассмотрения всего набора входных переменных,
последовательно исключать их из этого набора.
2.3.2. «Ридж» (гребневая) регрессия (регуляризация)

(ridge regression)
Добавим к RSS штрафную функцию, чувствительную к абсолютной величине
коэффициентов βj :
                                                               
                                N                    2         
                                              p            p
                β ridge
                        = argmin ∑ yi − β0 − ∑ xij βj + λ ∑ βj ,
                                                              2
                             β  i=1         j=1          j=1
                                                                

где λ — неотрицательный параметр:
чем больше λ, тем больше чувствительность штрафа к величине коэффициентов
Понятно, что задача эквивалентна следующей задаче условной минимизации:
                                             
                       N                    2
                                     p                         p
       β ridge
               = argmin ∑ yi − β0 − ∑ xij βj    , при условии ∑ βj ≤ s.
                                                                  2
                    β  i=1         j=1
                                                             j=1


Параметр s определяется по λ, и наоборот.
β2




                   β




O        β ridge       β1
Если в линейной регрессионной модели много коррелированных переменных, то
параметры модели определяются с трудом и имеют большую дисперсию.
Например, Xi и Xj сильно зависимы.
Тогда возможна ситуация:
βj велик и положителен, а βi велик по абсолютному значению и отрицателен:
так как Xi и Xj сильно коррелируют, то вклад βj xj компенсируется βixi.
Таким образом, добавляемое ограничение на величину коэффициентов βj должно
предотвратить подобую ситуацию.
Коэффициент β0 может быть устранен из штрафной функции, так как он не
соответствует ни одной переменной Xj .
Слагаемое β0 можно выкинуть и из целевой функции.
Действительно, решение задачи наименьших квадратов можно разбить на два
этапа:

  1. Центрирование данных:

       • каждое xij заменяется на xij − xj (i = 1, 2, . . . , N ; j = 1, 2, . . . , p)
       • в качестве β0 выбирается y, где
                                            N                    N
                                        1                   1
                                   xj =
                                        N   ∑ xij ,      y=
                                                            N    ∑ yi.
                                            i=1                  i=1

  2. Гребневая регрессия (без коэффициента β0)

Пусть центрирование произведено, следовательно, X имеет p (а не p + 1) столбцов
RSSridge(β, λ) = (y − Xβ) (y − Xβ) + λβ β,


                              RSSridge(β, λ) → min
                                               β

Дифференцируя, находим:
         ∂ RSSridge                            ∂ 2 RSSridge
                    = −2X (y − Xβ) + 2λβ,                   = 2X X + 2λI.
            ∂β                                   ∂β ∂β
откуда
                           β ridge = (X X + λI)−1 X y                       ( )
Итак, решение β ridge задачи гребневой линейной регрессии также является
функцией, линейно зависящей от y.
Если λ > 0, то матрица X X + λI невырождена (положительно определена), даже
если столбцы в X линейно зависимы
( ) представляет собой стандартную регуляризацию
Итак, от системы Xβ = y мы перешли к (X X + λI)β = X y
Отступление. Регуляризация (А.Н. Тихонов)

Система (X X + λI)β = X y называется регуляризованной к Xβ = y.
λ — параметр регуляризации, λ > 0.
Обозначим β(λ) — (единственное) решение системы (X X + λI)β = X y.

Теорема 2.3 (А.Н. Тихонов)
Пусть λn — некоторая последовательность, λn > 0 и λn → 0.
Тогда β(λn) стремится к нормальному псевдорешению системы Xβ = y
(из всех псевдорешений нормальное псевдорешение имеет минимальную норму).

(Можно было сразу начать с этой теоремы, но вначале мы объяснили «на
пальцах», почему регуляризация «работает»)
Если λ близко к нулю, то регуляризованная система близка к вырожденной,
поэтому на практике решение β(λ) будет найдено с большой ошибкой.
Метод регуляризации заключается в решении регуляризованных систем для
конечного числа значений λn и дальнейшем выборе того решения, для которого
норма невязки минимальна.
2.3.3. Гребневая регрессия и сингулярное разложение

Сингулярным, или SVD-разложением (singular value decomposition), матрицы X
размера N × p называется ее представление в виде

                                X = U × D ×V
                               N ×p   N ×p   p×p   p×p

где
U — N × p матрица с ортонормированными столбцами (U U = I),
V — ортогональная p × p матрица (V = V−1),
D = diag(d1, d2, . . . , dp) — диагональная p × p матрица, d1 ≥ d2 ≥ . . . ≥ dp ≥ 0.
d1, d2, . . . , dp — сингулярные значения (или сингулярные числа) матрицы X
Столбцы матрицы U — левые сингулярные векторы
Столбцы матрицы V — правые сингулярные векторы
Очевидно, что столбцы u1, u2, . . . , up матрицы U представляют собой
ортонормированный базис подпространства, натянутого на столбцы x1, x2, . . . , xp
матрицы X.
Выразим β ls и yls (без регуляризации), используя SVD:

                                                     −1
             β ls = (X X)−1 X y = (UDV ) UDV              (UDV ) y =

                         −1
      = VDU UDV               VDU y = (V )−1D−2V−1VDU y = VD−1 U y

                                                            p
               yls = Xβ ls = UDV VD−1U y = UU y = ∑ uj uj y
                                                           j=1

Заметим, что uj (uj y) есть проекция вектора y на вектор uj , а вся сумма (как мы
уже видели) есть проекция вектора y на подпространство, натянутое на
u1 , u2 , . . . , up .
Аналогично, если проводится регуляризация:
                                                                  p     d2
  yridge = Xβ ridge = X(X X + λI)−1X y = UD(D + λI)−1 DU y = ∑ uj
                                                                         j
                                                                                 uj y
                                                                 j=1   d2
                                                                        j   +λ
p     d2
                 yridge = UD(D + λI)−1 DU y = ∑ uj
                                                          j
                                                                  uj y
                                                  j=1   d2
                                                         j   +λ
Итак, как и для линейной регрессии, линейная гребневая регрессия вычисляет
проекцию u(uj y) вектора y на вектор uj , но затем домножает эту проекцию на

                                    d2
                                     j
                                           ≤ 1.
                                  d2 + λ
                                   j

Чем больше dj , тем ближе этот множитель к 1.
Чем меньше dj , тем ближе этот множитель к 0.
Таким образом, наибольшему уменьшению подвергаются компоненты,
соответствующие меньшим сингулярным числам dj .
Как dj зависят от данных?
Пусть, по-прежнему, данные, центрированы.
Матрица ковариаций равна S = XX /N , откуда

                    1             1
              S=       XX = VDU (VDU ) = V · D2/N · V .
                   N              N
Итак, столбцы v1, v2, . . . , vp матрицы V представляют собой собственный базис
матрицы ковариаций S,
 2
dj /N — собственные числа этой матрицы.
Векторы vj называются также главными (или основными) компонентами (principal
components) для данных X.
4
     2
x2

     0
     −2
     −4




          −6   −4   −2   0    2   4   6

                         x1
Пусть zj = Xvj .
Легко проверить, что
                                        d2
                                         j
                  Var(zj ) = Var(Xvj ) = ,     zj = Xvj = dj uj .
                                        N
Первая главная компонента u1 обладает тем свойством, что z1 имеет
максимальную дисперсию среди всех нормированных линейных комбинаций
столбцов матрицы X.
Вектор uj выбран среди всех векторов, ортогональных u1, . . . , uj−1, так, что zj
имеет максимальную дисперсию.
Вектор zp имеет минимальную дисперсию.
Таким образом, малые сингулярные числа dj соответствуют направлениям vj , для
которых мала дисперсия величины zj , и гребневая регрессия подвергает
наибольшему уменьшению соответствующие компоненты.
1.0
    0.8
    0.6
y

    0.4
    0.2
    0.0




          −0.2   0.0   0.2   0.4       0.6   0.8   1.0   1.2

                                   x
2.3.4. Лассо (R. Tibshirani)

                                                    
                         N                          2
                                           p                               p

                         ∑
      β lasso = argmin          yi − β0 − ∑ xij βj        , при условии   ∑ |βj | ≤ s.
                 β        i=1             j=1
                                                                         j=1

                                                                    lasso
Если s достаточно мало, то в типичной ситуации часть коэффициентов βj равна
в точности 0.
Почему?
(При гребневой регрессии такого, как правило, не происходит)
β2                          β2




                   β                           β




O        β ridge       β1   O        β lasso
ridge
Графики зависимости величины коэффициентов βj     в гребневой регрессии от λ
в примере ÓרÓÒ.
                     3
                           RM
                           RAD
                     2


                           ZN
                     1
                            B
                         CHAS
                         INDUS
                     0     AGE
                j
               β




                    −1   CRIM


                          TAX
                    −2    NOX
                          PTRATIO

                    −3     DIS

                        LSTAT
                    −4
                       −2            0    2       4          6
                     10             10   10      10        10
                                          λ
Эффективное число степеней свободы
                                                   p   d2
                                                =∑ 2
                                                        j
                    df(λ) = tr X(X X + λI)−1X               .
                                                 j=1 dj + λ

Если λ = 0 (нет регуляризации), то df(λ) = p.
Если λ → ∞, то df(λ) → 0.
ridge
Графики зависимости величины коэффициентов βj     в гребневой регрессии от
df(λ) в примере ÓרÓÒ
                     3
                                                            RM
                                                            RAD
                     2


                     1                                      ZN
                                                            B
                                                            CHAS
                                                            INDUS
                     0                                      AGE
               βj




                    −1                                      CRIM


                                                            TAX
                    −2                                      NOX
                                                            PTRATIO

                    −3                                      DIS

                                                            LSTAT
                    −4
                         0   2   4   6        8   10   12
                                      df(λ)
Лассо. Введем параметр
                                                  s
                                       t=    p
                                            ∑ |βj |
                                            j=1
               lasso
При t = 0 все βj равны нулю.
                 lasso
При t = 1 имеем βj = βj (j = 1, 2, . . . , p).
lasso                             s
Графики зависимости величины коэффициентов βj от параметра t =           p        в
                                                                        ∑ |βj |
                                                                        j=1
примере ÓרÓÒ.

                      4


                      3
                                                              RM
                                                              RAD
                      2

                                                              ZN
                      1                                       B
                                                              CHAS
                                                              INDUS
                 j




                      0
              β




                                                              AGE

                     −1                                   CRIM

                                                              TAX
                     −2                                       NOX
                                                              PTRATIO
                     −3                                   DIS

                                                          LSTAT
                     −4
                          0   0.2   0.4       0.6   0.8   1
                                          t
2.3.5. Метод главных компонент

Метод главных компонент (principal component regression):
рассмотрим регрессию y относительно z1, z2, . . . , zM , где M ≤ p.
Так как векторы z1, z2, . . . , zM попарно ортогональны, то
                       M                    M
                                                                     y, zm
       y   pcr
                 =y+   ∑ θmzm,    pcr
                                 β (M ) =   ∑ θmvm,      где   θm =
                                                                    zm, zm
                                                                           .
                       m=1                  m=1

Регрессия методом главных компонент имеет много общего с гребневой
регрессией.

   • гребневая регрессия уменьшает коэффициенты главных компонент матрицы
     X, при этом чем меньше сингулярное значение, тем в большей степени
     уменьшается,
   • регрессия методом главных компонент просто отбрасывает компоненты,
     соответствующие меньшим p − M сингулярным числам.
2.3.6. Частичные наименьшие квадраты

Частиный метод наименьших квадратов (partial least squares)
Снова вместо исходных входных значений xj (j = 1, 2, . . . , p) будем рассматривать
небольшое число их линейных комбинаций zm (m = 1, 2, . . . , M ).
Кроме xj будем учитывать также y.
Пусть y центрированы и xj нормализовано так, что имеет среднее 0, дисперсию 1.
begin
  y(0) = 1y
  x(0) = xj (j = 1, 2, . . . , p)
    j
  for m = 1, 2, . . . , p
                 p
      zm = ∑ ϕmj x(m−1), где ϕmj = y, x(m−1)
                  j                    j
                j=1

          (m)         (m−1)                    y, zm
      y         =y            + θmzm, где θm =
                                               zm, zm
                                  x(m−1), zm
                                   j
      xj = x(m−1) −
       (m)
            j                                      zm (j = 1, 2, . . . , p)
                                    zm, zm
   end
                                                                         m
                                                                 pls
   Возвратить y         (m)
                              (m = 1, 2, . . . , p)         и   βjm    = ∑ ϕ jθ
                                                                         =1
end
                                                       p
                                                        pls
На выходе алгоритма имеем y                  (m)
                                                   = ∑ βjmxj (m = 1, 2, . . . , p)
                                                      j=1
Частичная задача наименьших квадратов находит направления, соответствующие
большой дисперсии в xj и имеющие большую корреляцию с откликом y
Метод главных компонент смотрит только на величину дисперсии xj и не
анализирует y
В частности, vm является решением задачи

           max Var(Xα) :    α = 1, v Sα = 0,   = 1, 2, . . . , m − 1 ,

где S = X X/N — матрица ковариаций для данных X.
Условие v Sα = 0 гарантирует, что zm = Xα не коррелирует ни с какими z = Xv
( < m).
Направление ϕ является решением задачи

     max Corr2(y, Xα) Var(Xα) :   α = 1, ϕ Sα = 0,     = 1, 2, . . . , m − 1 .
2.3.7. Трудоемкости методов

Линейная задача наименьших квадратов (и гребневая регрессия) решается
методами:
QR-разложения,
разложения Холецкого,
SV D-разложением и др.
Эти методы требуют O(N p2 + p3) операций.
Метод лассо использует квадратическое программирование.
                                                                        
                                          N                            2
                                                             p

                                          ∑
                       β lasso = argmin           yi − β0 − ∑ xij βj         ,
                                  β        i=1              j=1
                                                                         
при условии
                  p                               p
                 ∑ |βj | ≤ s          ⇔          ∑ εj βj ≤ s,     εj ∈ {−1, 1} .
                 j=1                             j=1

p + 1 неизвестных и 2p линейных ограничений — очень много!
Пусть
                   (+)   (−)   (+)       (−)
             βj = βj − βj , βj ≥ 0, βj ≥ 0         (j = 1, 2, . . . , p)
Тогда ограничения примут вид
            p
           ∑      (+)  (−)
                 βj + βj   ≤ s,            (+)
                                          βj ≥ 0,       (−)
                                                       βj ≥ 0        (j = 1, 2, . . . , p)
           j=1

2p + 1 неизвестных и 2p + 1 линейных ограничений
ЛЕКЦИЯ 5
Machine Learning. Курс лекций
Глава 3
Задача классификации
Agenda

 • Байесов классификатор
 • Метод ближайших соседей
 • Классификация на основе регрессии
 • Дискриминантный анализ
     – Линейный дискриминантный анализ (LDA)
     – Квадратичный дискриминантный анализ (QDA)
 • Логистическая регрессия
 • Персептрон Розенблатта
 • Нейронные сети
 • Наивный байесов классификатор
 • Машина опорных векторов
 • Деревья решений
3.1. Задача классификации

Рассмотрим задачу классификации, в которой по обучающей выборке

                          (xi, yi)      (i = 1, 2, . . . , N )

необходимо восстановить неизвестную функцию f ∗(x), если

                        f ∗ (xi) = yi     (i = 1, 2, . . . , N )

                          f ∗ (x) ∈ Y = {1, 2, . . . , K}
Объекты x разбиваются на K классов, таких, что в k-м классе находятся объекты
x, для которых f ∗(x) = k.
3.2. Байесов классификатор

Предположим, что прецеденты (xi, yi) выбираются из генеральной совокупности с
совместной функцией распределения PX,Y (x, y).
X — p-мерный случайный вектор,
Y — одномерная случайная величина, принимающая значения 1, 2, . . . , K.
Пусть вероятности Pr {Y = y} и P (X = x |Y = y) известны.
Таким образом, P (x, y) = Pr (y)P (x | y).
В реальных ситуациях P (x, y), как правило, не известна, однако ее можно оценить
по имеющейся обучающей выборке.
Пусть L(k |y) — функция потерь (loss function), равная налагаемому штрафу при
отнесении объекта к классу k, если он принадлежит классу y:

                                         = 0, k = y,
                             L(k |y)
                                         > 0, k = y.
Средний (ожидаемый) риск — это математическое ожидание функции потерь:
                                              K
             R(f ) = E L f (X)| Y = E       ∑L    f (X)| y · Pr (y |X) .
                                            y=1

Наша задача — минимизировать R(f ):
                                        K
                    f (x) = argmin E
                            k∈Y
                                        ∑ L (k |y) · Pr (y | x)   .
                                        y=1
Пусть
                                               0, если f (x) = y,
                             L(f (x)| y) =
                                               1, если f (x) = y.
Тогда R(f ) есть вероятность ошибки и f можно найти по формуле:
                               f (x) = argmin 1 − Pr (k |x) ,
                                        k∈Y
или, что эквивалентно,
                                  f (x) = argmax Pr (y | x).               (∗)
                                              y∈Y
или, так как Pr (y | x) = p(x |y) Pr (y)/p(x),
                                f (x) = argmax p(x |y) Pr (y).            (∗ )
                                         y∈Y

Функция f (x), найденная по этим формулам, называется байесовым решающим
правилом, или байесовым классификатором.
При этом R(f ) называется байесовой ошибкой.
Вероятность Pr (y | x) называется апостериорной вероятностью появления объекта
из класса y, поэтому правила (∗), (∗ ) называется принципом максимума
апостериорной вероятности.
Принцип максимума апостериорной вероятности. При x < x полагаем f (x) = 0,
иначе f (x) = 1.


                                                   p(x |Y = 1) Pr {Y = 1}



        p(x |Y = 0) Pr {Y = 0}




                                  x
Если классы равновероятны, т. е. Pr (y) = 1/K, то
                                  p(x |y) Pr (y) p(x |y)
                   Pr (y | x) =                 =             p(x) = 0
                                       p(x)       Kp(x)

и, так как p(x) не зависит от y,

                                    f (x) = argmax p(x |y).                 (∗∗)
                                              y


Плотность p(x |y) называется правдоподобием (likelihood), поэтому правило (∗∗)
называется методом максимального правдоподобия (maximum-likelihood method).
Принцип максимального правдоподобия. При x < x имеем f (x) = 0, иначе
f (x) = 1.


                                                  p(x |Y = 1)



             p(x |Y = 0)




                                  x
Чтобы построить байесов классификатор, мы должны знать (или оценить)
Pr (y | x)
Пример

Рассмотрим обучающую выборку для задачи классификации на два класса.
Каждый класс — 100 прецедентов.
Распределение в каждом классе — смесь (взвешенная сумма) 2-х нормальных
распределений (гауссианов).
µ1 = (0.4, 0.8), µ2 = (0.8, 0.6), µ3 = (1.0, 0.3), µ4 = (0.1, 0.2).
Матрица ковариации σ 2I, где σ = 0.3.
1.5
                                  Train error = 0.18
                                  Test error = 0.209
                                  Bayes error = 0.21




     1.0
x2

     0.5
     0.0




           0.0   0.5        1.0              1.5

                       x1
Ошибка на заданной выборке: 0.2
Распределение известно, поэтому можем определить точно:
Средний риск R (байесова ошибка): 0.21
Методы решения задачи классификации:

  • Дискриминантные (разделительные):

       – напрямую строим f (x);
       – моделируем (оцениваем) апостериорную вероятность Pr (y | x) и
         используем метод максимума апостериорной вероятности;

  • Дескриптивные (описательные) — моделируем (оцениваем)
    правдоподобие p(x |y)
    и априорную вероятность Pr (y)
    и используем метод максимума апостериорной вероятности.

Внимание: так называемые методы дискриминантного анализа являются
дескриптивными, а не дискриминантными!
3.3. Метод ближайших соседей

Дискриминантный метод: будем аппроксимировать Pr (y | x)
Метод 1-го ближайшего соседа (1NN — nearest neighbourhood):

                     f (x) = yi∗ ,       i∗ = argmin { x − xi }
                                                i

Метод k ближайших соседей (kNN):

                                          1
                               f (x) =         ∑ yi
                                          k xi∈Nk (x)
Метод ближайшего соседа




                 1.5
                                                 Train error = 0
                                                 Test error = 0.282
                                                 Bayes error = 0.21




                 1.0
            x2

                 0.5
                 0.0




                          0.0   0.5        1.0              1.5

                                      x1
Метод 5 ближайших соседей




                 1.5
                                                   Train error = 0.15
                                                   Test error = 0.233
                                                   Bayes error = 0.21




                 1.0
            x2

                 0.5
                 0.0




                            0.0   0.5        1.0              1.5

                                        x1
Train
                Test
                Bayes




      0.4
      0.3
err

      0.2
      0.1
      0.0




            0           50   100   150   200

                              k
В качестве меры «сложности» имеет смысл рассмотреть число степеней свободы
N/k
Train
                                               Test
                                               Bayes




      0.4
      0.3
err

      0.2
      0.1
      0.0




            1   2   5   10         20   50   100   200

                             N/k
Задача классификации рукописных цифр

Выборка размера 1934 была случайным образом разбита на две группы:
обучающую и тестовую — по 967 объектов в каждой.

                                    Ошибка
               k
                    на обучающей выборке на тестовой выборке
               1             0                  0.031
               2           0.017                0.046
               3           0.014                0.031
               5           0.026                0.033
               10          0.034                0.038
               15          0.042                0.046
               20          0.051                0.050
Все случаи неправильной классификации цифр из тестовой выборки в случае
k = 1.
Красная цифра — ответ классификатора, синяя — верный ответ.

           8     5     9     8      3     8     8     5     0     4
           3     9     7     9      9     1     2     9     4     6

           3     5     3     1      3     5     9     9     6     9
           9     9     5     8      9     9     3     8     1     3

           4     4     4     8      4     8     7     1     3     4
           9     7     9     1      1     2     1     8     8     9
3.3.1. Теорема об оценке риска


                                          1, если f (x) = y,
                          L(f (x)| y) =
                                          0, если f (x) = y.
При достаточно большом объеме обучающей выборки средний риск
классификатора одного ближайшего соседа не более чем в 2 раза превосходит
байесов риск, а именно, справделива теорема:

Теорема 3.1 (Cover, Hart, 1967) Пусть R∗ — оптимальное (байесовское) значение
среднего риска для некоторой задачи классификации на K классов. Тогда с
ростом размера выборки N ожидаемый риск R для метода одного ближайшего
соседа сходится к R, такому, что

                      ∗           K ∗
                    R ≤R ≤R · 2−      R∗                ≤ 2R∗ .
                                 K −1
Д ОКАЗАТЕЛЬСТВО . (набросок)
Неравенство R∗ ≤ R очевидно.
Докажем, что
                                         K
                         R ≤ R∗ · 2 −        R∗ .
                                        K −1
Пусть X — объект из обучающей выборки, ближайший к X, а Y — его выход.
x, x , y, y — реализации случайных величин X, X , Y , Y соответственно.
Для простоты доказательства будем предполагать, что
X — непрерывная случайная величина,
p(x |x) непрерывна и нигде не равна нулю,
Pr {y |x} непрерывна по x.
1. Докажем, что при N → ∞ величина X стремится по вероятности к x.
Обозначим S(x, ε) = {x ∈ X : X − X ≤ ε}.
Так как X — ближайший к x объект, то
                                                             N
               Pr { X − x > ε} =   1−             p(x ) dx       → 0.
                                        S(x, ε)

Итак, при N → ∞ случайная величина X стремится по вероятности к x.
Следовательно, p(x |x) → δ(x − x) при N → ∞.
2. Имеем
                R = lim Pr {Y = Y } = lim         Pr {Y = Y |x} p(x) dx =
                    N →∞                 N →∞ X


                =R=        lim Pr {Y = Y |x} p(x) dx =         r(x) p(x) dx,
                         X N →∞                            X
где
           r(x) = lim Pr {Y = Y |x} = lim        Pr {Y = Y |x, x } p(x |x) dx =
                 N →∞                    N →∞
                                             X

                                  K
                = lim        1 − ∑ Pr {Y = Y = k |x, x } p(x |x) dx =
                  N →∞ X
                                  k=1

                                    K
                 = lim        1 − ∑ Pr {k |x} Pr {k |x } p(x |x) dx =
                   N →∞ X
                                   k=1

(Величину r(x) можно назвать предельным условным средним риском.)

                     K                                              K
       =         1 − ∑ Pr {k |x} Pr {k |x } δ(x − x) dx = 1 − ∑ Pr 2 {k |x} .
            X        k=1                                           k=1
3. Теперь рассмотрим условный байесовский риск
                    r∗(x) = 1 − max Pr {k |x} = 1 − Pr {y |x} .
                                 k

Cогласно неравенству Коши–Буняковского
                                                            2

                (K − 1) ∑ Pr 2 {k |x} ≥       ∑ Pr {k |x}       = r∗(x)2 ,
                        k=y                   k=y

поэтому
                       K
              (K − 1) ∑ Pr 2 {k |x} ≥ r∗(x)2 + (K − 1) 1 − r∗(x) ,
                                                                         2

                      k=1
откуда
                                     ∗     K ∗ 2
                         r(x) ≤ 2r (x) −       r (x) .
                                          K −1
Умножая обе части неравенства на p(x) и интегрируя по x, получаем
                   K                         K            2        K
          ∗
 R ≤ 2 E r (X) −           ∗   2
                       E r (X) ≤ 2R −   ∗              ∗       ∗
                                                   E r (x) = 2R −      R∗ 2 ,
                 K −1                       K −1                  K −1
                                          2             2
так как E r∗(X)2 = D r∗(X) + E r∗(X)          ≥ E r∗(X) .
Замечание 3.2 Верхние и нижние оценки в теореме являются точными. В
частности, верхняя оценка
                                            K
                            R ≤ R∗ · 2 −        R∗
                                           K −1
достигается в случае, когда плотности вероятности p(x |y) не зависят от y.
В этом случае Pr {y | x} = Pr {y} и r∗(x) не зависят от x.

Замечание 3.3 К сожалению, сходимость R к R может быть очень медленной.

Замечание 3.4 Результаты аналогичны для метода k ближайших соседей.
3.4. Линейная регрессия для задачи классификации

(дискриминантный метод)
Сопоставим каждому классу k характеристический, или индикаторный, вектор
(y1 , y2, . . . , yK ), в котором yk = 1, а yi = 0 при i = k.
Собрав вместе индикаторные векторы объектов обучающей выборки, получим
матрицу Y размера N × K, называемую индикаторной.
Таким образом, Y состоит только из нулей и единиц и каждая строка имеет ровно
одну единицу.
Как обычно, X — матрица размера N × (p + 1), первый столбец которой состоит из
единиц, а последующие представляют собой векторы из обучающей выборки.
Применяя метод наименьших квадратов одновременно к каждому столбцу
матрицы Y, получаем значения

                            Y = X(X X)−1 X Y.

Для каждого столбца yk матрицы Y получим свой столбец коэффициентов βk .
Соберем их в матрицу B размера (p + 1) × K.
Имеем
                            B = (X X)−1X Y.
Объект x будем классифицировать согласно следующему правилу:
Вычислим вектор-строку длины K

                              g(x) = (1, x) B.

Отнесем x к классу
                            f (x) = argmax gk (x).
                                       k
1.5
                                  Train error = 0.2
                                  Test error = 0.231
                                  Bayes error = 0.21




     1.0
x2

     0.5
     0.0




           0.0   0.5        1.0              1.5

                       x1
y = β0 + β1x1 + β2x2 + β11x2 + β12x1x2 + β22x2
                           1                 2




                    1.5
                                                       Train error = 0.195
                                                       Test error = 0.209
                                                       Bayes error = 0.21



                    1.0
               x2

                    0.5
                    0.0




                               0.0         0.5        1.0          1.5

                                                 x1
Обоснование этого правила может быть следующим.
Пусть Yk — k-я компонента характеристического вектора, соответствующего
классу, которому принадлежит случайный объект X.
Тогда Yk — случайная величина и

                         E (Yk |X = x) = Pr (Y = k |X = x).

Однако линейная регрессия может быть рассмотрена как оценка условного
ожидания E (Yk |X = x), т. е. gk (x) является оценкой апостериорной вроятности
Pr (Y = k |X = x).
Более того, легко проверить, что если X содержит столбец из единиц, то
                                    K
                                   ∑ gk (x) = 1,
                                   k=1

Заметим однако, что gk (x) может быть отрицательным или больше 1.
При K ≥ 3 линейная регрессия может «не замечать» некоторых хорошо
отделимых классов.




                   1.5
                   1.0
                   0.5
                   0.0
              x2

                   −0.5
                   −1.0
                   −1.5




                          −1.5   −1.0   −0.5   0.0   0.5   1.0   1.5

                                               x1
3.5. Дискриминантный анализ

(дескриптивный метод)
p(x |y) = p(x |Y = y) — правдоподобие (плотность распределения X для класса y)
Pr (Y = y) — априорная вероятность появления объекта из класса y.
По теореме Байеса имеем
                                              p(x |y) Pr (y)
                       Pr (Y = y |X = x) =   K
                                                                .
                                             ∑ p(x |k) Pr (k)
                                             k=1

Таким образом, зная p(x |k) и Pr (k), можно определить апостериорные (условные)
вероятности Pr (Y = y |X = x) (y = 1, 2, . . . , K).
Дескриптивные методы моделируют (оценивают) p(x |y).
3.5.1. Линейный дискриминантный анализ Фишера (LDA)

Предположим, что
                                             1               1           Σ−1 (x−µy )
                       p(x |y) =                          e− 2 (x−µy )    y            ,
                                   (2π)p/2       det Σy
где Σy — матрица ковариаций, а µy — математическое ожидание.
В линейном дискриминантном анализе (linear discriminant analysis, LDA)
предполагается, что
                         Σy = Σ      (y = 1, 2, . . . , K).
Рассмотрим отношение
                Pr (Y = y |X = x)      p(x |y) Pr (y)      p(x |y)      Pr (y)
           ln                     = ln                = ln         + ln        =
                Pr (Y = k |X = x)      p(x |k) Pr (k)      p(x |k)      Pr (k)
                              1
                        exp − 2 (x − µy ) Σ−1(x − µy )       Pr (y)
                   = ln       1             −1 (x − µ )
                                                        + ln        = ...
                        exp − 2 (x − µk ) Σ          k       Pr (k)
                                    1                              Pr (y)
           . . . = x Σ−1(µy − µk ) − (µy + µk ) Σ−1(µy − µk ) + ln        ,
                                    2                              Pr (k)
Итак,

         Pr (Y = y |X = x)                    1                              Pr (y)
    ln                     = x Σ−1(µy − µk ) − (µy + µk ) Σ−1(µy − µk ) + ln        ,
         Pr (Y = k |X = x)                    2                              Pr (k)
x входит линейно! Следовательно, поверхность (построенная по принципу
максимума апостериорной вероятности), разделяющая классы y и k, т. е.
множество точек x, в которых
                           Pr (Y = y |X = x) = Pr (Y = k |X = x),
является гиперплоскостью.
Это верно для любой пары классов, поэтому все разделяющие поверхности
являются линейными.
Правило выбора класса можно определить как
                                   f (x) = argmax δy (x),
                                              y

                                         1
                       δy (x) = x Σ−1µy − µy Σ−1µy + ln Pr (y)
                     где
                                         2
— линейная дискриминантная функция (linear discriminat function).
3
     2
     1
x2

     0
     −1




          −1.5   −1.0   −0.5        0.0   0.5   1.0

                               x1
Легко проверить, что
                        1                       1
              δy (x) = − (x − µy ) Σ (x − µy ) + x Σ−1x + ln Pr (y),
                                    −1
                                                                        (∗)
                        2                       2
где
                         ρ(x, µy ) = (x − µy ) Σ−1(x − µy )
— расстояние в пространстве признаков между x и µy , если скалярное
произведение введено по формуле

                                x, µy = x Σ−1µy .

В частности, если Σ = I, то ρ(x, µy ) — это обычное евклидово расстояние.
Второе слагаемое в правой части (∗) не зависит от y
Третье слагаемое — это «поправочный коэффициент», учитывающий, что объекты
из разных классов могут появляться с разной вероятностью.
На практике мы не знаем параметров нормального распределения, но можем
оценить их по обучающей выборке:
                                                     K
                 Ny                 xi          1
        Pr (y) =    ,    µy = ∑        ,   Σ=       ∑ ∑ (xi − µk )(xi − µk ) .
                 N            yi =k Ny        N − K k=1 yi=k

Пусть, например, имеется 2 класса. LDA-правило отнесет объект x к классу 2, если
                    −1           1      1           N1     N2
               x Σ (µ2 − µ1) > µ2 Σµ2 − µ1 Σµ1 + ln    − ln ,
                                 2      2           N      N
и к классу 1 в противном случае.
Пусть также β0, β — параметры, полученные с помощью линейной регрессии с
критерием
                                N
                               ∑(yi − β0 − β    xi)2 → min .
                               i=1

Нетрудно показать, что вектор β коллинеарен вектору Σ−1(µ2 − µ1).
Таким образом, разделяющие гиперплоскости, полученные с помощью линейной
регрессии и методом LDA, параллельны (но при N1 = N2 не совпадают друг с
другом).
Это уже не так при числе классов, большем 2.
Если имеется более 2-х классов, то, напомним, линейная регрессия при
классификации может «не замечать» некоторых из них.
LDA-метод свободен от этого недостатка.
Линейная регрессия




                   1.5
                   1.0
                   0.5
                   0.0
              x2

                   −0.5
                   −1.0
                   −1.5




                          −1.5   −1.0   −0.5   0.0   0.5   1.0   1.5

                                               x1
LDA




           1.5
           1.0
           0.5
           0.0
      x2

           −0.5
           −1.0
           −1.5




                  −1.5   −1.0   −0.5   0.0   0.5   1.0   1.5

                                       x1
Линейная регрессия = LDA (В данном случае)




                   1.5
                                                     Train error = 0.2
                                                     Test error = 0.231
                                                     Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                           0.0      0.5        1.0              1.5

                                          x1
3.5.2. Квадратичный дискриминантный анализ

Рассмотрим теперь
                                          1            − 1 (x−µy ) Σ−1 (x−µy )
                    p(x |y) =                          e 2          y            ,
                                (2π)p/2       det Σy
не предполагая, что Σy равны между собой.
Проводя аналогичные рассуждения, придем к понятию квадратичной
дискриминантной функции
                       1           1
             δy (x) = − ln det Σy − (x − µy ) Σ−1(x − µy ) + ln Pr (y)
                                               y
                       2           2
Поверхность, разделяющая два класса y и k описывается квадратным уравнением
δy (x) = δk (x).
Квадратичным дискриминантным анализом (quadratic discriminant analysis, QDA)
назывется построение решающего правила с помощью квадратичной
дискриминантной функции.
LDA




           3
           2
           1
      x2

           0
           −1




                −1.5   −1.0   −0.5        0.0   0.5   1.0

                                     x1
QDA




           3
           2
           1
      x2

           0
           −1




                −1.5   −1.0   −0.5        0.0   0.5   1.0

                                     x1
LDA y = β0 + β1x1 + β2x2 + β12x1x2 + β11x2 + β22x2
                                         1       2




                     3
                     2
                     1
                x2

                     0
                     −1




                          −1.5   −1.0   −0.5        0.0   0.5   1.0

                                               x1
3.5.3. Регуляризованный дискриминантный анализ

Возможна модификация методов, описанных выше, в которой в качестве матрицы
ковариаций выбирается
                         Σk (α) = αΣk + (1 − α)Σ,                       (+)
где α — некоторый параметр (регуляризации), 0 ≤ α ≤ 1.
Другой вариант —
                            Σ(γ) = γ Σ + (1 − γ)σ 2 I,
где 0 ≤ γ ≤ 1.
Заменяя Σ в (+) на Σ(γ), получим более общее семейство оценок Σ(α, γ) для
матрицы ковариаций.
3.5.4. Вычисления в LDA

Упростим вычисления, проводимые в LDA.

                                  Σ = UDU ,
где U — ортогональная p × p матрица,
D — диагональная матрица, на диагонали которой расположены собственные
числа d матрицы Σ.
LDA-классификатор теперь можно реализовать следующим образом.
Вначале выполним линейное преобразование данных

                                X ∗ ← D−1/2U X.

Матрица ковариаций для X ∗ — единичная, поэтому классификацию объекта x
можно проводить используя
                                1            1
                      δy (x) = − ρ(x∗, µy ) + x∗   2
                                                       + ln Pr (y),       (∗)
                                2            2
где ρ(x∗, µ) — евклидово расстояние.
3.5.5. Понижение размерности в LDA

Центроиды µ∗ (k = 1, 2, . . . , K) в p-мерном пространстве заметают гиперплоскость
             k
H размерности не более K − 1.
Для нахождения ближайшего центроида мы можем вычислять расстояния между
µ∗ и ортогональной проекцией x∗ на H.
 k
Это позволяет существенно снизить объем вычислений, если K ≤ p.
При K > p можно попробовать найти гиперплоскость H ⊆ H, размерности
меньшей K − 1, оптимальную в некотором смысле.
Фишер предложил среди всевозможных гиперплоскостей найти ту, для которой
разброс проекций центроидов на нее максимален.
Эту задачу решим методом главных компонент.
Вначале найдем K × p матрицу центроидов M и матрицу ковариаций W
(ковариации «внутри классов»).
Далее вычислим M∗ = MW−1/2.
Затем найдем B∗ — матрицу ковариаций для M∗ (ковариации «между классами») и
построим разложение
                               B∗ = V∗DB V∗ ,
где DB — диагональная матрица с собственными числами матрицы B∗,
упорядоченными по убыванию, а V — ортогональная матрица.
Столбцы v ∗ матрицы V∗ ( = 1, 2, . . . , L) порождают оптимальные гиперплоскости.
Переменная Z = v X, где v = W−1/2v ∗, называется -й дискриминантной
переменной (discriminant variable).
Итак, задача Фишера заключается в максимизации отношения Рэлея (Rayleigh
quotient):
                                     a Ba
                                 max       ,
                                  a a Wa
или, что эквивалентно,

                     max a Ba при условии     a Wa = 1.
                      a

Хорошо известно, что эта задача сводится к обобщенной задаче на собственные
значения
                         Ba = λW ⇔ W−1Ba = λI
Решением является вектор a1, соответствующий максимальному значению λ1 .
Нетрудно проверить, что a1 совпадает с v1.
Можно найти вектор a2, ортогональный a1, на котором отношение Рэлея
максимально.
Решением будет a2 = v2 и т. д.
22
                                                                                          22              2 2
                                                                                                          2
                                                                                                       2 222 2 2 2   2
                                                                                           2 2 222 2 22 2  2
                               00
                               0         00 0                                              2        2 22 222 2 222
                                                                                                      2 22
                                                                                             2 22 2 22 2 2
                                                                                             22      2 2 22 2
                                                                                                           2     2




      5
                    0 00 0   0 00
                             00 0000 0 0 0                                                     222 22222 2 222
                                                                                               2 2 2 2222 2 2
                                                                                                     2 2 22 2
                                                                                                         2
                    0 0 0                                                                       2
                                                                                          2 22 2 2 2222 22 2
                                                                                                       2 22  2
                                 00 0
                    00 0 0 00 0 00 0 0 0 0                                                             2 222 2
                                                                                                 2 2 2222222 2
                   0         0 0000 0 0
                                0 00
                          0 00 00 0 0                                                            2 2 2 2 22
                                                                                                              2
                                                                                                            22 2
                           0 000 0 0 0 6
                  0 0 00 0 00 006000 0    00
                                          0                                                       2  2 2 23 2
                                                                                            2 2 2 2 222222 3 2
                                                                                                          2
                      00 0 000060000 6
                                0                                        8 88
                                                                                         5 522 2   2 2           2
                        0 00 000 060 0 0 0
                                00 0
                         0 06000 0 0
                                06
                                00 0 0
                     0 00 0 0 0 0 0
                        0 6                            8                                 5 5 222 5 3 2 3 2
                                                                          8 8 5 5 2 532 522 323 3 3
                                                                                          2
                                                                                                        55 2 3 3   3
                    0
                         06 6
                           0 6 0 00 6 06 666
                                   00 6
                                 6 06006 066 8               6 8 18 8 8 58 5 5 5553 53 233 2 3
                                                                   8          8 8
                                                                               9            2 35 5
                 0                    6 6 60 6
                             0 6 66 06 0 00 0 0                   8 8 8 8 85                  5 9 53 5 3
                                                                                         5 55 5 5 5 3 3
                                                                         88 8 8 8 15 559 5 25 35 5333 33
                        6066 660066006 6 606606
                                     00
                              6 0 6 66 6 6 6
                                         0
                                                   6                                          5 5
                                                               88 8888888 89 599893559 5 53 553353 3333 3 3   33
                              6 6 6
                               6 6 6 0
                                   066
                       0 66 6 66 6 6
                           6 6 66                  6        8 18 1 8 88985 99 5555525 5555 5332333 3333 3
                                                             8 1888 888 8 188188 9 1 555 35 3333 3 333
                                                                            9 8               955
                                                                                           95 5
                                                                        8 8 8 8 5 89 5 53 3 3 33 33 3
                                                                                      9                      333 5
                                                                                                            53 3
                         6 66 60666 666
                         6 66666 6 6 6 6    6               18             8 9 89 5
                                                                     88881818 8 89855 5 1 9 55 52535333333 3 3 3 3
                                                                           8 9 9 18 1 9                    3 353
                                                                                                               33
                              60 6 66 660
                                  666
                              6 666 666 6 6 6
                                         6
                                         06                           8 888 188 91 885595 2355 5 35 3 5333 3
                                                                      8888 831 988 859955 5 555 93 33 3 333 333 33
                                                                      8 8 1888 9 9 9195 55 35 5 5 5 3533 3
                                                                                       9 9 1 5 5 33 35 3
                                                                                                                3
                                  66 6 6 6                            8 89 8 99 5 9
                                                              188 81888885 9818 9859 5 5 3 33 33 3
                           6 66 6 6 6
                           6 66 66   6 6             6 1                    15 9      1 5 5
                    0 6 606 6 6666 666 6 6 1 1 8 1 818 1811 89988 99 8 5 95 535 55 3333 33 33
                                                               8 8         18 9 8 89
                                                                           98 1       5
                                                                      1 9998 1885 99995 5 53 3 3 3 3 33     35
                          6
                            6
                           6 666 6 6 66    6                  8       1 8 8 9 9918 1 9 15 5 5 3 3 3 3
                                                          68 8 1 888 898119 88198 95 555 5 953 3333333 33 3
                                                                       81 1 1 9 199 9 9 5 95 5
                                                                     8 99                9
                                                         1                 19 18                                 3
                                 666
                                66 666 66                               1 989 899 9 9
                                                              1 1 1 1 911111181 1199 559 5 5 5 3 3 35 3
                                                                            9
                                                                            1
                                                                  11 11 1 8 9 198991191 9 3
                                                                                                5 3
                                                                  88 181911 11991989 919 5 5 3 5 33 3
                                                                            1
                                                                         1 9 99 1 15 1
      0


                                      6                                        9 11              5
                        6 6 6 6 6 66 6 6                     8 1 1 118999 81 1 919 5
                                                                         9 19 9 9 1
                                                                   1 11 1 1 11 11911
                                                                                   9 1
                                  6                      1         81 91191 9199 1 9 1 9
                                                              8 11 818 91 1819119 1 98 1 1
                                                                        1        1 1 1
                                                                          1 11 111 9 1 9
                                                                          1                                      33
                                                                       1 9 11 1 19599  99 9
                                                                                         8 9
                                                            8 1              9 119 9 9
LD2




                                                                             9 19
                                                                             1      1
                                                                           99 9 1 9 19 1
                                                                     1 9 1 1 919 199 19 9 1 9
                                                                                                           3
                                    4                                           1 91 9 9 9
                                                                                     9 1                    3
                                                                      19 1 1 11 1 9 9 9
                                                                          99 9
                                                                         19 1 1
                                                                                         91
                                                                                          1
                                                            1                    9
                                4      4                                   9             1 9
                                                                                   9 19 9 9             7
                                                                                              5                   7
                                              4                                                    7
                           4                     4
                                     4 4 4 4        4    4                                      7      77          7 7
                                                    4        4                             7 7
      −5




                            4         4         4 4
                                   4 4 4 44444 4 4 4 4 4                                   7      7 777
                                                                                                           7 7 7
                                   4 4 44 4 4 4 4
                                        4 4                                                            7       77
                                    4 44 4 444 4 4
                         4              4 44 44 4 4
                                    4 4 4 4 44 444
                                         44 4 4
                                              4                 4
                                                                                     7
                                                                                        7 7
                                                                                            7 7 7 77 7 7
                                                                                             7 7           77 7 7
                                            4 44 4                                                        77
                                 4 4 4 444 444 4444
                                 4
                                       4 44 4 4 444 4
                                                       4                                               7 77
                                                                                               7 7 77 7 777 7 7
                         4 4 4 4 44 4 4 4 4
                         4            4 4  4              4 4                           7 7 7 77 7777 7 7 7 7 7
                         4
                                       4
                                      444 4 44
                                       4 4 4                                                           7 7 77 7 7
                                                                                                             77
                                                                                              7 777 77 7 77 77 7 7
                                                                                              7 7 7
                                      4 4 4 4 44 4
                                     4 444 4 4  4                                                7 77 7
                                                                                              7 7 777 7  7
                                                                                          7 7 77 7777 7 7 7 7
                                    4 44 44 4 4
                                           4 44
                                           4    4                                           7 7 77777777 7 77
                                                                                                       7 77 7
                                                                                                        77          7
                                        4 44 4          4                                  7 7 77 7 77 7 7 7
                                                                                            7      77 7 7 7
                                                                                                     77
                                                                                           77        77777 7
                                                                                                        7        7
                                                                                                       77 77  7
                                               4                                                   7 7 7
                                                                                                    7          7 7
                                             4                                                77 7
                                                                                                     7


           −10                         −5                               0                               5

                                                               LD1
3.6. Логистическая регрессия

(Дискриминантный метод)
В логистической регрессии (logistic regression) предполагается, что апостериорные
вероятности Pr (Y = y |X = x) удовлетворяют соотношениям:
                            Pr {Y = 1|X = x}
                         ln                   = β10 + β1 x,
                            Pr {Y = K |X = x}
                           Pr {Y = 2|X = x}
                         ln                   = β20 + β2 x,
                           Pr {Y = K |X = x}
                     ..........................................
                        Pr {Y = K − 1| X = x}
                     ln                       = βK−1,0 + βK−1x,
                          Pr {Y = K |X = x}
где β10, β1, β20, β2 , . . . , βK−1,0, βK−1 — некоторые коэффициенты, которые
необходимо найти.
Получаем
                                exp (βk0 + βk x)
       Pr {Y = k |X = x} =      K−1
                                                         (k = 1, 2, . . . , K − 1),
                             1 + ∑ exp (β 0 + β x)
                                 =1

                                                     1
                  Pr {Y = K |X = x} =        K−1
                                                                   ,
                                         1 + ∑ exp (β 0 + β x)
                                               =1

поэтому величины Pr {Y = k |X = x} неотрицательны, их сумма равна 1
и для любой пары классов y и k функция
                                  Pr {Y = k |X = x}
                               ln
                                  Pr {Y = y |X = x}
линейна по x.
Согласно принципу максимального правдоподобия разделяющие поверхности
линейны.
3.6.1. Расчет параметров

В логистической регрессии параметры обычно подбираются с помощью метода
максимального правдоподобия.
Максимизации подвергается логарифмическая функция правдоподобия
                                      N
                              (β) = ∑ ln Pr {Y = yi |X = xi, β} ,
                                     i=1

где

  β = (β10, β1, β20, β2, . . . , βK−1,0, βK−1),   Pr (Y = k |X = x, β) = Pr (Y = k |X = x).
Подробно рассмотрим случай K = 2.
Классы будем кодировать числами 1 и 0 (вместо 1 и 2 соответственно).
Пусть векторы xi (i = 1, 2, . . . , N ) содержат дополнительную (первую) компоненту,
равную 1.
Обозначим
                                                         exp(β x)
                     p(x, β) = Pr {Y = 1|X = x, β} =                ,
                                                       1 + exp(β x)
где β = (β10 , β1),
тогда
                                                                1
                    Pr {Y = 0|X = x, β} = 1 − p(x, β) =
                                                          1 + exp(β x)
и
                       N
                 (β) = ∑ yi ln p(xi, β) + (1 − yi) ln 1 − p(xi, β)           =
                       i=1
                 N
              = ∑ yiβ xi − yi ln(1 + eβ   xi
                                               ) − (1 − yi) ln(1 + eβ   xi
                                                                             ) =
                i=1
                               N
                             = ∑ yiβ xi − ln(1 + eβ      xi
                                                              ) .
                              i=1
N
                          (β) = ∑ yiβ xi − ln(1 + eβ           xi
                                                                    )
                                  i=1

Найдем первую производную функции (β):

           ∂ (β) N           exp(β xi)                    N
                = ∑ yixi −               xi            = ∑ yi − p(xi, β) xi.
            ∂β    i=1      1 + exp(β xi)                 i=1

и приравняем ее к нулю:
                              N
                             ∑         yi − p(xi, β) xi = 0.
                             i=1

Получаем систему p + 1 нелинейных уравнений относительно β.
Так как первая компонента векторов xi равна 1, то первое уравнение этой системы
имеет вид:
                                   N          N
                                   ∑ yi = ∑ p(xi, β),
                                   i=1       i=1

что означает, что ожидаемое число появлений класса 1 равно числу наблюдений.
Для решения системы
                              N
                              ∑     yi − p(xi, β) xi = 0.
                              i=1
воспользуемся методом Ньютона–Рафсона.
Матрица Гессе:
                       N                    N
           ∂ 2 (β)        ∂p(xi, β)
                   = −∑             xi = − ∑ xixi p(xi, β) 1 − p(xi, β) ,
           ∂β∂β       i=1   ∂β             i=1

так как
             ∂p(xi, β)     exp(β xi)
                       =                x = p(xi, β) 1 − p(xi, β) xi.
                                       2 i
               ∂β        1 + exp(β xi)
Шаг метода заключается в последовательном применении формулы
                                                     −1
                                           ∂ 2 (β)        ∂ (β)
                         β new = β old −                        ,
                                           ∂β∂β            ∂β
в которой производные вычисляются в точке β old.
Запишем формулу
                                                      −1
                                           ∂ 2 (β)         ∂ (β)
                         β new = β old −                         ,
                                           ∂β∂β             ∂β
используя следующие обозначения:
y — вектор-столбец, составленный из значений yi;
X — N × (p + 1) матрица, скомпонованная из векторов xi;
p — вектор-столбец, i-я компонента которого равна p(xi, β old);
W — диагональная матрица размера N × N , i-й диагональный элемент которой
равен p(xi, β old) 1 − p(xi, β old) .
Тогда
                      ∂ (β)               ∂ 2 (β)
                             = X (y − p),         = −X WX.
                       ∂β                 ∂β∂β
Шаг метода Ньютона–Рафсона теперь можно представить формулой:
                                                −1
                    β new = β old + X WX             X (y − p) =
                   −1                                                −1
        = X WX          X W Xβ old + W−1(y − p) = X WX                    X Wz.
На шаг метода Ньютона–Рафсона
                                              −1
                           β new = X WX            X Wz

можно смотреть как на взвешенный метод наименьших квадратов

                     β new ← argmin (z − Xβ) W(z − Xβ).
                               β

с подправленным выходом (adjusted response)

                           z = Xβ old + W−1(y − p).

Заметим, что матрица весов W меняется на каждой итерации, поэтому описанный
алгоритм можно назвать итерационным перевзвешиваемым методом наименьших
квадратов (iteratively reweighted least squares, IRLS).
В качестве стартовой точки для итераций можно взять β = 0 или (X X)−1X y
К сожалению, в общем случае гарантировать сходимость нельзя.
Тем не менее, как правило, метод сходится, так как логарифмическая функция
правдоподобия вогнута.
Приведем формальное описание метода IRLS.
  begin
    β ← (X X)−1X y
    repeat
        p ← p(x1, β), p(x2, β), . . . , p(xN , β)
        W ← diag(w1, w2, . . . , wN ), где wi = p(xi, β) 1 − p(xi, β)
                              −1
       β ← β + X WX                X (y − p)
    end
  end
LDA




           1.5
                                        Train error = 0.2
                                        Test error = 0.231
                                        Bayes error = 0.21




           1.0
      x2

           0.5
           0.0




                 0.0   0.5        1.0              1.5

                             x1
Логистическая регрессия




                    1.5
                                                 Train error = 0.235
                                                 Test error = 0.236
                                                 Bayes error = 0.21




                    1.0
               x2

                    0.5
                    0.0




                          0.0   0.5        1.0              1.5

                                      x1
QDA




           1.5
                                        Train error = 0.195
                                        Test error = 0.208
                                        Bayes error = 0.21




           1.0
      x2

           0.5
           0.0




                 0.0   0.5        1.0              1.5

                             x1
3.6.2. Связь с задачей наименьших квадратов

Итак, оценки β являются решением взвешенной задачи наименьших квадратов, в
которой выходы zi и веса wi:
                                   yi − pi
                    zi = xi β +              ,    wi = pi(1 − pi)
                                  pi(1 − pi)

сами зависят от β.
Рассмотрим некоторые следствия из этого.
Взвешенная сумма квадратов отклонений
                                     N
                                         (yi − pi)2
                                     ∑ pi(1 − pi) ,
                                     i=1

представляет собой обычную χ2-статистику Пирсона, оценивающую дисперсию.
Из центральной предельной теоремы вытекает, что распределение случайной
величины β сходится к N β, (X WX)−1 .
3.6.3. Пример

В примере       Ø × выборка случайным образом была поделена на две равные
части по 384 прецедента: обучающую и тестовую.
Ошибка

                                            train   test
                             LDA            0.214 0.221
                             QDA            0.229 0.255
                    Логистическая регрессия 0.219 0.234
Логистическая регрессия

 Ó       ÒØ×
              ר Ñ Ø ËØ º ÖÖÓÖ Þ Ú ÐÙ ÈÖ´ Þ µ
´ÁÒØ Ö ÔØµ ¹ º    ¿½ ½º¼     ½ ¹ º¼    º   ¹½ ¶¶¶
ÔÖ Ò ÒØ     ¼º½¾      ¼º¼ ½ ¾    ¾º ¾½ ¼º¼¼¿ ¶¶
 ÐÙ Ó×      ¼º¼¿ ¿¼ ¼º¼¼ ½        º    º¾ ¹½½ ¶¶¶
   רÓÐ    ¹¼º¼½¼ ¼ ¼º¼¼ ¼½ ¹½º        ¼º½
ØÖ Ô×      ¹¼º¼½¾½ ¾½ ¼º¼¼ ¿ ¿ ¹½º¿¼¾ ¼º½ ¿¼
 Ò×ÙÐ Ò    ¹¼º¼¼¼¾ ¾ ¼º¼¼½½ ¿ ¹¼º¾¾ ¼º ¾¼
 Ñ          ¼º¼ ¾¾ ¼º¼¾½ ¼ ¿      º ¾ º    ¹¼ ¶¶¶
     Ø ×    ½º½ ¼ ¿ ¼º      ¼¼   ¾º ½ ¼º¼½¼ ¿ ¶
            ¼º¼½¾ ½ ¼º¼½¾ ½ ¼º         ¼º¿¾ ¼
¹¹¹
Ë Ò º Ó × ¼ ³¶¶¶³ ¼º¼¼½ ³¶¶³ ¼º¼½ ³¶³ ¼º¼ ³º³ ¼º½ ³ ³ ½
3.7. Персептрон Розенблатта

(Дискриминантный метод)
Персептрон Розенблатта (1958), также как и LDA и логистическая регрессия,
строит линейную разделяющую поверхность (гиперплоскость).
Рассмотрим случай K = 2 классов, которые будем кодировать числами 1 и −1.
Разделяющую гиперплоскость зададим уравнением β0 + β x = 0, а решающее
правило — формулой f (x) = sign(β0 + β x).
Таким образом, нашу цель можно переформулировать следующим образом:
необходимо минимизировать кусочно-линейную функцию

                        D(β, β0) = −   ∑ yi(β0 + xi β),
                                       i∈M

где M — множество индексов тех объектов, которые были классифицированы
неправильно.
Каждое слагаемое неотрицательно и пропорционально расстоянию от точки до
гиперплоскости β0 + x β = 0.
D(β, β0) = −    ∑ yi(β0 + xi β),
                                         i∈M

Частные производные (при фиксированном M ) равны
                ∂D(β, β0)                      ∂D(β, β0)
                          = − ∑ yi.                      = − ∑ yixi,
                  ∂β0        i∈M                 ∂β         i∈M

Для минимизации D(β, β0) персептрон использует алгоритм стохастического
градиентного спуска, который вместо того, чтобы вычислять градиент (как в
обычном градиентном спуске), находит только одно из слагаемых yixi (и yi).
Объекты в обучающей выборке обходим в некотором порядке.
Алгоритм запускается на тестовых примерах несколько раз, до тех пор, пока β0, β
перестанут меняться.

                          (r+1)           (r)
                         β0              β0              yi
                             (r+1)
                                     ←       (r)
                                                   +ρ          ,
                         β               β              yixi
где i ∈ M , а ρ — некоторый положительный параметр (например, ρ = 1).
Заметим, что M обновляется после каждого изменения коэффициентов β0, β.
Теорема 3.5 (A.B.J. Novikoff, 1962) Если классы линейно отделимы, то за
конечное число шагов алгоритм построит разделяющую гиперплоскость.
Д ОКАЗАТЕЛЬСТВО . Пусть к xi приписана первая координата, равная 1, и β (0) = 0,
ρ = 1, xi ≤ γ. Пусть классы разделяются гиперплоскостью β ∗ x = 0, причем
     β ∗ xi ≥ α > 0 ⇔ yi = 1,                          β ∗ xi ≤ −α < 0 ⇔ yi = −1,                          β∗ = 1


                         Имеем         β ∗ β (1) = β ∗ (β (0) + ρyi1 xi1 ) = β ∗ yi1 xi1 ≥ α
                         β ∗ β (2) = β ∗ (β (1) + ρyi2 xi2 ) = β ∗ β (1) + β ∗ yi2 xi2 ≥ 2α

                                                       β ∗ β (r) ≥ rα


 β (1)   2
             = xi1 yi1    2
                              ≤ γ 2,       β (2)   2
                                                       = β (1)+xi2 yi2   2
                                                                             = β (1)    2
                                                                                            +2 β (1) xi2 yi2 + xi2   2
                                                                                                                         <2
                                                                                 ≤γ 2               <0

                                                            r
                                            β   (r) 2
                                                        < ∑ xi      2
                                                                        ≤ rγ 2
                                                           =1

                β ∗ β (r)   rα
             (∗)
cos (β , β ) = ∗   (r)
                          > √ → ∞, если бы r → ∞
               β · β (r)     rγ
Количество итераций:   √
                         rα
                            <1
                         γ

                               γ2
                       rmax   = 2.
                               α
Недостатки

  1. Персептрон работает крайне медленно.
  2. Если данные линейно отделимы, то не известно, какую именно
     разделяющую гиперплоскость из возможных найдет алгоритм: это зависит от
     начального значения параметров β, β0, от порядка обхода точек, которые
     классифицируются не правильно, и от величины ρ.
  3. Если данные линейно не отделимы, то алгоритм может зациклиться, причем,
     как правило, наблюдается большая длина цикла, и зацикливание трудно
     распознать.
3.8. Нейронные сети

Нейронная сеть (или искусственная нейронная сеть — в отличие от
биологических, или многослойный персептрон) — ориентированный граф без
орциклов, вершинам которого соответствуют функции, а каждому входящему в
вершину ребру — ее аргумент.
Пороговая функция:
                                         1, если β0 + β1x1 + . . . + βq xq ≥ 0,
             g(x1, x2, . . . , xq ) =
                                         0, если β0 + β1x1 + . . . + βq xq < 0,

Сигмоидальная (логистическая) функция
                                                                   1
                         g(x1, x2, . . . , xq ) =
                                                    1 + e−(β0+β1 x1+...+βq xq )
В задаче классификации используются нейронные сети с K-выходами (по
количеству классов). При этом на k-м выходе часто используется softmax-функция
                                                              ezk
                                    gk (z1 , . . . , zK ) =   K
                                                              ∑ ez
                                                              =1
1, если x ≥ 0,
Элементарная пороговая функция y =
                                      0, если x < 0,
                                                           1
элементарный сигмоид (логистическая функция) y = σ(x) =
                                                        1 + e−x
1 1
 + arctg x
2 π



                                       1




                                       O                          x
Если узлы сети можно разбить на группы (слои), которые удается пронумеровать
так, что дуги будут вести только от вершин из i-го слоя в вершины (i + 1)-го слоя,
то нейронная сеть называется многоуровневой.
y1         y2          ...        yK           выходы




                 z1          z2        ......          zM         «скрытый» слой




            x1          x2        ...............              xp входы


             zm = σ(α0m + α1mx1 + . . . + αpmxp)                 (m = 1, 2, . . . , M )


                 tk = β0k + β1k z1 + . . . + βMk zM            (k = 1, 2, . . . , K)


             yk = fk (x1, . . . , xp) = gk (t1, . . . , tK )     (k = 1, 2, . . . , K)
В задаче восстановления регресии gk — тождественная функция.
В задаче классификации используются нейронные сети с K-выходами (по
количеству классов). При этом на k-м выходе часто используется softmax-функция
                                                      etk
                             gk (t1, . . . , tK ) =   K
                                                      ∑ et
                                                      =1

Классификатор работает по правилу

                              f (x) = argmax fk (x)
                                            k
3.8.1. Обучение нейронной сети

Настройка параметров

            θ = {α0m, αm, β0k , βk : m = 1, 2, . . . , M, k = 1, 2, . . . , K}

— всего M (p + 1) + K(M + 1) параметров.
В задачах регрессии минимизируют сумму квадратов
                                      K N
                                      ∑∑
                                                                2
                             R(θ) =             yik − fk (xi)
                                      k=1 i=1

В задачах классификации минимизируют сумму квадратов или кросс-энтропию
                                         K N
                             R(θ) = − ∑ ∑ yik log fk (xi)
                                        k=1 i=1

Алгоритм обратного распространения ошибки (back propagation) — это
применение алгоритма градиентного спуска для минимизации функции R(θ)
Рассмотим это подробнее для R(θ), равной сумме квадратов.
N                       K
                      R(θ) = ∑ Ri,                       ∑
                                                                                 2
                                             где Ri =            yik − fk (xi) ,
                                  i=1                    k=1

                            ∂Ri
                                 = −2 yik − fk (xi) gk (βk zi)zmi ,                             ( )
                            ∂βkm
                        K
               ∂Ri
                   = − ∑ 2 yik − fk (xi) gk (βk zi)βkmσ (αmxi)xi .                              ( )
               ∂αm     k=1

На (r + 1)-й итерации алгоритма градиентного спуска
                                        N                                       N
                                            ∂Ri                                      ∂Ri
              (r+1)
             βkm      =    (r)
                          βkm    − γr ∑       (r)
                                                    ,    (r+1)
                                                        αm       =    (r)
                                                                     αm     − γr ∑    (r)
                                                                                            ,   (+)
                                        i=1 ∂βkm                                i=1 ∂αm

Запишем ( ), ( ) в виде
                                 ∂Ri                    ∂Ri
                                      = δkizmi,             = εmixi
                                 ∂βkm                   ∂αm
Величины δki, εmi удовлетворяют уравнениям
                                         K
                           εmi = σ (αmxi) ∑ βkmδki.                       (++)
                                         k=1

Вычисления (+) на каждой итерации теперь могут быть вычислены за два шага.
Прямой шаг: текущие значения весов фиксируются и вычисляются значения fk (xi).
Обратный шаг: вычисляются δki и по формуле (++) вычисляются εmi.
Далее происходят вычисления по формуле (+), в которой используются
вычисленные значения δki и εmi.
На эти вычисления можно смотреть как на процедуру передачи сообщений от узла
нейронной сети к другим узлам.
При этом обмениваются сообшениями только узлы, соединенные дугами.
Классификация на основе трехслойной нейронной сети с 10 скрытыми узлами.
Построенный классификатор сильно зависит от начальных значений.




                   1.5
                                                     Train error = 0.155
                                                     Test error = 0.246
                                                     Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                            0.0     0.5        1.0              1.5

                                          x1
3.8.2. Переобучение

Регуляризация weight decay
Добавим штраф к функции ошибок: R(θ) + λJ(θ), где

                            J(θ) =   ∑ βkm + αm ,
                                        2     2
                                                                        ( )
                                     k,m

λ≥0
Вариант:
                                       2         2
                                      βkm       αm
                         J(θ) = ∑        2
                                            +      2
                                                     ,
                                k,m 1 + βkm   1 + αm
(малые коэффициенты подвергаются большему сокращению, чем это делает ( ))
Классификация на основе трехслойной нейронной сети с 10 скрытыми узлами и
коэффициентом decay weigth = 0.1




                   1.5
                                                     Train error = 0.17
                                                     Test error = 0.201
                                                     Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                            0.0     0.5        1.0              1.5

                                          x1
В примере      Ø× выборка размера 1934 была случайным образом разбита на две
группы по 967 объектов в каждой.
Для обучения использовалась трехслойная нейронная сеть с 8 элементами в с
крытом слое.

                                         Ошибка
          decay weight
                         на обучающей выборке на тестовой выборке
               0                0.009                0.114
               0.1                0                  0.086
               0.5                0                  0.058
              0.75                0                  0.047
               0.9              0.058                0.171
               1                0.058                0.200
Рукописные цифры, которые были не правильно классифицированы нейронной
сетью с decay weight = 0.75. Цифра рядом с каждым изображением — ответ
нейронной сети


              0    1    1    1     9    5    4    4    9     8


              4    9    6    4     1    5    1    4    5     2


              4    9    9    9     1    1    3    4    9     7


              0    4    8    3     9    1    9    9    9     4


              7    1    9    1     6
3.9. Оптимальная разделяющая гиперплоскость
Два класса
Разделяющая гиперплоскость
1




       0
           0                                  1



Желтая — разделяющая («нейтральная») полоса
Оптимальная разделяющая гиперплоскость — это гиперплоскость, разделяющая
объекты двух классов, такая, что расстояние от нее до ближайшей точки (из
каждого класса) максимально.
Т. е. оптимальная разделяющая гиперплоскость лежит в центре разделяющей
полосы и толщина этой полосы максимальна.
Если классы линейно разделимы, то оптимальная разделяющая гиперплоскость
единственна.
Она максимизирует зазор (margin) между плоскостью и данными из обучающей
выборки — это приводит, как правило, к хорошим результатам и на тестовых
данных.
Machine Learning. Курс лекций
Задача поиска оптимальной гиперплоскости эквивалентна следующей:

                                          max         C
                                       β, β0 , β =1

при ограничениях
                         yi(xi β + β0) ≥ C       (i = 1, 2, . . . , N )
или, что эквивалентно,
                                             1        2
                                       min β
                                       β, β0 2
при ограничениях
                         yi(xi β + β0) ≥ 1 (i = 1, 2, . . . , N ).
Во втором случае зазор равен 2/ β .
Получили задачу выпуклого программирования (минимизация квадратичной
функции при линейных ограничениях).
Запишем функцию Лагранжа
                                         N
                              1
                 L(β0, β, λ) = β   2
                                       + ∑ λi yi(xi β + β0) − 1 .
                              2         i=1

Приравнивая частные производные (по β0 и β) нулю, получим:
                             N                    N
                         0 = ∑ λiyi,          β = ∑ λiyixi.
                             i=1                  i=1

Откуда
                                    1 N N                   N
                L(λ) = L(β0, β, λ) = ∑ ∑ λiλk yiyk xi xk − ∑ λi.
                                    2 i=1 k=1              i=1

Тем самым задача сведена к минимизации L(λ) при ограничениях λi ≥ 0
(i = 1, 2, . . . , N ).
Для ее решении есть стандартные методы (и программное обеспечение).
Решение задачи удовлетворяет условию Куна–Таккера:

                   λi yi(xi β + β0) − 1 = 0     (i = 1, 2, . . . , N ),

откуда следует, что

   • если λi > 0, то yi(xi β + β0) = 1, т. е. xi лежит на границе разделяющей полосы
   • если yi(xi β + β0) > 1, т. е. xi не лежит на границе разделяющей полосы, то
     λi = 0

Точки, для которых yi(xi β + β0) = 1, называются опорными точками (support
points).
1
                C=      β




                    1
               C=   β




β0 + x β = 0
По построению, ни один объект из обучающей выборки не может попасть внутрь
разделяющей полосы. Однако в нее могут попасть тестовые объекты. Тем не
менее, даже в этом случае решающее правило, основанное на оптимальной
разделяющей гиперплоскости, показывает, как правило, хорошие результаты.
Расположение оптимальной разделяющей гиперплоскости полностью
определяется только опорными точками и не зависит от других точек обучающей
выборки. Такая робастность отличает метод, основанный на оптимальных
разделяющих гиперплоскостях, от LDA, в котором учитываются даже точки,
расположенные далеко от границы. Конечно, для нахождения самих опорных
точек мы должны принимать во внимание все точки обучающей выборки. Однако
если данные действительно подчиняются нормальному закону с равными
матрицами ковариации, то LDA — лучший выбор.
Разделяющая гиперплоскость, найденная с помощью логистической регрессии,
часто близка к оптимальной разделяющей гиперплоскости. Это можно объяснить
некоторой схожестью этих походов: на логистическую регрессии можно смотреть
как на взвешенный метод наименьших квадратов, причем веса тем больше, чем
ближе точка к границе.
Что делать, если данные линейно не разделимы?
Можно расширить базис, однако этот подход может привести к переобучению.
Рассмотрим более элегантный способ.
3.10. Классификатор опорных векторов

Предположим, что классы перекрываются. Рассмотрим задачу
                                          max            C
                                      β, β0, ξi , β =1

при ограничениях
                                                                        n
        yi(xi β + β0 ) ≥ C(1 − ξi),    ξi ≥ 0 (i = 1, 2, . . . , N ),   ∑ ξi ≤ K,
                                                                        i=1

где K — некоторая константа.
Случаю линейно-отделимых областей соответствует K = 0.
Здесь ξi пропорционально величине, на которую xi заходит за границу
разделяющей полосы.
В частности, i-й объект будет классифицирован не правильно, если и только если
ξi > 1.
Чем меньше K, тем меньше объектов будет классифицировано неправильно.
С другой стороны, параметр K должен быть достаточно велик, чтобы задача была
совместной.
1
                       C=       β




              ∗
             ξ2
                   ∗
                  ξ4


                            1
         ∗             C=   β
        ξ3
 ∗
ξ1


 β0 + x β = 0
Определяя C = 1/ β , мы можем избавиться от ограничения β = 1 и переписать
задачу в виде
                                         1
                                min        β 2,
                               β, β0, ξi 2
при ограничениях
                                                                     n
          yi(xi β + β0) ≥ 1 − ξi,   ξi ≥ 0 (i = 1, 2, . . . , N ),   ∑ ξi ≤ K.
                                                                     i=1

Задача заключается в минимизации квадратичной положительно определенной
функции при линейных ограничениях.
Запишем задачу в виде
                                                n
                                       1
                             min         β + γ ∑ ξi ,
                                          2
                            β, β0 , ξi 2
                                               i=1
при ограничениях

                yi(xi β + β0) ≥ 1 − ξi,    ξi ≥ 0 (i = 1, 2, . . . , N ),

где γ = 1/K. Случай линейно отделимых областей соответствует значению γ = ∞.
Функция Лагранжа для этой задачи имеет вид
                            n          N                                     N
             1
         LP = β     2
                        + γ ∑ ξi − ∑ λi yi(xi β + β0) − (1 − ξi) − ∑ µiξi.
             2             i=1         i=1                                  i=1

Положим производные относительно неизвестных β0, β, ξi равными нулю:
              N                  N
          0 = ∑ λiyi,     β = ∑ λiyixi,       λi = γ − µi      (i = 1, 2, . . . , N ).
             i=1                 i=1

Подставляя эти формулы в LP , получим двойственную функцию Лагранжа
                              1 N N                   N
                          LD = ∑ ∑ λiλj yiyj xi xj − ∑ λi.
                              2 i=1 j=1              i=1

LD необходимо минимизировать при ограничениях
                                                  N
                                0 ≤ λi ≤ γ,      ∑ λiyi = 0.
                                                  i=1

Для этой задачи (минимизации квадратичной функции на симплексе с
дополнительными ограничениями λi ≤ γ) есть стандартные методы решения.
Условия Куна–Таккера:

                           λi yi(xi β + β0) − (1 − ξi) = 0,

                                       µiξi = 0
Пусть β, β0, ξi, λi и т. д. — оптимальные значения соответствующих неизвестных.
Если λi = 0, то yi(xi β + β0) = 1 − ξi, т. е. i-е неравенство выполнено как равенство.
Таким образом, в формуле
                                         N
                                    β = ∑ λiyixi,
                                        i=1
в правой части остаются только слагаемые, соответствующие точкам, для которых
yi(xi β + β0) = 1 − ξi.
Эти точки (или наблюдения) называются опорными векторами, так как β зависит
только от них.
Среди этих точек некоторые могут лежать на границе разделяющей полосы
(ξi = 0).
Для них 0 < λi < γ. Для остальных опорных точек ξi > 0 и λi = γ.
Любая точка на границе разделяющей полосы может использоваться для
определения β0. На практике в качестве β0 берется среднее из всех значений,
определяемых по опорным векторам.
Итак, на расположение разделяющей гиперплоскости влияют только опорные
точки.
Это выгодно отличает данный классификатор от LDA, в котором граница областей
определяется матрицами ковариации и расположением центроидов, и,
следовательно, зависит от всех точек.
В рассматриваемом отношении классификатор опорных векторов больше похож
на логистическую регрессию.
1.5
                                  Train error = 0.195
                                  Test error = 0.235
                                  Bayes error = 0.21




     1.0
x2

     0.5
     0.0




           0.0   0.5        1.0              1.5

                       x1
3.11. Ядра и спрямляющие пространства

Перейдем от исходного пространства X в другое, называемое спрямляющее, H с
помощью некоторого отображения

                           h(x) = h1(x), . . . , hM (x) ,

где hm(x) — базисные функции (m = 1, 2, . . . , M ).
Новый классификатор определяется теперь функцией

                           f (x) = sign h(x) β + β0 .

Развитие этой идеи приводит к так называемой машине (алгоритму) опорных
векторов (support vector machine — SVM).
В формуле
                                           N
                                    β = ∑ λiyixi,
                                        i=1
заменяем xi на h(xi):
                                       N
                                  β = ∑ λiyih(xi),
                                      i=1

Двойственная функция Лагранжа

                             1 N N                   N
                         LD = ∑ ∑ λiλj yiyj xi xj − ∑ λi.
                             2 i=1 j=1              i=1

примет вид
                         1 N N                           N
                     LD = ∑ ∑ λiλj yiyj h(xi), h(xj ) − ∑ λi.
                         2 i=1 j=1                      i=1

Функция f (x) запишется как
                                               N
             f (x) = sign h(x) β + β0 = sign   ∑ λiyi   h(x), h(xi) + β0 .
                                               i=1
Мы видим, что h(x) встречается только в скалярном произведении h(x), h(xi) .
Таким образом, для определения классификатора опорных векторов нам
достаточно уметь вычислять лишь функцию

                           K(x, x ) = h(x), h(x ) .

Итак, мы можем заменить скалярное произведение функцией K(x, x ) и, более
того, вообще явно не строить спрямляющего пространства H , а подбирать
функцию K.
Можно совсем отказаться от построения новых признаков, а попробовать
построить модель, в которой описываются взаимоотнощения между объектами с
помощью функции K(x, x ).
Рассмотрим необходимые и достаточные условия, которым должна удовлетворять
функция K(x, x ).
Функция K : X × X → R называется ядром, если она представима в виде
K(x, x ) = h(x), h(x ) при некотором отображении h : X → H , где H —
евклидово (или гильбертово) пространство со скалярным произведением ·, · .

Теорема 3.6 (Мерсер) Функция K(x, x ) является ядром тогда и только тогда,
когда она симметрична, т. е. K(x, x ) = K(x , x), и неотрицательно определена,
т. е.
                             K(x, x )g(x)g(x )dxdx ≥ 0
                         X X

для всех g(x), для которых       g(x)2dx ограничено.
                             X


Примеры ядер:
полином степени d: K(x, x ) = (1 + x, x )d,
                                       2
радиальная функция: K(x, x ) = e− x−x /c,
сигмоидальная («нейронная») функция: K(x, x ) = tanh(κ1 x, x + κ2).
Пример

Рассмотрим пространство признаков размерности 2 с двумя входами x1, x2 и
полиномиальным ядром степени 2:

K(x, x ) = (1+ x, x )2 = (1+x1x1+x2x2)2 = 1+2x1x1+2x2x2+(x1x1)2+(x2x2)2+2x1x1x2x2.

Мы видим, что M = 6 и можно положить
                   √            √              2           2
                                                                     √
 h1(x) = 1, h2(x) = 2x1, h3(x) = 2x2, h4(x) = x1, h5(x) = x2, h6(x) = 2x1x2.

Тогда K(x, x ) = h(x), h(x ) .
Заметим, что это скалярное произведение имеет далеко не произвольный вид.
Например, веса у слагаемых 2x1x1 и 2x2x2 всегда совпадают.
Исследуем роль параметра γ в
                                                        n
                                          1
                                min         β   2
                                                    + γ ∑ ξi ,
                               β, β0 , ξi 2
                                                        i=1

учитывая, что классы в спрямляющем пространстве, как правило, можно
разделить.
Большое значение γ препятствует росту ξi, что, как правило, приводит к
переобучению и крайне извилистой границе между областями.
Маленькое значение γ способствует росту ξi и обычно приводит к более «прямой»
разделяющей поверхности.
SVM может быть рассмотрен как метод штрафов.
Можно показать, что наша задача сводится к задаче оптимизации
                            N
                    min ∑ 1 − yi h(xi) β + β0       + α β 2,
                    β, β0                       +
                            i=1

где [·]+ означает положительную часть.
Целевая функция имеет вид «потери + штраф».
SVM радиальное ядро, γ = 1/2




                   1.5
                                                      Train error = 0.17
                                                      Test error = 0.211
                                                      Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                               0.0   0.5        1.0              1.5

                                           x1
SVM радиальное ядро, γ = 5




                   1.5
                                                    Train error = 0.12
                                                    Test error = 0.245
                                                    Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                             0.0   0.5        1.0              1.5

                                         x1
SVM радиальное ядро, γ = 20




                   1.5
                                                     Train error = 0.06
                                                     Test error = 0.27
                                                     Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                              0.0   0.5        1.0             1.5

                                          x1
SVM радиальное ядро, γ = 50




                   1.5
                                                     Train error = 0.025
                                                     Test error = 0.304
                                                     Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                              0.0   0.5        1.0              1.5

                                          x1
SVM радиальное ядро, γ = 100




                   1.5
                                                      Train error = 0.015
                                                      Test error = 0.334
                                                      Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                               0.0   0.5        1.0              1.5

                                           x1
SVM радиальное ядро, γ = 500




                   1.5
                                                      Train error = 0.005
                                                      Test error = 0.432
                                                      Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                               0.0   0.5        1.0              1.5

                                           x1
SVM полиномиальное ядро (полином 3-й степени)




                   1.5
                                                     Train error = 0.205
                                                     Test error = 0.257
                                                     Bayes error = 0.21




                   1.0
              x2

                   0.5
                   0.0




                           0.0      0.5        1.0              1.5

                                          x1
Задача классификации рукописных цифр. Выборка размера 1934 была случайным
образом разбита на две группы по 967 объектов в каждой. γ = 1/1024
Ошибки на обучающей и тестовой выборках приведена в следующей таблице.

                                              Ошибка
               Ядро
                           на обучающей выборке на тестовой выборке
       Линейное                     0                      0.021
       Радиальное                 0.011                    0.030
       Полином 3 степени          0.090                    0.094
       Сигмоидальное              0.131                    0.125

Все случаи неправильной классификации цифр из тестовой выборки в случае
линейного ядра.
           5      9    2      8     8     3       9    0           4   3
           9      7    5      1     5     7       4    4           6   5

           1      6    5      6     9     4       1    8           7   0
           8      1    9      1     3     9       4    1           9   8
3.12. SVM и восстановление регрессии

Как SVM можно адаптировать к решению задачи восстановления регрессии?
Сначала рассмотрим линейную регрессионную модель
                                    f (x) = x β + β0.

Для восстановления β, β0 рассмотрим задачу минимизации функции
                                     N
                                                  α
                      H(β, β0) = ∑ V yi − f (xi) + β 2,
                                 i=1              2
где
                                      0,     если |t| < ε,
                  V (t) = Vε(t) =
                                      |t| − ε в противном случае.
Vε(t) — функция «ε-нечувствительности», игнорирующая ошибки, меньшие ε.
Можно провести аналогию с SV-классификатором, в которой точки,
расположенные далеко от разделяющей полосы (с «правильной» стороны) не
рассматриваются при построении классификатора.
В случае с регрессией такую роль играют точки с маленькой ошибкой |yi − f (xi)|.
Можно показать, что решение β, β0, минимизирующее функцию H(β, β0), можно
представить в виде
                            N                                 N
                    β=∑             ∗
                                  (αi   − αi)xi,       f (x) = ∑(αi − αi) x, xi + β0,
                                                                  ∗

                            i=1                               i=1
          ∗
где αi и αi являются решением следующей задачи квадратичного
программирования:
                N                         N
                                                              1 N ∗
      min ε ∑           ∗
                      (αi   + αi) − ∑              ∗
                                               yi(αi   − αi) + ∑ (αi − αi)(αj − αj ) xi, xj
                                                                            ∗
         ∗
      αi , αi   i=1                      i=1                  2 i,j=1
при ограничениях
                                                       N
                                   1
                                ∗
                       0 ≤ αi, αi ≤ ,
                                   λ                   ∑(αi∗ − αi) = 0,      ∗
                                                                          αiαi = 0.
                                                       i=1

Как и в случае задачи классификации, здесь решение зависит только от скалярных
произведений xi, xj , поэтому мы можем использовать аппарат спрямляющих
пространств и ядер.
В качестве функции V (t), можно было выбрать другую меру ошибки, например,
квадратичную V (t) = t2 или функцию, часто встречающуюся в робастной
регрессии
                              r2/2,       если |r| < c,
                   VH (r) =
                              c|r| − c2/2 в противном случае,
но важно свести все к задаче квадратичного программирования, содержащей
только скаларные произведения xi, xj .
3.13. Регрессия и ядра

SVM — не единственная модель, в которой могут использоваться ядра.
Рассмотрим, например, задачу аппроксимации функции f (x) (т. е. задачу
восстановления регрессии) при заданных базисных функциях h1(x), . . . , hm(x):
                                           M
                                f (x) =   ∑ βmhm(x) + β0.
                                          m=1

Будем минимизировать регуляризованную функцию потерь
                                      N
                                                            λ
                       H(β, β0) = ∑ V (yi − f (xi)) +         β 2.
                                     i=1                    2
Решение задачи минимизации имеет вид
                                M                      N
                     f (x) =   ∑ βmhm(x) + β0 = ∑ αiK(x, xi),
                               m=1                    i=1
где
                                               M
                               K(x, x ) =      ∑ hm(x)hm(x ).
                                               m=1
где α = (HH + I)−1y.
Как и в SVM, нет необходимости вычислять M значений функций
h1(x), . . . , hM (x) (и даже определять сами эти функции).
Достаточно вычислить только значения K(xi, xj ).
Удачный выбор функций hm (например, если в качестве них выбраны собственные
функции ядра) позволяет вычислить все эти значения за время N 2/2, а не N 2M ,
как при прямом умножении матриц.
3.14. Наивный байесовский классификатор

Пусть все компоненты случайной величины X = (X1 , . . . , Xp) дискретны.

                                     Pr {X = x |Y = y} · Pr {Y = y}
                 Pr {Y = y |X = x} =
                                              Pr {X = x}
Основное предположение наивного байесовского классификатора:
переменные X1, . . . , Xp условно независимы при любом заданном Y = y, т. е.
 Pr {X1 = x1, . . . , Xp = xp |Y = y} = Pr {X1 = x1 |Y = y} · . . . · Pr {Xp = xp |Y = y} ,

или, короче,
                                               p
                     Pr {X = x |Y = y} = ∏ Pr {Xj = xj |Y = y} .
                                              j=1

По принципу максимума апостериорной вероятности
                                                                n
f (x) = argmax Pr {Y = y |X = x} = argmax Pr {Y = y} · ∏ Pr {Xj = xj |Y = y} .
           y                              y                    j=1
Вероятности заменяем частотой:

                                       1
                        Pr {Y = y} ≈     | {i : yi = y} |
                                       N

                                          | {i : xij = xj } |
                    Pr {Xj = xj |Y = y} ≈
                                            | {i : yi = y} |
Задача: предсказать исход матча команды A с командой B по имеющимся данным
о предыдущих матчах.


     № Поле Ключевые игроки Ключевые игроки       Погода     Исход
                              противника
          X1          X2              X3            X4         Y
      1 свое   присутствуют     присутствуют     дождь     поражение
      2 чужое отсутствуют       отсутствуют      нет дождя победа
      3 свое   присутствуют     отсутствуют      нет дождя победа
      4 свое   присутствуют     отсутствуют      дождь     ничья
      5 чужое отсутствуют       присутствуют     дождь     поражение
      6 чужое присутствуют      присутствуют     нет дождя поражение
      7 чужое отсутствуют       присутствуют     нет дождя поражение
      8 свое   отсутствуют      отсутствуют      нет дождя ничья
      9 свое   присутствуют     отсутствуют      дождь     победа
     10 чужое присутствуют      отсутствуют      нет.дождя победа
Априорные вероятности: Y

                               победа ничья поражение
                                 0.4       0.2       0.4
Условные вероятности:

                        Поле                                 Ключевые игроки
            Y      свое чужое                    Y     отсутствуют присутствуют
          победа   0.50   0.50              победа          0.25          0.75
          ничья    1.00   0.00               ничья          0.50          0.50
     поражение 0.25       0.75             поражение        0.50          0.50

                Ключевые игроки противника                                    Погода
      Y         отсутствуют    присутствуют                   Y        дождь нет дождя
   победа           1                  0                    победа     0.25       0.75
    ничья           1                  0                     ничья     0.50       0.50
  поражение         0                  1                   поражение   0.50       0.50
Нужно предсказать Y ,
если X1 =    , X2 =                                              , X3 =                              , X4 =            .
                                      Pr {         |         ,                ,                  ,        }=
     Pr {        } · Pr {     |           } · Pr {                   |            } · Pr {                |        } · Pr {       |       }
 =                                                                                                                                             =
                                           Pr {      ,                    ,                  ,        }

                                      0.4 · 0.5 · 0.75 · 1 · 0.25 0.0375
                                  =                              =        = 0.4286
                                         0.0375 + 0.05 + 0         0.0875
                                    Pr {        |            ,                ,                  ,        }=
         Pr {      } · Pr {       |     } · Pr {                     |            } · Pr {                |      } · Pr {     |       }
     =                                                                                                                                    =
                                         Pr {        ,                    ,                  ,        }

                                        0.2 · 1 · 0.5 · 1 · 0.5    0.05
                                      =                         =        = 0.5714
                                         0.0375 + 0.05 + 0        0.0875
                              Pr {Y =                    |       ,                 ,                  ,        }=
     Pr {       º} · Pr {     |     º} · Pr {                        |        º} · Pr {                   |      º} · Pr {        |       º}
 =                                                                                                                                             =
                                      Pr {           ,                    ,                  ,        }

                                                 0.4 · 0.25 · 0.5 · 0 · 0.5
                                               =                            =0
                                                   0.0375 + 0.05 + 0
На обучающей выборке ошибка 0.1 (неправильно 9-й → ничья)
3.14.1. Сглаживание Лапласа

Пусть нужно предсказать Y ,
если X1 =            , X2 =                               , X3 =                 , X4 =             .
Вероятности заменяем частотой:

                                                      | {i : xi1 =                   }|
            Pr {X1 =                        |Y = y} ≈                                     =0
                                                              | {i : yi = y} |


 Pr {X1 =                      , X2 =                     , X3 =                 , X4 =             }=

= Pr {                 ,                     ,                   ,       |           } · Pr {       }+
 + Pr {                    ,                     ,                   ,       |       } · Pr {       }+
+ Pr {             ,                        ,                    ,       |                }·Pr {
                                                     =0

                                                                                                0
         Pr {      |                    ,                    ,               ,             }=
                                                                                                0
0
      Pr {      |                ,              ,         ,        }=
                                                                        0
                                                                        0
    Pr {            |                ,              ,         ,      }=
                                                                        0
Сглаживание Лапласа:

                                             | {i : xij = xj } | + 1
                        Pr {Xj = xj |Y = y} ≈                        ,
                                              | {i : yi = y} | + sj
где sj — количество значений, которые принимает случайная величина Xj .
Легко видеть, что тогда
                               | {i : xij = xj } | + 1
                           ∑ | {i : yi = y} | + sj = 1,
                            xj

Априорные вероятности Y (не изменятся):

                               победа ничья поражение
                                 0.4     0.2        0.4
Поле                                  Ключевые игроки
   Y        свое чужое нейтральное              Y        отсутствуют присутствуют
 победа     3/7    3/7          1/7           победа          0.25             0.75
  ничья     3/5    1/5          1/5           ничья           0.50             0.50
поражение 2/7      4/5          1/7      поражение            0.50             0.50

            Ключевые игроки противника                                      Погода
    Y       отсутствуют        присутствуют               Y          дождь нет дождя
 победа           5/6              1/6                  победа        2/3       1/3
  ничья           3/4              1/4                   ничья        1/2       1/2
поражение         1/6              5/6                 поражение      1/2       1/2
Предсказать Y ,
если X1 =                        , X2 =                                           , X3 =                                                  , X4 =                      .
                       Pr {           |                           ,                       ,                           ,                       }=
    Pr {    } · Pr {            |                  } · Pr {                       |                    } · Pr {                           |            } · Pr {           |
=
                                    Pr {                              ,                       ,                           ,                   }
                                           2/5 · 1/7 · 2/3 · 5/6 · 2/3 0.0212
                                                                      =       = 0.6817
                                           0.0212 + 0.0075 + 0.0024 0.0311

                        Pr {          |                           ,                       ,                           ,                   }=
    Pr {   } · Pr {             |             } · Pr {                        |               } · Pr {                            |               } · Pr {        |           }
=
                               Pr {                           ,                       ,                           ,                   }
                                              1/5 · 1/5 · 1/2 · 3/4 · 1/2 0.0075
                                          =                              =       = 0.2416
                                              0.0212 + 0.0075 + 0.0024 0.0311

                       Pr {                   |                           ,                       ,                           ,                   }
    Pr {   º} · Pr {            |                 º} · Pr {                       |                   º} · Pr {                           |           º} · Pr {           |
=
                                    Pr {                              ,                       ,                           ,                   }
                                              2/5 · 1/7 · 1/2 · 1/6 · 1/2 0.0024
                                          =                              =       = 0.0767
                                              0.0212 + 0.0075 + 0.0024 0.0311
Глава 4
Деревья решений
4.1. Введение

Деревья решений используются для решения задач классификации и
восстановления регрессии.
В этом подходе пространство признаков разбивается на параллелепипеды со
сторонами, параллельными осям координат (ящики), и в каждом ящике ответ
аппроксимируется с помощью некоторой простой модели, например, константой.
При этом используются только рекурсивные бинарные (гильотинные) разбиения.
Разбиение на области в задаче классификации цветов ириса. X1, X2 — длина и
ширина чашелистика.
2.5
                                                     virginica




                 2.0
X2 petal width

                 1.5
                 1.0       setosa


                                        versicolor               virginica
                 0.5




                       1        2   3          4           5        6        7

                                        X1 petal length
Дерево решений в задаче классификации цветов ириса
                        Petal.Length <> 2.45




                 1                         Petal.Width <> 1.75
               setosa
               50 obs


                              Petal.Length <> 4.95               4
                                                             virginica
                                                              46 obs


                               2                  3
                           versicolor          virginica
                            48 obs              6 obs
Вначале разбиваем ограничивающий прямоугольник на две области прямой
вертикальной линией X1 = 2.45. Затем правый из полученных прямоугольников
разбиваем горизонтальной линией X2 = 1.75. И, наконец, правый нижний
прямоугольник разбиваем вертикальной линией X1 = 4.95. Получаем разбиение
ограничивающего прямоугольника на 4 области. Каждая область соответсвует
одному классу. В данном примере, класс virginica представлен двумя областями.
Если рассматривается задача восстановления регрессии, то в каждой области Y
аппроксимируется константой.
Основное преимущество деревьев решений — хорошая интерпретация на
исходном языке задачи (в отличие, например, от нейронных сетей или SVM).
Например, в нашем случае эта интерпретация выглядит следующим образом. Если
длина чашелистика меньше 2.45, то цветок — setosa. В противном случае, если
ширина чашелистика больше 1.75, то цветок — virginica и т. д.
Если пространство признаков имеет размерность больше двух, то разбиения,
аналогичные двумерному разбиению на рис., трудно изобразить графически, но
аппарат деревьев решений хорошо работает и в этом случае.
4.2. Построение регрессионых деревьев

Как обычно, имеем p входов, 1 выход и N наблюдений (xi, yi), где

                     xi = (xi1, xi2, . . . , xip) (i = 1, 2, . . . , N ).

Предположим, что мы имеем разбиение Rp на M областей:

                                    R1 , R2 , . . . , RM .

В области Rm переменная Y аппроксимируется константой cm:

               если x ∈ Rm, то Y ≈ f (x) = cm                (m = 1, 2, . . . , M ).
Для определения cm будем минимизировать среднеквадратичную ошибку

                                 ∑      (yi − f (xi))2.
                               xi ∈Rm

Легко видеть, что тогда оптимальное значение для cm будет среднее по всем yi,
для которых xi ∈ Rm:
                             cm = ave {yi | xi ∈ Rm} .
Задача определения самог´ оптимального разбиения (если в качестве критерия
                        о
рассматривается минимизация общей среднеквадратичной ошибки) является
NP-полной задачей, поэтому используются различные приближенные подходы к
ее решению.
Рассмотрим, например, жадный алгоритм.
На каждом шаге будем выбирать переменную j и точку разбиения s так, чтобы
минимизировать среднеквадратичную оценку:

               min min
                j, s   c1
                                ∑          (yi − c1)2 + min
                                                        c2
                                                                 ∑          (yi − c2)2 ,   (4)
                            xi ∈R1 (j,s)                      xi∈R2 (j,s)

где
              R1 (j, s) = {X | Xj ≤ s} ,               R2(j, s) = {X | Xj > s} .
Внутренние минимумы в (4) достигаются в точках

           c1 = ave {yi | xi ∈ R1(j, s)} ,             c2 = ave {yi | xi ∈ R2 (j, s)} .

Внешний минимум в (4) можно легко найти с помощью перебора (достаточно
рассмотреть только конечное множество возможных точек разбиения s).
После этого процесс повторяется для каждой из двух полученных областей.
Когда останавливаться?

  • Слишком большое дерево может привести к переобучению.
  • Слишком маленькое дерево может не отражать некоторых существенных
    моментов.

Возможный критерий: остановить работу, как только изменение (от итерации к
следующей) общей суммарой ошибки становится меньше некоторого порогового
значения.
Более предпочтительная стратегия:
Вначале построение дерева осуществляется алгоритмом, описанным выше, и
заканчивается, лишь только достигнут некоторый минимальный размер узла
(количество объектов, относящихся к узлу), например, 5. После этого
осуществляется отсечение (pruning).
Пусть T0 — дерево, построенное на первом этапе алгоритма,
T ⊆ T0 — поддерево, полученное из T0 отсечением некоторых внутренних узлов
(вместе со всеми поддеревьями, выходящими из них).
Пусть m — номер листа дерева T , Rm — соответствующая область,
|T | — количество листьев в дереве T .
Рассмотрим критерий, заключающийся в минимизации функции
                                         |T |
                            Cκ(T ) =     ∑ NmQm(T ) + κ|T |,
                                         m=1

где
                      1                                 1
               cm =
                      N    ∑       yi,      Qm(T ) =        ∑ (yi − cm)2,
                                                       Nm xi∈Rm
                                                                            (5)
                          xi ∈Rm

κ — некоторый настроечный параметр.
Пусть Tκ получено из T0 в результате минимизации Cκ(T ).
Параметр κ регулирует соотношение между его размером и «качеством». Большое
значение κ приводит к маленьким деревьям. Малые значения κ — наоборот, к
большим деревьям. При κ = 0 получаем само дерево T0.
Можно показать, что для каждого значения κ дерево Tκ единственно.
Следующая процедура позволяет найти Tκ.
У дерева T0 будем последовательно обрезать те внутренние узлы, удаление
которых приводит к наименьшему увеличению значения
                                 |T |
                                ∑ NmQm(T ).
                                m=1

Процедуру последовательного отсечения можно продолжать до тех пор, пока не
будет получено дерево, состоящее из одного узла (корня).
Можно показать, что для любого κ среди построенных таким образом деревьев
содержится дерево Tκ.
Параметр κ подбирается так, чтобы минимизировать сумму квадратов в методе
перекрестного (скользящего) контроля (cross validation).
4.3. Построение классификационных деревьев

Общая схема алгоритма построения дерева для решения задачи классификации
такая же, как и для задачи восстановления регрессии.
Необходимо только скорректировать определение меры ошибки, аналогичной
Qm(T ) из (5)
Будем считать, что имеется K классов, пронумерованных числами 1, 2, . . . , K.
Пусть m — лист дерева.
Ему соответствует область Rm, в которую попало Nm объектов обучающей
выборки.
Определим
                                    1
                             pmk =      ∑ I(yi = k)
                                   Nm xi∈Rm
— долю объектов k-го класса среди всех объектов, которые попали в область Rm.
Область Rm будет отнесена к классу k(m) = argmax pkm.
                                              k
В качестве Qm(T ) можно рассматривать различные функции, например:

  • Misclassification (ошибка отнесения к другому классу)
                        1
                Qm =       ∑ I(yi = k(m)) = 1 − max pkm = 1 − pk(m), m.
                       Nm i∈Rm                   k


  • Индекс К. Джини
                                        K                           K
                   Qm =   ∑ pmk pmk = ∑ pmk (1 − pmk ) = 1 − ∑ p2 .
                                                                mk
                          k=k          k=1                         k=1


  • Энтропия
                                             K
                                 Qm = − ∑ pmk log pmk .
                                         k=1


Если K = 2, то эти функции равны соответственно
          1 − max {p, 1 − p} ,   p(1 − p),       −p log p − (1 − p) log(1 − p),
где p — доля объектов 1-го класса, попавших в область Rm.
Q(p)


                  1




                                и
                              ин
                                                             Энтропия




                                          M
                           Дж




                                           i sc
                                               las
                         2×




                                               si f
                                                   ica
                                                      tio
                                                         n
                                                                        p
                  0                 0.5                          1

Эти функции похожи друг на друга, но индекс Джини и энтропия являются
гладкими функциями и поэтому более податливы для численной оптимизации.
Легко видеть, что каждая из трех приведенных функций равна нулю тогда и
только тогда, когда в узле присутствуют объекты только одного класса. В
остальных случаях функции положительны.
Дадим две интерпретации индексу Джини.
Вместо того, чтобы в некотором листе m классифицировать объект по
большинству голосов, мы можем относить объект к классу k с вероятностью pmk .
В этом случае средняя ошибка на обучающей выборке равна индексу Джини
 ∑ pmk pmk .
k=k
Другая интерпретация связана с кодированием наблюдений единицей для k-го
класса и нулем для всех остальных, то дисперсия в этом листе равна pmk (1 − pmk ).
Тогда сумма по все классам снова дает индекс Джини.
Machine Learning. Курс лекций
Глава 5
Оценка качества обучения

(Предсказательная способность алгоритмов)
План

 • Смещение и разброс
 • Экспериментальные методы оценки качества обучения:

       – Метод перекрестного (скользящего) контроля
       – Бутстрэп

 • Элементы теории Вапника–Червоненкиса
X — множество объектов
Y — множество ответов
Неизвестная функция f ∗ : X → Y
Значение функции f ∗ известно на множестве объектов x1, x2, . . . , xN :

                           f ∗(xi) = yi   (i = 1, 2, . . . , N ).

Последовательность (x1, y1 ), . . . , (xN , yN ) — обучающая выборка.
Представитель (xi, yi) обучающей выборки — прецедент.
Задача обучения по прецедентам — в некотором классе F найти эффективно
вычислимую функцию f : X → Y , для которой f (xi) = yi (точно или
приближенно).
Кроме этого, функция f должна обладать обобщающим свойством, т. е. равенство
f (x) = f ∗(x) (точное или приближенное) должно выполняться не только для
объектов обучающей выборки, но также, по возможности, и для других объектов
из X .
Пусть X и Y — вероятностные пространства, на которых определены случайные
величины X и Y с функциями распределения Pr X, Pr Y соответственно.
Для оценки качества алгоритма обучения вводится функция потерь L(f (x)| y).
Например, для задачи восстановления регрессии:
                                                        2
                              L(f (x)| y) = y − f (x)


                               L(f (x)| y) = |y − f (x)|
Для задачи классификации: индикаторная функция

                                                 0, если y = f (x),
                  L(f (x)| y) = I(y = f (x)) =
                                                 1, если y = f (x)
Ошибку на всем множестве X характеризует ожидаемый риск, или ошибка
предсказания, или ошибка обобщения, — математическое ожидание функции
потерь
                              R = E L f (X)| Y .
Ошибку алгоритма f на обучающей выборке характеризует эмпирический риск —
среднее значение функции потерь:
                                  N
                              1
                           R=
                              N   ∑ L(f (xi)| yi).
                                  i=1
Если данных достаточно, то их делят
   • на обучающую (train) выборку,
   • на проверочную (validation) выборку,
   • на тестовую (test) выборку.

                      Train                       Validation          Test


Обучающая выборка используется для построения моделей f .
Проверочная — для оценки оценки среднего риска каждой из построенной модели
и выбора наилучшей модели.
Тестовая — для оценки ошибки предсказания выбранной модели.
Пусть (x1 , y1), (x2 , y2), . . . , (xN , yN ) — тестовая или проверочная выборка, тогда
среднее значение функции потерь
                                       N
                                   1
                                   N   ∑L    f (xi)| yi
                                       i=1
является несмещенной оценкой риска R.
Ошибка




         Test




         Train


                 Сложность модел
5.1. Смещение и разброс


                            Bias = E f (X) − Y
— смещение, показывающее, на сколько среднее значение функции f отличается
от истинного среднего

                                                       2
                          Var = E f (X) − E f (X)
— дисперсия (разброс) — ожидаемое квадратичное отклонение f (x) от своего
среднего
Как правило, с ростом сложности модели смещение (по абсолютной величине)
уменьшается, а разброс растет.
При некоторых дополнительных предположениях (см. ниже), можно получить
разложение ошибки в сумму

                           R(f ) = R∗ + Bias2 + Var,

где R∗ — неустранимая ошибка (неустранимый риск).
Пусть (в задаче восстановления регрессии) Y = f ∗ (X) + ε, где ε — случайная
величина с E ε = 0 и Var ε = σ 2.
Ошибка, совершаемая алгоритмом f , если на входе имеем объект x (x задан, f
случайна, так как зависит от выборки):
                                                                    2
                               R(x) = E             Y − f (x) |X = x

                                  2                                                                      2
       = E f ∗(x) + ε − f (x)         = E ε2 + 2 f ∗(x) − f (x) E ε +E f ∗(x) − f (x) .
                                           σ2                       0
                                      2                    2                                      2
                E f ∗(x) − f (x)          = f ∗ (x)            − 2f ∗ (x) E f (x) + E f (x)

                2                                          2               2                  2               2
     = f ∗(x)       − 2f ∗(x) E f (x) + E f (x)                + E f (x)       − 2 E f (x)        + E f (x)

                                                       2                                2
                          = f ∗(x) − E f (x)               + E f (x) − E f (x)
Поэтому
                                                2                                2
       R(x) = σ 2 + f ∗(x) − E f (x)                + E f (x) − E f (x)              = σ 2 + Bias2 + Var .
2                         2
       R(x) = σ 2 + f ∗(x) − E f (x)       + E f (x) − E f (x)       = σ 2 + Bias2 + Var .
Здесь σ 2 характеризует неустранимую ошибку
Bias — это смещение, показывающее, на сколько среднее значение функции f
отличается от истинного среднего
Var — дисперсия (разброс) — ожидаемое квадратичное отклонение f (x) от своего
среднего
Обычно, чем сложнее используемая модель, тем больше разброс и меньше
смещение.
С уменьшением сложности модели, наоборот, уменьшается разброс, но
увеличивается смещение.
Таким образом, нужно выбрать модель с не очень большим и не очень маленьким
смещением и не очень большим и не очень маленьким разбросом (Bias-Variance
Trade-off)
Рассмотрим, например, регрессию методом k ближайших соседей.
Будем считать, что xi — фиксированы, а Y = f ∗ (x) + ε, E ε = 0, Var ε = σ 2.

                                                     2
                 R(x) = E            Y − f (x) |X = x = σ 2 + Bias2 + Var =

                                                             2                                 2
                      = σ 2 + f ∗(x) − E f (x)                   + E f (x) − E f (x)               =

                                               2                                                                            2
                      1                                      1                                  1
  = σ2 +   f ∗(x) −
                      k    ∑        f ∗(x )        +E
                                                             k       ∑       f ∗(x ) + ε −
                                                                                                k       ∑        f ∗ (x )       =
                          ∈Nk (x)                                 ∈Nk (x)                              ∈Nk (x)

                                                                                   2
                                                1                                       σ2
                           =σ +2           ∗
                                        f (x) −
                                                k                ∑       ∗
                                                                       f (x )          + .
                                                                                        k
                                                             ∈Nk (x)

так как
                                       1                                       1
                  E f (x) = E
                                       k       ∑         ∗
                                                     f (x ) + ε              =
                                                                               k    ∑        f ∗(x ).
                                           ∈Nk (x)                                 ∈Nk (x)

Если k растет, то Bias растет (если функция достаточно гладкая), Var падает.
Теперь рассмотрим задачу восстановления регрессии y = f (x) = β x методом
наименьших квадратов.

                                      2
               R(x) = E    Y − f (x) |X = x = σ 2 + Bias2 + Var =

                                             2                         2
                 = σ 2 + f ∗(x) − E f (x)        + E f (x) − E f (x)       =

                                             2
                  = σ 2 + f ∗(x) − E f (x)           + σ 2 X(X X)−1 x 2.
Для гребневой регрессии:
                                                 2
             R(x) = σ 2 + f ∗(x) − E f (x)           + σ 2 X(X X + αI)−1 x 2.
5.2. Экспериментальная оценка качества обучения

5.2.1. Метод перекрестного (скользящего) контроля

Разобьем имеющиеся данные на две части:

                   Train                            Test

                    N1                              N2


Модель обучим на обучающей (train) выборке, а оценку ошибки произведем на
тестовой (test) выборке.
Так как выборки не пересекаются, что оценка R1 ошибки будет несмещенной.
Поменяем выборки ролями. Получим новую несмещенную оценку R2 ошибки.
Очевидно, что среднее взвешенное (с любыми весами) оценок R1 и R2 также
является несмещенной оценкой.
Обобщение этой процедуры называется методом перекрестного (скользящего)
контроля (cross-validation).
Случайным образом разобьем исходную выборку на K непересекающихся
примерно равных по размеру частей:


       Train          Train           Train           Test           Train


Последовательно каждую из этих частей рассмотрим в качестве тестовой
выборки, а объединение остальных частей — в качестве обучающей выборки.
Таким образом построим K моделей fk (k = 1, 2, . . . , K) и соответственно K
оценок для ошибки предсказания.
В качестве окончательной оценки ошибки возьмем их среднее взвешенное.
Более подробно. Пусть κ : 1, 2, . . . , N → 1, 2, . . . , K — функция, которая номеру
прецедента ставит в соответствие номер его группы.
fk — модель, вычисленная по данным, из которых были удалены прецеденты k-й
группы.
Тогда оценка ошибки предсказания, полученная K-кратным методом
перекрестного, или скользящего, контроля (cross-validation method), есть
                                       N
                                   1
                              CV =
                                   N   ∑ L(yi, fκ(i)(xi)).
                                       i=1

Часто используемые значения K: K = 5 или K = 10.
K = N — метод перекрестного контроля с одним отделяемым элементом
(leave-one-out cross-validation, LOO).
Метод перекрестного контроля можно использовать для выбора параметра модели.
Пусть F = {f (x, α) : α} — параметризованный класс функций.
Для выбора подходящей модели найдем то значение α, на котором
                                    N
                                1
                        CV(α) =
                                N   ∑ L(yi, fκ(i)(xi, α))
                                    i=1

достигает своего минимума.
Перекрестный контроль для задачи классификации методом k ближайших соседей.

                              Train
                              Test
                              LOO




                    0.4
                              5−CV
                              10−CV
                              Bayes

                    0.3
              err

                    0.2
                    0.1
                    0.0




                          0           50   100   150     200

                                            k
Какое значение K использовать?
Если K = N , то разброс, по-видимому, может быть большим, так как обучающие
выборки слишком похожи друг на друга.
Небольшие значения K приводят к маленькому разбросу, но используемые для
обучения выборки могут быть слишком малы.
Метод перекрестного контроля можно использовать также для оценки точности
определения любых параметров генеральной совокупности по выборке.
5.2.2. Бутстрэп-метод

Бутстрэп (вootstrap), как и метод перекрестного контроля, — общий
статистический метод для оценки точности определения параметров генеральной
совокупности по выборке.
Основное отличие от перекрестного контроля — выборки (обучающая и тестовая)
могут пересекаться.
Рассмотрим, как этот метод применяется к оценке ошибки обучения.
Пусть (x1 , yx), . . . , (xN , yN ) — обучающая выборка.
Путем N -кратного изъятия с возвращением случайных элементов из этой выборки
построим новую выборку.
Изъятие происходит N раз с возвращением, поэтому новая выборка также будет
иметь N прецедентов, возможно с повторениями.
Таким образом генерируем B (например, B = 100) новых выборок.
Каждую из них рассмотрим как обучающую.
Пусть fb (x) — функция, построенная по b-й выборке (b = 1, 2, . . . , B).
Обобщающую способность функции fb(x) будем оценивать по исходным данным:
                                          B N
                                    1 1
                       err boot   =
                                    BN    ∑∑L       yi, fb(xi) .
                                          b=1 i=1

(таким образом, строим B моделей, каждую из которых проверяем на исходной
выборке и берем среднее)
Эта оценка в общем случае будет слишком оптимистичной.
Причина — обучающая и тестовая выборки могут перекрываться.
Рассмотрим, например, задачу классификации объектов на 2 класса.
В каждом классе одинаковое число прецедентов.
Пусть случайные величины X и Y независимы.
Будем использовать метод ближайшего соседа.
Тогда R = 0.5.
Оценим err boot.
                  
                   0,
                        если i-й объект имеется в b-й выборке,
                  
L(yi, fb(xi)) =     0    с вероятностью 0.5,
                  
                                                 если i-го объекта нет в b-й выборке.
                  1     с вероятностью 0.5,
Вероятность того, что i-й объект принадлежит b-й выборке (b фиксировано), равна
                                                           N
                                               1
       Pr {i-й объект ∈ b-й выборке} = 1 − 1 −                 ≈ 1 − e−1 ≈ 0.632,
                                               N
поэтому ожидаемое значение для err boot равно
                          0.5 × (1 − 0.632) = 0.5 × 0.368 = 0.184,
что намного меньше R = 0.5.
Подражая методу перекрестного контроля с одним отделяемым объектом, запишем
                                 N
                             1       1
                       err =
                             N   ∑ |C −i| ∑−1 L yi, fb(xi) ,
                                 i=1     b∈C

где C −1 — множество номеров тех выборок, которые не содержат i-го прецедента.
Слагаемые, для которых |C −i| = 0, опустим.
Среднее число различных прецедентов в каждой выборке равно 0.632N , поэтому
смещение для них примерно совпадает со смещением в 2-кратном перекрестном
контроле.
«0.632-оценка» определяется по формуле

                        err0.632 = 0.368 · err +0.632 · err .

Интуитивно понятно, что слагаемое 0.368 · err должно приблизить оценку err к
реальной R, тем самым сократив смещение.
«0.632-оценка» часто приводит к хорошим результатам, но иногда проваливается.
Тот же пример.
Имеем err = 0, E (err ) = 0.5, поэтому E (err0.632) = 0.632 × 0.5 = 0.316, тогда как
R = 0.5.
Можно попробовать улучшить «0.632-оценку», если учесть объем переобучения.
Вначале определим «ошибку в услових отсутствия информации»

                                 1 N N
                             γ = 2 ∑ ∑ L yi, f (xi ) .
                                N i=1 i =1

Это оценка ошибки в случае, когда объекты и метки классов появляются случайно
и независимо.
Новая оценка:
                        err0.632+ = (1 − w) · err +w · err ,
где
                                0.632              err − err
                        w=              ,     R=             .
                             1 − 0.368R             γ − err
R — в пределах от 0, когда err = err, т. е. нет переобучения, до 1, когда err = γ.
w лежит в пределах от 0.632, когда R = 0, до 1, когда R = 1.
Таким образом, оценка err0.632+ занимает промежуточное положение между err и
err и учитывает объем переобучения.
Для примера с двумя классами w = R = 1, поэтому err0.632+ = err , а E (err ) = 0.5.
Глава 6
Комбинирование слабых классификаторов
План

 • Простое и взвешенное голосование
 • Бустинг

       – Простая схема
       – AdaBoost
       – Бустинг и аддитивные модели
       – Бустинг-деревья
       – Градиентный бустинг (MART)

 • Баггинг
Комбинирование классификаторов, или аркинг (arcing — adaptive reweighting and
combining).
6.1. Простое и взвешенное голосования

Рассмотрим задачу классификации на K классов.
                                    Y = {1, 2, . . . , K} .
Пусть имеется M классификаторов («экспертов») f1, f2, . . . , fM
                fm : X → Y ,             fm ∈ F ,         (m = 1, 2, . . . , M )
Построим новый классификатор:
простое голосование:
                                                  M
                                f (x) = max
                                      k=1,...,K
                                                  ∑ I(fm(x) = k),
                                                  m=1

взвешенное (выпуклая комбинация классификаторов, или «смесь экспертов»):
                          M                                                M
          f (x) = max
                 k=1,...,K
                           ∑ αm · I(fm(x) = k),           αm ≥ 0,         ∑ αm = 1,
                          m=1                                             m=1
или
                    M                                                       M
      f (x) = max
            k=1,...,K
                      ∑ αm(x) · I(fm(x) = k),            αm(x) ≥ 0,         ∑ αm(x) = 1.
                    m=1                                                     m=1
В задаче восстановления регрессии
простое голосование:
                                             M
                                        1
                                f (x) =
                                        M   ∑ fm(x),
                                            m=1

взвешенное голосование («смесь экспертов»):
                     M                                   M
           f (x) =   ∑ αm(x) · fm(x),       αm(x) ≥ 0,   ∑ αm(x) = 1.
                     m=1                                 m=1
Пример: K = 2, M = 3.
Решение принимается с использованием простого голосования.
Пусть классификаторы независимы (!).
p — вероятность ошибки каждого отдельного классификатора.
Тогда вероятность ошибки общего решения (ожидаемый риск) равен

                       R = p3 + 3p2(1 − p) = 3p2 − 2p3.
R = 3p2 − 2p3.
1.0
    0.8
    0.6
R

    0.4
    0.2
    0.0




          0.0   0.2   0.4       0.6   0.8   1.0

                            p
1.0
                M=1
                M=3
                M = 15




    0.8
    0.6
R

    0.4
    0.2
    0.0




          0.0     0.2    0.4       0.6   0.8   1.0

                               p
1
p>     — плохой классификатор,
     2
   1
p = — toss up a coin
   2
    1
p = − ε — хороший, но слабый классификатор (ε мало)
    2
p = ε — сильный классификатор
Можно ли научиться комбинировать слабые классификаторы, чтобы получить
сильный?
Точность можно улучшить, если

  • увеличить p (уменьшить ошибку) каждого отдельного классификатора,
  • уменьшить зависимость между классификаторами.
6.2. Бустинг

[R.E. Schapire, 1990]
Идея: если уж так сложно добиться независимости экспертов, давайте попробуем
строить последовательность классификаторов, каждый из которых осведомлен об
ошибках предыдущих.
Пусть для простоты только два класса {−1, 1}.
6.2.1. Простая схема

3 классификатора
begin
        f1 обучается на N прецедентах
        f2 обучается на N прецедентах,
              таких что f1 ровно на половине дает верный ответ
        f3 обучается на N прецедентах, на которых f1(x) = f2(x)
                           3
        return f = sign   ∑ fm
                          m=1
end
Откуда брать данные для новых обучающих выборок?
— Например, из исходной обучающей выборки путем изъятия с возвращением.
6.2.2. AdaBoost

(от Adaptive Boosting) [Freund, Schapire, 1995]
Будем использовать веса w1, w2, . . . , wN .
На первой итерации wi = 1/N (i = 1, 2, . . . , N ) и алгоритм построения f1 работает
в обычном режиме.
На m-й итерации увеличиваются веса тех прецедентов, на которых на (m − 1)-й
итерации была допущена ошибка, и уменьшаются веса тех прецедентов, которые
на предыдущей итерации были классифицированы правильно.
begin
        Положить wi ← 1/N (i = 1, 2, . . . , N )
        for m = 1, 2, . . . , M
            Найти классификатор fm ∈ Fm, минимизирующий ошибку
                          N
                 errm = ∑ wi · I yi = fm(xi)
                          i=1
                            1 1 − errm
              Вычислить αm ← ln
                            2   errm
                                                                   yi fm (xi)
                                                          errm
              wi ← wi exp −αm yi fm(xi) =                                       (i = 1, 2, . . . , N )
                                                        1 − errm
                          N
              wi ← wi     ∑ wi      (i = 1, 2, . . . , N )
                          i=1
        end
                                M
        return f = sign         ∑ αmfm
                              m=1
end
1
Теорема 6.1 Если errm ≤  − εm, то для эмпирической ошибки err f итогового
                       2
классификатора справедливо
                      M                                  M                        M
            err f ≤   ∏     2 errm(1 − errm) =          ∏     1 − 4ε2 ≤ exp −2
                                                                    m             ∑ ε2
                                                                                     m      .
                      m=1                               m=1                       m=1


Д ОКАЗАТЕЛЬСТВО . zm — нормировочный множитель на m-й итерации.

                                            (M)     1 e−yif (xi)
                                           wi     =  ·           .
                                                    N ∏m zm

                            N                       N                M                M
                    1                          1
            err f =
                    N     ∑   I(yi = f (xi)) ≤
                                               N   ∑ exp      −yi    ∑ αmfm(xi)   =   ∏ zm.
                          i=1                      i=1              m=1               m=1


      N                                     N                             N
zm = ∑ wi exp −αmyifm(xi) = ∑ wi eαm I(yi = fm(xi)) + ∑ wi e−αm I(yi = fm(xi)) =
        m                      m                         m

      i=1                                  i=1                            i=1

        αm                      −αm
                                         √
= errm e      + (1 − errm)e           = 2 errm(1 − errm).
Теорема 6.2 Для ошибки предсказания Err f алгоритма AdaBoost справедливо

                                            M ·v
                        Err f = err f + O          ,
                                             N

где v = VC(fm) — размерность Вапника–Червоненкиса для класса Fm
(m = 1, 2, . . . , M ).

Большое M — возможно переобучение.
Как минимизировать ошибку errm (как учитывать веса wi)?
— Некоторые алгоритмы обучения принимают на вход веса wi.
Если это не возможно, то каждой итерации проводить повторную выборку из
исходной выборки (x1, y1), (x2, y2), . . . , (xN , yN ), изымая (с возвращением) i-й
элемент с вероятностью wi.
В качестве примера рассмотрим задачу классификации с двумя классами:
Слабые классификаторы — деревья решений высоты 1 (stumps)
M =1




            1.5
                                         Train error = 0.195
                                         Test error = 0.233
                                         Bayes error = 0.21




            1.0
       x2

            0.5
            0.0




                  0.0   0.5        1.0              1.5

                              x1
M =5




            1.5
                                         Train error = 0.235
                                         Test error = 0.262
                                         Bayes error = 0.21




            1.0
       x2

            0.5
            0.0




                  0.0   0.5        1.0              1.5

                              x1
M = 10




              1.5
                                           Train error = 0.195
                                           Test error = 0.233
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 15




              1.5
                                           Train error = 0.185
                                           Test error = 0.224
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 20




              1.5
                                           Train error = 0.17
                                           Test error = 0.222
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 30




              1.5
                                           Train error = 0.135
                                           Test error = 0.225
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 40




              1.5
                                           Train error = 0.14
                                           Test error = 0.221
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 50




              1.5
                                           Train error = 0.11
                                           Test error = 0.236
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 60




              1.5
                                           Train error = 0.12
                                           Test error = 0.247
                                           Bayes error = 0.21




              1.0
         x2

              0.5
              0.0




                    0.0   0.5        1.0              1.5

                                x1
M = 100




               1.5
                                            Train error = 0.07
                                            Test error = 0.24
                                            Bayes error = 0.21




               1.0
          x2

               0.5
               0.0




                     0.0   0.5        1.0             1.5

                                 x1
M = 150




               1.5
                                            Train error = 0.065
                                            Test error = 0.248
                                            Bayes error = 0.21




               1.0
          x2

               0.5
               0.0




                     0.0   0.5        1.0              1.5

                                 x1
M = 200




               1.5
                                            Train error = 0.015
                                            Test error = 0.258
                                            Bayes error = 0.21




               1.0
          x2

               0.5
               0.0




                     0.0   0.5        1.0              1.5

                                 x1
Задача классификации рукописных цифр

Выборка размера 1934 была случайным образом разбита на две группы:
обучающую и тестовую — по 967 объектов в каждой.
В качестве слабых классификаторов использовались деревья решений, высоты
≤ 10.

                                    Ошибка
               M
                    на обучающей выборке на тестовой выборке
               5           0.070                0.121
               10          0.017                0.074
               20          0.001                0.056
               30            0                  0.048
               40            0                  0.044
Все случаи неправильной классификации цифр из тестовой выборки в случае
M = 40.
Красная цифра — ответ классификатора, синяя — верный ответ.

           8     5     3     9      2     2     8     9     2     8
           6     9     5     7      5     8     1     3     3     6

           3     1     9     5      2     0     4     3     3     1
           7     8     4     9      9     4     0     9     5     8

           3     5     6     9      4     4     9     2     9     1
           9     9     1     4      9     8     5     1     0     2

           4     4     2     4      8     8     3     3     7     3
           9     8     9     9      1     2     7     7     9     7

           8     2     0
           9     9     8
6.3. Бустинг и аддитивные модели

(другая точка зрения на бустинг)
Рассмотрим аддитивную модель
                                          M
                                f (x) =   ∑ βm b(x, γm),
                                          m=1

где βm — параметры (m = 1, 2, . . . , M ),
а b(x, γ) — функция векторного аргумента x и векторного параметра γ.
Функции b(x, γm) называются базисными.
Для настройки (обучения) такой модели можно минимизировать среднее значение
функции потерь L(yi, f (xi)):
                                  N             M
                         min     ∑L
                       (βm , γm)M i=1
                                          yi,   ∑ βm b(xi, γm)
                                1               m=1

— это сложно.
Как правило, легче подогнать одну базисную функцию:
                                     N
                              min ∑ L yi, βb(xi, γ) .                       ( )
                              β, γ
                                     i=1

Следующий алгоритм осуществляет настройку аддитивной модели, на m-й
итерации решая задачу ( ) и последовательно добавляя базисные функции без
пересмотра параметров, которые уже были вычислены.
begin
  Положить f0(x) ← 0
  for m = 1, 2, . . . , M
                                       N
      Вычислить (βm, γm) ← argmin ∑ L yi, fm−1(xi) + βb(xi, γ)
                              β, γ    i=1
    Положить fm(x) ← fm−1(x) + βmb(x, γm)
  end
end
Оказывается (Friedman), AdaBoost.M1 эквивалентен этому алгоритму, если
                            L(y, f (x)) = exp(−yf (x)).
6.4. Бустинг-деревья

Функция, вычисляемая регрессионным или классификационным деревом, может
быть представлена в виде
                                       J
                            T (x, Θ) = ∑ γj I(x ∈ Rj ).
                                      j=1

где Rj (j = 1, 2, . . . , J) — области (ящики) на которые разбито пространство,
а Θ = (Rj , γj )J — вектор параметров.
                1
Итак, если x ∈ Rj , то f (x) = γj .
Хотелось бы в качестве параметров Θ взять те, на которых достигается минимум
эмпирического риска:
                                       J
                           Θ = argmin ∑     ∑      L(yi, γj ).
                                  Θ   j=1 xi ∈Rj

— это NP-сложная задача.
Рассмотрим комбинированную аддитивную модель
                                          M
                                f (x) =   ∑ T (x, Θm)
                                          m=1

и снова на каждом шаге будем решать задачу
                                  N
                   Θm = argmin ∑ L yi, fm−1 (xi) + T (xi, Θm ,               (∗)
                           Θm     i=1

где Θm = (Rjm, γjm)Jm .
                   1
Если области Rjm заданы, то, как правило, легко найти константы γjm , для
которых
                      γjm = argmin ∑ L yi, fm−1 (xi) + γjm .
                            γjm    xi ∈Rjm

Нахождение же оптимального разбиения — трудная задача.
В случае среднеквадратичной функции потерь поиск решения (∗) — не более
сложная задача, чем определение коэффициентов для одного дерева:
γjm есть среднее значение для yi − fm−1(xi) по всем соответствующим областям Ri.
В случае двух классов и экспоненциальной функции потерь мы приходим к
                             (m)
алгоритму AdaBoost.M1, где wi = exp(−yifm−1 (xi))
Правую часть в (∗) можно упростить:
                                  (m)
                     Θm = argmin wi exp −yiT (xi, Θm) .
                            Θm

Эту взвешенную экспоненциальныую функцию потерь теперь можно использовать
в качестве критерия разбиения области и на этой основе реализовать жадный
рекурсивный алгоритм.
Заметим, что если Rjm заданы, то оптимальное значение γjm легко определяется:
                                          (m)
                                       ∑ wi I(yi = 1)
                                     xi ∈Rjm
                        γjm = log              (m)
                                                                .
                                      ∑       wi I(yi   = −1)
                                    xi ∈Rjm


Однако на практике чаще используют взвешенную среднеквадратичную функцию
потерь.
6.5. Градиентный бустинг (MART)

Вначале рассмотрим задачу восстановления регрессии.
В случае произвольной гладкой функции потерь алгоритмы для настройки модели
можно получить по аналогии с соответствующими численными методами
оптимизации.
Наша задача заключается в минимизации функции
                                                N
                                     L(f ) = ∑ L yi, f (xi) ,
                                              i=1

при ограничении
                                                      M
                                      f (x) =     ∑ T (x, Θm).
                                                  m=1

Опуская это ограничение, получаем задачу минимизации

                                             min L(f ),
                                                  f

где f = f (x1 ), f (x2), . . . , f (xN ) ∈ RN .
На многие численные методы оптимизации можно смотреть как на процесс,
который, начиная с f0, переходит от одной точки к другой, делая на m-й итерации
шаг hm.
За M итераций алгоритм приходит в точку
                                         M
                            fM = f0 +    ∑ hm ,              hm ∈ RN .
                                         m=1

В методе наискорейшего спуска шаг равен hm = −ρmgm, где gm — градиент
функции L(f ), вычисленный в точке fm−1 .
Компоненты вектора gm суть:
                        ∂L(yi, f (xi))
                gim =                                           (i = 1, 2, . . . , N ).
                          ∂f (xi)
                                         f (xi)=fm−1 (xi )

Параметр ρm, характеризующий длину шага, равен
                              ρm = argmin L(fm−1 − ρgm).
                                          ρ

Это алгоритм градиентного бустинга, или множественных аддитивных
регрессионных деревьв (MART — multiple additive regression trees) (Friedman, 1999)
N
Положить f0 ← argmin ∑ L(yi, γ)
                      γ     i=1
for m = 1, 2, . . . , M
     for i = 1, 2, . . . , N                                                   (*)
                       ∂L (yi, f (xi))
          gim ← −
                            ∂f (xi)      f =fm−1
      end
                                                   N      2
      Найти дерево, минимизирующее ∑ −gim − T (xi, ϑ)
                                                   i=1
      Пусть дерево разбивает пространство на области R1m, R2m, . . . , RJmm
      for j = 1, 2, . . . , Jm
           γjm ← argmin ∑ L yi, fm−1 (xi) + γ
                       γ    xi ∈Rjm
      end
                      Jm
      fm ← fm−1 + ∑ γjmI(x ∈ Rjm)                                             (**)
                      j=1
end
return fM
Подставляя вместо L y, f (x) конкретные функции потерь, получаем различные
варианты алгоритмы.
Параметрами алгоритма MART являются число итераций M и величины Jm
(m = 1, 2, . . . , M ).
Алгоритм для классификации аналогичен.
Пусть
                       K                             K                         K
     L(y, p(x)) = − ∑ I(y = k) log pk (x) = − ∑ I(y = k)fk (x) + log          ∑ efk (x) ,
                       k=1                           k=1                      k=1

                                                      K
                                  pk (x) = efk (x)
                                                      ∑ ef (x) .
                                                         =1

               ∂L yi, f1m(xi), . . . , f1m(xi)
     gikm   =−                                 = pk (xi) − I(yi = k) (i = 1, 2, . . . , N )
                        ∂fkm(xi)
На каждой итерации m строки с (*) по (**) повторяются K раз — по одному разу
для каждого класса.
Результат процедуры — K различных функций fkM (x) (k = 1, 2, . . . , K).
Класс, к которому принадлежит объект x, определяется по правилу

                                    f (x) = argmax fkM (x).
                                                k
Положить fk0(x) ← 0          (k = 1, 2, . . . , K)
for m = 1, 2, . . . , M
                      K
            fk (x)
   pk (x) = e        ∑ ef (x)         (k = 1, 2, . . . , K)
                      =1
   for k = 1, 2, . . . , K
      gikm ← yik − pk (xi)        (i = 1, 2, . . . , N )
                                                   N          2
      Найти дерево, минимизирующее ∑ −gikm − T (xi, ϑ)
                                                   i=1
      Пусть дерево разбивает пространство на области R1km, R2km, . . . , RJmkm
                                         ∑ gikm
                        K −1         xi ∈Rjkm
      Вычислить γjkm ←         ·                       (j = 1, 2, . . . , Jm)
                          K       ∑ |gikm|(1 − |gikm|)
                                           xi ∈Rjkm
                                 Jm
      fkm(x) ← fk,m−1(x) + ∑ γjkmI(x ∈ Rjkm)
                                 j=1
   end
end
return fkM (x)       (k = 1, 2, . . . , K)
6.6. Баггинг

Bagging — от bootstrap aggregation.
Классификатор fm обучается на bootstrap–выборке (m = 1, 2, . . . , M ).
Финальный классификатор f — функция голосования:

                                              M
                           f (x) = max
                                  k=1,...,K
                                              ∑ I(fm(x) = k).
                                              m=1

Позволяет бороться с неустойчивостью классификаторов fm.
Глава 7
Обучение без учителя
План

 • Матрица расстояний
 • Многомерное шкалирование (масштабирование)
 • Алгоритмы кластеризации:

       – Методы, основанные на теории графов
       – Методы центров тяжести и медиан
       – «Форель»

 • Иерархическая кластеризация:

       – Агломеративные методы
       – Разделяющие методы
Обучение с учителем

X — p-мерная случайная величина,
Y — одномерная случайная величина,
P (X, Y ) — совместная функция распределения.
Имеется набор (x1, y1), (x2, y2), . . . , (xN , yN ) (обучающая выборка) из N реализаций
случайной функции (X, Y ).
Нужно оценить функцию распределения P (Y |X).

Обучение без учителя

X — p-мерная случайная величина.
Имеется N объектов x1, x2, . . . , xN из N реализаций случайной величины X.
Нужно исследовать свойства P (X).
7.1. Матрица различий

Многие алгоритмы кластеризации на вход принимают матрицу различий
(dissimilarity matrix), или матрицу расстояний D = (dii ) размера N × N .
dii равен «расстоянию» от i-го объекта до i -го.
При этом под «расстоянием» не обязательно понимается евклидово или какое-либо
другое расстояние, удовлетворяющее аксиомам метрического пространства.
Например, часто не предполагается, что выполнено неравенство треугольника
dii ≤ dik + dki .
Однако, как правило, dii = 0, dii = di i ≥ 0 (i = 1, 2, . . . , N , i = 1, 2, . . . , N ).
Явные признаковые описания объектов могут вообще отсутствовать.
Пример: матрица различий в политической и экономической системах 12 стран
мира (на основании опроса студентов, изучающих политические науки, 1980-е гг.,




                                                                                                                 Югославия
StatLib). Различия в баллах (от 0 до 10):




                               Бразилия




                                                                                                Франция
                                                          Израиль
                     Бельгия



                                          Египет




                                                                    Индия



                                                                                   СССР

                                                                                          США



                                                                                                          Чили
                                                                            Куба
                                                   Заир
         Бельгия      0 5.58 4.83 4.75 3.42 6.42 7.08 6.08 2.50 2.17 7.00 6.25
         Бразилия                0        5.08 3.00 5.50 5.00 7.00 6.67 4.92 5.75 6.50 6.83
         Египет                            0       5.00 5.00 4.67 5.83 6.00 4.50 4.92 8.17 5.75
         Заир                                       0     6.17 4.83 6.67 6.50 5.67 5.58 6.08 6.92
         Израиль                                           0        6.17 6.42 6.92 2.75 3.92 6.42 5.83
         Индия                                                       0      6.00 6.17 6.33 6.42 5.58 6.08
         Куба                                                                0     2.67 7.33 6.92 3.83 3.75
         СССР                                                                       0     6.17 6.17 4.25 3.67
         США                                                                               0    2.25 6.25 6.67
         Франция                                                                                 0        6.67 5.42
         Чили                                                                                              0     4.50
         Югославия                                                                                                 0
Можно разглядеть 3 кластера (строки и столбцы переставлены).
Белый и желтый цвет — большие различия. Красный — малые.

                                                                                                                          USSR
                                                                                                                          Cuba
                                                                                                                          Yugoslavia
                                                                                                                          Chile
                                                                                                                          USA
                                                                                                                          France
                                                                                                                          Belgium
                                                                                                                          Israel
                                                                                                                          Egypt
                                                                                                                          India
                                                                                                                          Brazil
                                                                                                                          Zaire
                    USSR
                           Cuba
                                  Yugoslavia
                                               Chile
                                                       USA
                                                             France
                                                                      Belgium
                                                                                Israel
                                                                                         Egypt
                                                                                                 India
                                                                                                         Brazil
                                                                                                                  Zaire
Как строить матрицу различий, если признаковые описания xij (i = 1, 2, . . . , N ,
j = 1, 2, . . . , p) известны?
Разные подходы.
                               p                           p
                 d(xi, xi ) = ∑ wj dj (xij , xi j ),      ∑ wj = 1,      wj ≥ 0,           (6)
                              j=1                         j=1

где wj — весовые константы, а dj (xij , xi j ) — функция, характеризующая различие в
j-й координате.
Для количественных, бинарных и порядковых признаков можно взять, например,

                                   dj (xij , xi j ) = (xij − xi j )2.

Пусть качественная переменная j может принимать m значений s1 , s2, . . . , sm.
Функцию dj (xij , xi j ) = dj (sr , sr ) определяем явным перечислением набора
значений Lrr = dj (sr , sr ).
Матрица L = (Lrr ) должна удовлетворять свойствам:

              Lrr = Lr r ,   Lrr = 0,        (r = 1, 2, . . . , m, r = 1, 2, . . . , m).
Другой подход для измерения различия между объектами (если нет качественных
переменных) заключается в использовании корреляции:
                               p
                           ∑ (xij − xi)(xi j − xi)
                                                                          1 p
                                                                  где xi = ∑ xij
                           j=1
           ρ(xi, xi ) =                                       ,
                           p                  p                           p j=1
                          ∑ (xij − xi   )2   ∑ (xi j − xi)2
                          j=1                j=1


Измеряется корреляция по переменным, а не по объектам!
Здесь наоборот: чем ρ(xi, xi ) больше, тем различие между объектами xi, xi
меньше. Если вход стандартизован, то
                               p
                           ∑(xij − xi j )2 = 2     1 − ρ(xi, xi ) .
                           j=1

Таким образом, кластеризация на основе евклидова расстояния (расстояние
является мерой различия между парой объектов) эквивалентна кластеризации на
основе корреляции (корреляция является мерой сходства между парой объектов).
Как выбирать веса wj (j = 1, 2, . . . , p)?
Выбор wj = 1/p не обязательно приводит к тому, что влияние различия в каждой
переменной будет одинаковым.
Величину wj dj (xij , xi j ) нужно соотнести со средним значением d по всем
расстояниям d(xi, xi ) между каждой парой объектов xi, xi (i, i = 1, 2, . . . , N ):

                1 N N              1 N N p                        p
            d = 2 ∑ ∑ d(xi, xi ) = 2 ∑ ∑ ∑ wj dj (xij , xi j ) = ∑ wj dj .
               N i=1 i =1         N i=1 i =1 j=1                 j=1

Здесь
                                   1 N N
                              dj = 2 ∑ ∑ dj (xij , xi j )
                                  N i=1 i =1
есть среднее различие в j-м признаке.
Таким образом, относительное влияние wj dj (xij , xi j ) равно wj dj .
И, например, если wj = 1/dj , то эти влияния будут одинаковыми в каждой
координате.
Заметим, что если все переменные количественные и в качестве меры различия
выбрана взвешенная сумма квадратов:
                                      p
                         d(xi, xi ) = ∑ wj (xij − xi j )2,
                                     j=1

то
                            1 N N
                       dj = 2 ∑ ∑ (xij − xi j )2 = 2 varj ,
                           N i=1 i =1
где varj — смещенная выборочная дисперсия для j-й координаты.
От выбора коэффициентов wj сильно зависит ответ.
Разбиение на классы множества точек на плоскости, полученные методом медиан.
На рисунке слева использовались равномерные веса.
На рисунке справа перед применением алгоритма данные были приведены к
стандартному виду, что эквивалентно использованию весов wj = 1/(2 varj ).
        6




                                              1.5
        4




                                              0.5
        2
   x2




                                         x2
        0




                                              −0.5
        −2
        −4




                                              −1.5
        −6




             −6   −4   −2   0    2   4               −1.5   −0.5    0.5   1.5

                            x1                                 x1
7.2. Многомерное шкалирование (масштабирование)

Пусть D = (dii ) — матрица различий между каждой парой объектов
x1, x2, . . . , xN ∈ Rp . Предполагается, что

                 dii = di i ≥ 0,   di = 0         (i, i = 1, 2, . . . , N ).

В задаче многомерного шкалирования (multidimensional scaling) требуется найти
такие z1, z2, . . . , zN ∈ Rk , что

                       zi − zi ≈ dii        (i, i = 1, 2, . . . , N ).

Компоненты векторов zi называются MDS-координатами.
Понятно, что если в качестве меры различия берется евклидово расстояние и
k = p, то задача имеет точное тривиальное решение: в качестве zi надо взять xi
(i = 1, 2, . . . , N ).
На самом деле, задача интересна для небольших k, например, k = 2.
В случае k = 2 точки zi можно визуализировать и тем самым попробовать решить
задачу кластеризации визуально.
Подходы к решению:
Шкалирование Краскала–Шефарда (Kruskal–Shephard scaling) — минимизация
стресс-функции
                   S(z1 , z2, . . . , zN ) = ∑ dii − zi − zi
                                                             2

                                            i=i

(например, методом наискорейшего спуска).
Шкалирование Сэммона (Sammon scaling) — минимизация функции
                                                                  2
                                                  dii − zi − zi
                    S(z1 , z2, . . . , zN ) = ∑
                                           i=i
                                                        dii

— маленькие расстояния между точками учитываются сильнее, чем большие.
Классический метрический метод.
Вместо «различий» dii будем рассматривать «сходства» sii :
                                                                N
                                                       1
                    sii = xi − x, xi − x ,    где   x=
                                                       N        ∑ xi .
                                                                i=1

Рассмотрим матрицу S = (sii ).
Будем минимизировать функцию

                           ∑
                                                        2
                                 sii − zi − z, zi − z       .
                           i=i

Эта задача минимизации имеет явное решение в терминах собственных векторов
матрицы S.
Пусть λ1 ≥ λ2 ≥ . . . ≥ λk суть k наибольших собственных чисел матрицы S, а
e1, e2, . . . , ek — соответствующие собственные векторы.
E — матрица, составленная из столбцов e1, e2, . . . , ek ,
                                          √ √             √
D — диагональная матрица с числами λ1 , λ2, . . . , λk на диагонали.
Тогда в качестве решений zi (i = 1, 2, . . . , k) нужно взять строки матрицы ED.
Если известна матрица S, по ней можно определить D, причем единственным
способом.
Обратный переход неоднозначен.
Например, S можно вычислить по формуле

                        1        T 1 1T   1 N N
                    S=−       T−    −   + 2 ∑ ∑ tii        ,
                        2        N    N N i=1 i =1

где 1 — матрица порядка N , заполненная единицами, а T = (tii ) — матрица
порядка N , в которой tii = d2 .
                             ii
Неметрический метод Шефарда–Краскала основан на минимизации
стресс-функции
                                                    2
                           ∑ θ zi − zi      − dii
                           ii
                                    ∑ d2
                                       ii
                                    ii
на множестве всех dii и всех монотонно возрастающих функций θ.
Если θ зафиксировано, то dii можно найти, например, методом наискорейшего
спуска.
Если зафиксированы dii , то для поиска θ можно воспользоваться методом
изотонной регрессии: функция ищется в классе монотонных ступенчатых
функций методом наименьших квадратов.
Итерации заканчиваются, когда процесс стабилизируется.
Результаты применения классического метрического метода и неметрического
метода Шефарда–Краскала к данным из примера ÔÓÐ Ø ×.
Было выбрано k = 2.
Можно выделить 3 кластера.
Классический метод
France




                     2
                                                                        Israel
                                 Yugoslavia                        Belgium USA




                     1
                               USSR
2nd MDS coordinate
                          Cuba
                     0       Chile


                                                                     Egypt
                     −1
                     −2




                                                    India            Brazil
                     −3




                                                                   Zaire

                                      −2              0                2

                                              1st MDS coordinate
Неметрический метод Шефарда–Краскала
2
                                                           France       Israel

                                                                        Belgium
                              Yugoslavia                                 USA
                            USSR




                     1
                          Cuba
2nd MDS coordinate
                          Chile
                     0

                                                                Egypt
                     −1
                     −2




                                                                  Brazil
                                                                Zaire
                     −3




                                                India

                                  −2               0                2

                                           1st MDS coordinate
Пример   Ø×. Классический метод

                                                                                   2            0 6 0
                                                                                                    6        066         6
                                                                          2            2 2 06
                                                                                    22 2 0 0
                                                               2           22
                                                                                2                     0 00 6  6
                                                               9 22 22 2                          2
                                                                                           2 00 0 0 6 6 0
                                                                      2 2
                                                             2 2 23 22 2 2
                                                                      9                           0
                                                              3 2 29 2 2 9 8 2 2 5 02 00 00 66 66 6 6
                                                                                                  0
                                                                                                          0
                                                                                                          6 0
                                                                                                          06
                                                                     22 3 2 25 5 0 0 00 0006 6 60
                                                                      22          2                       0 60 6
                                                                                                      0 0 6      0
                                                         332 3 3222 9 59 2
                                                            3 2 2 29
                                                           23 3 3 223  9                 8               0 00 06 00 666
                                                                                                 0 00 0006 06 6
                                                                                                 0          0
                                                      2 3 33 2




                                 100
                                                    2      22         92 9
                                                                         5
                                                                         8    2 5           1   0 0 0 0006660 6 66
                                                                                                            6 00 6 6 6
                                                                                                             0 6
                                                        2 233 22 299 8 95 8 58 5 80 0 000 0 660066 4 6 6
                                                    2 3 323 9 282 229 2  9
                                                                3 39 3 9 8                              0 6 6 666
                                                 3 3 22323 3322 22395 2 55 5 95 0 0000 00 00006066 66 066
                                                                         2                                  0 6 666
                                                         3
                                                         3 23239 3 93 8 9 39 8 9 1 100 60 6 0060606 66
                                                               33329 22 3 5 92 1
                                                                      29
                                                   23 32 3 29 392 9 9 8        8               1 0 6 00
                                                                                                    8      0 0 00 6
                                                    2 3 33 2229 3 529 9 2
                                                               3 39 9 2 9 2 9                                  66 66 66 6 6 6 66
                                                                                                                   60 0
                                                                                                                    6 6
                                                      322 22 22222 9 99899 5595 2 1 0 1000 00 060 66 66 666 6
                                                             3 23232 2 898825
                                                                   3 3 2 89
                                                           33 3332 9 393955828 9 9
                                                                      2
                                                                      3 22                          00                        66
                                                         3 3 32
                                                   3 3 33 333           9 998 3
                                                            2 3 3 33 9 8 589 9 0 818
                                                                              59 8                    0 6 060 6 66 6 6 6 6
                                                                                                          0     6 0 6
                                                                         9 22 23 9
                                                             3 3 9 99 9 598599 8 55
                                                                         3 23
                                                                         8 95 2 2
                                                   2 323 2 3 3 2 9 2 3 325 8
                                                      3 322                     2            8             000 0 6666 0 666 6 4
                                                                                                             0060 6 666 6 6 6
                                                                                                                0      0 0
                                                                                                 0 000 01606 6 6 6 6
            2nd MDS coordinate                                            9 58 95                        0 06 0  6
                                                               93 2 3 85 2 9 55 1
                                                          3 23 2 32 9955 5 51 83
                                                                           5 8   9
                                                  2 33 33 2332 3 235528522 9 95 85
                                                         3 32 39 9 2 3 9889 92 85 8
                                                               2                               8          0 10 0 6 6 66 6
                                                                                                        000 0 06 666 6666 66 6
                                                                                                                          6
                                                               2 8 2 98 9 2 1
                                                             3 39 39 22 3 55589 5 589285 1 0 00 6 0 66 6 66
                                                                3 2 2 3 9 28 8 1 89 5 98                   0 0 60 0 6 6
                                                                                                              0
                                                                                                                  6
                                                                                                                  00 6 6               4
                                                      2         3 3 3 5852 589599 5 1 1
                                                                         8 8 9 88 81 8
                                                                         3 23         9                           606 666
                                                      3 33    32 9 2 98 59 89598 5 5 8 0 1 8 60 6 6 6 6
                                                                               5 59 5
                                                                  3 3 5 8 5 2 58559
                                                              3 39 8 33 8 888885581 8 0 11 5 0 6 04 0
                                                                          9           8                           1
                                                                   3
                                                        3 33 3 3 8 8 3               8 5 4 15
                                                      3 33 33 95981 8788588 121 811 1 100 1 4 0 66 0
                                                              2 2 29885 818558 550
                                                                       98 3 2 8585 15
                                                                         89         52
                                                                                      5
                                                                                      8
                                                                                   55 8 5
                                                                                                8           00 0
                                 0
                                                 7 2              38 58 2 5888558891 8 5 1 6 1 0
                                                                         8 8 85885 5 8                                       6
                                                           2 3 33 8
                                                      37 3 3 3 3 82 35 52855 58 5 1 1 5 5 0 1
                                              7 7 3 3 3 3 33 5 5 5 8 5  8
                                                                        5
                                                                        87 22581 55                                          4 4
                                                                 3       9 381 58 9 8 1 1 1
                                                              8 8 2 38 92885155 5 5 81 1 1 51 0 0 0
                                                                                  5 86
                                                                                  5 51
                                                                               585 5 8 1                                4 4                 4
                                                         3 3 33 7 57 5 38585585 1811151911 5
                                                             8 78 8 7             1 5 55
                                                                              558 9 55 5
                                                                                     9 1 5                       0         4 4
                                                                                                                      4 4 44 4
                                           7       3          33  8 58 3 81515 5 1 1
                                                                                  8
                                                9 3 3 3 4 3 3838791887 95 5 18 11 11 8 1 1 4
                                                                          8 9 59    5 8 1 11 5
                                                                                                                0
                                                                      9 75
                                                        37 3 3 7 57519 515 8 1 1 45
                                                                      73                                            4 4      4     4 4 44
                                                       9 7 7 7 7 99 7 7874 9 5 195 1 118 81
                                                                      9 7                     1                        4
                                           7                   73 8 74 9 8 1 11 111 9 85 1 458 4
                                                        73 7 7 5           5 91 8
                                                                                1            18                           444 4 4 4 4 44 44 4
                                                                                                                        4 4    44 4 4
                                           33              74                            4 1
                                                     7 79 7 4 7 7 7 15 18 5111 1 11 1 5 4 44 4 4 4 4 4
                                                                            7             4 8
                                                                                        81 1 1 5               4     4 4           44 4 4 4
                                                                                                                                      4       4
                                               9            377 7 3 177 1 1 41 1 1 4 1 9 4 4 44 4
                                                            77  9 7 1
                                                                    7                   8 9                                    4 4 4 44 44 4
                                                                                                                            44 4 4            4
                                 −100




                                         7     37                7 91        17
                                                                            77 1 9                1 41 4 4 4      4         44 4 4   4 4
                                                             7 7 77 779
                                                                  9
                                               7 7 79 77 7 7 7 71 75 4 7 1 1 1181 4 1
                                                         7 7            7                1 11 111 4 1 4
                                                                                      1 1 91 1                              0
                                                                                                                            4 4
                                                                        9
                                                     7 7 77 9777 7 9 99 119 1111 1 1 4
                                                          7 7           7 9         1 17 1         941
                                                                                                     91         49 4 44
                                                                                                                      4 4
                                                                                                                      4
                                                                                                                            4 44 4 4
                                                                                                                                  4
                                                                                                                                   4
                                                     7 7 777 777 5 5 7 7 9 711 8 1 1 4 9 4 4 4 44 4 4 4 4 4
                                                      7 77   7           4 4 199
                                                                               7
                                                             7 77 77 7 7 7 9 191 4 111 1 8 4    99
                                                                                                1                            4
                                                        77 7
                                                       7 77 7 7 77 9  7             1         9
                                                                                   7 9 1 1 911 94
                                                                                              1                          44 4 4 4
                                                                                                                         4 4               4    4
                                                      7 77777777 77 77 7 7 1 1 19 7 4 9 4 9 5
                                                        7 7 7
                                                                 77 7         7       9 9 19 1
                                                                                      7
                                                                                              9
                                                                              9 9 1 7 71 9 9 9 4 4     4                     4
                                                                                                                        4 4 44
                                                                                                                              4           4
                                                          7 77 7 77                   9 977 1 4
                                                                                       7 17                        4 9        4         4
                                                       7 7 7 7 77 7 77 9
                                                                 77                         9 94 4 4 4 44 9 4
                                                                                            9 9 4 4
                                                                                            7
                                                                                                                                      4
                                                                                                                     4        4
                                                               7 77 7 7777
                                                                        7
                                                                           7      7          7      99 4 9
                                 −200




                                                                            777 7 7 7
                                                                               7 7
                                                                                 7
                                                                                                      7
                                                                                7 7


                                        −200                −100                      0                   100                    200

                                                                            1st MDS coordinate
С помощью LDA тоже можно решать задачу визуализации, но там мы используем
метки классов! (было раньше)
                                                                                                                            22
                                                                                                       22             2 2
                                                                                                                      2
                                                                                                                   2 222 2 2 2   2
                                                                                                                       2
                                                                                                                    2 22 2
                                             00                                                         2 2 222
                                                                                                        2       2 22 2 2 2 222
                                                                                                                  2 2
                                             0 0 00 0                                                    2 22 2 22 22 2
                                                                                                          2
                                                                                                          2      2 2 22 2
                                                                                                                        22 22




                    5
                                                                                                                      2
                                  0 0000 0000 0 0 0
                                  0 0 0 0 0
                                           0                                                                222 2 222 2 22 2
                                                                                                            2 2 222222 2
                                                                                                                    2 2
                                                                                                                    2 22 2
                                   0       00 0 0 00 0
                                               0                                                       2 22 2 2 222222 22 2
                                                                                                             2           2
                                                                                                                   22 22222 2
                                                                                                                         2
                                 0
                                  0 0 0      00 0 0 0
                                        0 00 000 0 0 0 0
                                                 0
                                           0 000 0
                                                              0                                               2 2 2 22 22
                                                                                                              2 2 2 2 2222 2
                                         0 000 0 0 0 60
                                0 0 00 0 00 006000 0    0                                                             3
                                                                                                        2 2 2 2 222222 3 2
                                                                                                                      2
                                                                                                               2 2 2 22
                                    0 0 0 00 0600 0 6
                                              0
                                              00                                      8 88
                                                                                                      5 522 2   2 2          2
                                      0 0606 000 0
                                              00 0 0
                                              0
                                   0 00 000000006000 0 0            8                                 5 5 222 5 3 2 3 2
                                                                                        8 8 5 5 2 532 522 323 3 3
                                                                                                      2
                                                                                                                    5          3
                                  0 0 6 0 000 0606 666
                                      0 6                                 6 8   8   18 8 8 58 5 5 3 53 53 25 3 2 2 3
                                                                                                         2 55                 3
                                               6 00 6
                                       06 6 0 060006066 8                      8 88 8 8 85 8
                               0         0        0
                                                    6 0 6 60 6
                                           0 0666 0 0 00 0 0    6
                                                                                            9
                                                                                88 88 8 8 89 85 5 5 5
                                                                                   8       8             5 5 5 3 3 53 3 3 3
                                                                                                     5 355 5 5 52 55 3333 3 33
                                                                                                          5 9 53 33
                                                                                                               5
                                      60 66 606006 6 606606
                                             6 6 60
                                     0 666 66066 06 6 0 6 6 6
                                                                                                      9 59 5 5
                                                                         8 88 1 8 88885 5 995555525 55555533 33333333 3
                                                                                                                         5
                                                                                                                         23
                                                                                                                          5
                                                                                                                  3 33 3 3 3
                                         6 666 0 6 6 6
                                         6 6 666 66 6 6
                                                                6
                                                                          8 18 1888 888188 991 9959553 5 533333 3 333
                                                                                     8 889 89
                                                                                     8 19              1 9 5
                                                                                        88 8 8 581 5 555 3 3 53353 3
                                                                                     8 18 8 89 8 555 953 25353333 33 33
                                                66 6 66
                                       6 666 06 6 6 6
                                            6 6666 6
                                       6 66 6 66 6 0                     18       88888818 8 95 5 91 5 555 3 3333333 3 3
                                                                                          889 9
                                                                                         8 9       8
                                                                                        8 1 88 9 1 1 5 9
                                                                                                          5 2          3 35
                                                                                       88831 981 88595 5 5 35 9 3 35333 3 3
                                                                                                                       3 3 3
                                                                                                                       5 3
                                             06                                    88 9
                                                                                   88 18 8 98 95 5 5
                                                                                   8                 9 5               5 3
                                                                            188 81 888885 9818 9855 3555 5 333533 3 33 3
                                         6 6 6 6 6 666 6 6 6
                                                   6 606
                                             6 66 666
                                         6 6 6 6 66 6
                                                         6        6 1       8 8 8 81 8 8 8999 9 9 5 5 9 35 5 3 3 3 53 333
                                                                                            9 95 9 1  9
                                                                                                      5           5        333
                                          6        6 6 6                                 98 9 89 5 5
                                  0 6 606 6 6666 66 6 6 6 1 1 8 1 818889151899888 9 8 99 55 535 53 3333333 33
                                                                                             1
                                                                                   1 9 881 151 19 5 15 3 3 5 3 3        35 3
                                                                                  818 9111 8 8 999 95 5 5 9 5 3 333 3 3 3
                                                                                          8                             5
                                        6 6 6666 6 66    6            168 8 1 8 881 8119 88198 9 9 555 5 5 3 33 33 3
                                                                            8      8 9919 9999891 95 5
                                                                                     89
                                                                                      9 1 1 88
                                                                                         9 119  9 99                     3 33 3
                                               666         6                          8 199 19 99 9
                                                                           1 1 1 1 11189 9 81 11 8 5555 5 55 3 3 35 3
                                                                                         9                   5 3
                                                                               11 11 1 8119919 9 191 9 33 5 33 3
                                                                                         19
                    0

                                      6    6 666 66 6 6 6
                                                    66
                                               6 6 66                     8 188 111911198198991919 9 5
                                                                                      1 9 19 1 1 1
                                                                                 1 118999 1 15919 5 5
                                                                                                1
                                                                                          1 1 9 1111
                                                                                                9 1 19
                                                                                1 19 1 1 1 9
                                                6                               81 91191 9199 1 9 9 9
                                                                                               1 11
                                                                            8 11 818 91 1819119 1 1 1 1
                                                                                     1 1 11 1 9 8 8
                                                                                       1            9                        33
                                                                      1
                                                                             1      1 9 11 111 19 599
                                                                                                 1
                                                                                          9 119 9 999 9 9 1
                                                                         8                                 9
              LD2




                                                                                          9 19
                                                                                          1      1
                                                                                        99 9 1 9 1
                                                                                  1 9 1 1 919 199 19 9 1 9
                                                                                                                       3
                                                  4                                         1 1 999 1
                                                                                      1 1 19 919 9 1
                                                                                       9 1
                                                                                                                        3
                                                                                   19 1 9 1
                                                                         1               9 9 1 1 19 9 9
                                                                                                      9
                                                                                                                    7
                                              4      4                                  9      9     1 9
                                                                                                      9 9
                                                                                                           5                  7
                                                           4                                                    7
                                         4                    4
                                                   4 4 4 4       4    4                                      7     77          7 7
                                                                 4         4                            7 7
                    −5




                                          4         4         4 4 4
                                                 4 4 4 444 4 4 4 4
                                                             4                 4                        7              7 7 7
                                                 4 4 44 4 4 4 4                                                7 777
                                                      4 4 4
                                                  4 44 4 444 4 4                                  7
                                                                                                                   7
                                                                                                         7 7 7 77 7 7      77
                                       4                     44 4 4
                                                  4 4 44 4 4 4
                                                      4 44 4 4
                                                       44 4                                               7 7          77 7 7
                                                           4                 4                       7 7               7
                                               4 4 4 444 4 4 44 4
                                               4          4 44 4 4                                                    7
                                                                                                                   7 77
                                                                                                            7 7 77 7 777 77
                                       4 4 4 4 4444 4 444 4 44 4 4
                                       4             4 4 4 4
                                                    444444 4 44 4
                                                     4   4                                          7 7 7 77 7777 7 7 7 7 7
                                                                                                                      777 7 7
                                       4
                                                    44 4 4                                                 7 777 77 7 7777 7 7
                                                                                                           7 77 7 77
                                                    4 4 4 4 44 4
                                                   4 444 4 4 4                                                7 77 7
                                                                                                       7 7 77 7777 7 7 7 7
                                                                                                           7 7 777 7 7
                                                  4 44 44 4 4 4
                                                         4 4
                                                         4 44                                            7 7 77777777 7 77
                                                                                                                    77          7
                                                      4 44           4                                  7       777 7777
                                                                                                        7 7 77 7 77 7 7 7
                                                                                                                 77       7 7
                                                                                                        7
                                                                                                        7           77
                                                                                                                 7777
                                                                                                                    7
                                                                                                                   77 7 7 7
                                                             4                                                  7 7 77
                                                                                                                 7         7 7
                                                           4                                              77 7
                                                                                                                 7


                         −10                        −5                               0                              5

                                                                            LD1
7.2.1. Самоорганизующиеся карты Кохонена

Самоорганизующаяся карта Кохонена (self-organized map, SOM) является одним
из методов многомерного шкалирования.
Прототипы mjj ∈ Rp (j = 1, 2, . . . , K1, j = 1, 2, . . . , K2), K = K1K2 .
mjj и mkk — соседи, если |j − k| + |j − k | ≤ ρ
N (i, i , ρ) = {(k, k ) : |j − k| + |j − k | ≤ ρ}
0<α<1
  Инициализировать значения прототипов mjj ∈ Rp
  repeat
      for i = 1, 2, . . . , N
        Найти ближайший к xi прототип mjj в Rp
        for (k, k ) ∈ N (i, i , ρ) (т. е. для каждого соседа mkk прототипа mjj )
            mkk ← mkk + α(xi − mkk )
        end
     end
  end
Можно использовать не прямоугольную, а гексогональную или треугольную сетку,
и т. п.
Самоорганизующая карта Кохонена для данных по классификации цветов ириса.
Данные содержат 150 объектов, 4 признака. Используется карта с прямоугольной
сеткой 6 × 6. Точки, соответствующие объектам, случайным образом расположены
вокруг узлов сетки, которым они приписаны. Точки, соответствующие цветам
разных сортов, окрашены в разные цвета. Информация о сортах при обучении не
использовалась.
versicolor
virginica
                         setosa
2    9   9   6   3   13




3    3   7   2   0   0




1    8   3   0   0   0




7    2   1   0   0   0




6    2   3   0   0   4




16   5   2   0   0   33
7.3. Кластеризация

Алгоритмы кластеризации разбивают заданное множество объектов на группы
(кластеры), в одном кластере размещая близкие, а в разных — далекие по своим
характеристикам объекты.
Количество кластеров может быть известно заранее, а может определяться в
процессе работы алгоритма.
Некоторые алгоритмы кластеризации на вход требуют признаковые описания
x1, x2, . . . , xN ∈ Rp объектов. Для других достаточно только матрицы различий D.
Если число кластеров известно заранее, то с формальной точки зрения алгоритм
кластеризации находит отображение

                        C : {1, 2, . . . , N } → {1, 2, . . . , K} ,

где N — число имеющихся объектов, а K — число кластеров.
7.3.1. Кластеризация методами теории графов

1. Пусть D — матрица различий.
Рассмотрим полный граф с N вершинами. Каждой вершине соответствует объект.
Припишем ребрам графа веса dij .
Пусть r — некоторый параметр. Удалим из графа все ребра, веса которых больше
r.
Компоненты связности полученного таким образом графа и есть кластеры.
2. Для полного графа из N вершин, ребрам которого приписаны веса dij ,
построим миимальное остовное дерево.
Удалим из дерева K ребер максимального веса.
Получим разбиение множества объектов на K кластеров.
7.3.2. Метод центров тяжести

Рассмотрим метод центров тяжести (K-means).
Предположим, что множество объектов уже разбито некоторым образом на K
групп (кластеров) и значение C(i) равно номеру группы, которой принадлежит i-й
объект.
Обозначим mk центр тяжести системы точек, принадлежащих k-му кластеру:
                                    ∑ xi
                                   C(i)=k
                        mk =                        (k = 1, 2, . . . , K).
                               |{i : C(i) = k}|
Будем минимизировать
                                            N
                                    min ∑ xi − mC(i) 2.                                     (7)
                                    C, mk
                                            i=1
Для этого применим следующий итерационный алгоритм.
Если какое-то разбиение на кластеры уже известно, то обновим C(i)
(i = 1, 2, . . . , N ), приписав точке xi тот класс k (k = 1, 2, . . . , m), для которого
расстояние от xi до mk минимально.
После этого повторим итерацию.
Получаем следующий алгоритм.
repeat
                     ∑ xi
                    C(i)=k
  Найти mk ←                       (k = 1, 2, . . . , K)
                |{i : C(i) = k}|
                                           2
  Положить C(i) ← argmin xi − mk               (i = 1, 2, . . . , N )
                      1≤k≤K
end
Итерации в алгоритме повторяются до тех пор, пока C(i) (i = 1, 2, . . . , N )
перестанут изменяться.
Алгоритм может не сойтись к точке глобального минимума, но всегда найдет
локальный минимум.
7.3.3. Метод медиан

Метод центров тяжести работает только с явными описаниями объектов, так как
находит mk .
Метод медиан, или метод срединных точек, (K-medians или K-medoids) является
версией метода центров тяжести, однако ему достаточно только матрицы
расстояний D = (dii ).
Вместо того, чтобы работать с центрами тяжести, найдем в каждом кластере
медиану, или срединную точку mk = xi∗ :
                                     k


                                  i∗ = argmin
                                   k                ∑
                                       {i: C(i)=k} C(i )=k
                                                             d2 .
                                                              ii



Обновим C(i) (i = 1, 2, . . . , N ), приписав точке xi тот класс k (k = 1, 2, . . . , m), для
которого расстояние от xi до mk минимально.
После этого повторим итерацию.
Получаем следующий алгоритм.
repeat
   for k = 1, 2, . . . , K
      Найти i∗ ← argmin
               k               ∑ D(xi, xi )
                  {i:C(i)=k} C(i )=k
    Положить mk = xi∗k
  end
  Положить C(i) ← argmin D(xi, mk ) (i = 1, 2, . . . , N )
                       1≤k≤K
end
Результат работы методов центров тяжести и медиан. Для данной системы точек
методы дали одинаковый ответ. Кластеры выделены разными цветами. Центры
тяжести изображены звездочками, а медианы — кружками.




                        4
                        2
                   x2

                        0
                        −2




                             −4   −2   0        2    4

                                           x1
7.3.4. Метод нечетких множеств

Рассмотрим подход к задаче кластеризации, навеянный нечеткой логикой.
Зафиксируем некоторое натуральное K и рассмотрим множество
U = {1, 2, . . . , K}, которое назовем универсом.
Нечетким множеством называется отображение V : U → [0, 1], для которого

                       0 ≤ V (i) ≤ 1,      (i = 1, 2, . . . , N ).

Отображение V называется также функцией принадлежности, а значение V (i) —
степенью принадлежности элемента i нечеткому множеству V .
Предположим, что кластеры являются нечеткими множествами.
Пусть тогда uik есть степень принадлежности i-го объекта k-му кластеру.
Имеем
           K
          ∑ uik = 1,   0 ≤ uik ≤ 1,     (i = 1, 2, . . . , N, k = 1, 2, . . . , K).
          k=1
Обозначим mk взвешенный центр тяжести системы точек x1, x2, . . . , xN с весами
u1k , u2k , . . . , uN k :
                                                    N
                                         mk = ∑ uik xi.
                                                   i=1

«Нечеткий» вариант метода центров тяжести заключается в итеративной
минимизации
                                       N K
                            min ∑ ∑ u2 xi − mk 2.
                                     ik
                             uik
                                       i=1 k=1

А нечеткий вариант метода медиан состоит в минимизации

                                          K      ∑ u2 u2 k dii
                                                    ik i
                               min ∑
                                                 i, i
                                                                  .
                                   uik
                                          k=1           ∑ u2
                                                           ik
                                                        i

По окончании процесса полагаем

                      C(i) = argmax uik                   (i = 1, 2, . . . , N ).
                                   k
7.3.5. Метод «форель»

Метод «форель» (от «формальный элемент»), предложенный Загоруйко и Елкиной
(1967 г.), похож на метод центров тяжести.
Он не требует знания количества кластеров, на которые нужно разбить множество
объектов.
Наоборот, параметром алгоритма является число R, характеризующее близость
точек внутри одного кластера.
Пусть задана точка x0 в Rp и параметр R.
Найдем все объекты из тестовой выборки, попадающие в шар радиуса R с
центром x0.
Перенесем x0 в центр тяжести системы точек, найденных на предыдущем шаге.
Так будем продолжать до тех пор, пока x0 не перестанет изменяться.
После этого, если еще остались некластеризованные объекты, то повторим
процесс сначала.
Точка x0 — это и есть «формальный элемент», так как x0 может не принадлежать
множеству рассматриваемых объектов.
begin
  Положить U ← {x1, x2, . . . , xN } (множество некластеризованных объектов)
  Инициализировать множество кластеров C ← 0      /
  Инициализировать счетчик количества кластеров k ← 0
  while U = 0/
      k ←k+1
      Выбрать в Rp точку x0
      repeat
         Образовать кластер Ck ← {i : xi − x0 ≤ R, i = 1, 2, . . . , N }
                                       1
         Найти центр тяжести x0 ←            ∑ xi
                                      |Ck | i∈Ck
         U ← U  Ck , C ← C ∪ {ck }
      end
  end
  Возвратить множество C
end
7.4. Иерархическая кластеризация (таксономия)

Алгоритмы иерархической кластеризации, или таксономии, находят
иерархическое представление, такое, что кластеры на каждом уровне получаются
объединением кластеров на более низком уровне.
Таким образом, речь идет о кластерах кластеров.
Можно сказать по-другому: кластеры на более низком уровне получаются
дроблением кластеров на более высоком уровне.
В вершине этой классификации мы имеет один кластер, включающий все объекты.
На низшем уровне имеем N кластеров, каждый из которых включает один объект.
Такие иерархические структуры удобно представлять в виде корневых деревьев
(дендрограмм).
Примеры таксономий: номенклатура живых существ, библиографические
классификаторы, различные системы научной классификации и т. п.
Алгоритмам иерархической кластеризации не нужно на вход подавать количество
кластеров.
Имея дендрограмму, исследователь может сам обрезать ее на нужном уровне,
получив некоторое количество кластеров.
Таксономия 60 клеток на основе анализа уровня экспресии их генов. Иерархия
составлена агломеративным усредняющим методом.
ME.LOXIMVI
                            LC.A549.ATCC
                                 RE.A498
                                     LC.EKVX
                               RE.UO.31
                               RE.CAKI.1
                        RE.RXF.393
                          RE.786.0
                               RE.ACHN
                                RE.TK.10
                   CNS.SNB.19
                     CNS.U251
                               LC.HOP.62
                              CNS.SF.295
                                      CNS.SF.268
                OV.OVCAR.8
                UN.ADR.RES
                                            BR.BT.549
                                           LC.NCI.H322M
                             CO.HCT.116
                              CO.HCT.15
                                OV.OVCAR.5
                                   PR.PC.3
                                 PR.DU.145
                                         CO.SW.620
                                      OV.OVCAR.3
                                      OV.OVCAR.4
                                      OV.IGROV1
                                      OV.SK.OV.3
                                                       LC.NCI.H460
                       ME.MALME.3M
                       ME.SK.MEL.28
                       ME.UACC.257
                                ME.M14
                             ME.SK.MEL.2
                                ME.UACC.62
                                        ME.SK.MEL.5
BR.MDA.MB.435
    BR.MDA.N
                                              LC.NCI.H23
                                             LC.NCI.H522
                                    CNS.SNB.75
                                     BR.HS578T
                                       CNS.SF.539
                                              LC.HOP.92
                                    BR.MDA.MB.231.ATCC
                                                             RE.SN12C
                                                           LC.NCI.H226
                                             CO.HT29
                                   CO.HCC.2998
                                       CO.KM12
                                       CO.COLO205
                                    BR.MCF7
                                    BR.T.47D
                        LE.CCRF.CEM
                           LE.MOLT.4
                                              LE.HL.60
                                                              LE.SR
                                                               LE.K.562
                                                           LE.RPMI.8226
7.4.1. Агломеративные методы

Агломеративные методы, или методы «снизу вверх», строят дерево в направлении
от листьев к корню.
dii — мера различия («расстояние») между i-м и i -м объектами (i = 1, 2, . . . , N ),
dRS — мера различия между кластерами R и S, которая каким-либо образом
определяется исходя из попарных различий между элементами из R и из S.
Некоторые возможные способы определения dRS :
по минимальному различию (по принципу «ближнего соседа»)
                                  dRS = min dii ,
                                        i∈R, i ∈S

по максимальному различию (по принципу «дальнего соседа»)
                                  dRS = max dii ,
                                        i∈R, i ∈S

по усредненному различию (по принципу «средней связи»)
                                   1
                                |R| · |S| i∈R i∑
                                          ∑ dii .
                          dRS =
                                               ∈S
Агломеративные методы начинают работу с N кластеров, каждый из которых
содержит один объект.
Пусть на некотором этапе имеется некоторый набор кластеров.
В этом наборе находится пара кластеров, скажем, R и S, для которой dRS
минимально.
Тогда объекты из этих групп объединяются в один кластер и т. д.
Использование разных функций dRS приводит к различным уточнениям данного
метода.
Первая из упомянутых выше функций (по минимальному различию) обычно
приводит к сильно несбалансированным деревьям, длинным и плохо связанным
кластерам.
Вторая (по минимальному различию) приводит к сбалансированным деревьям и
«компактным» кластерам, но, с другой стороны, даже весьма близкие объекты
могут оказаться в далеких друг от друга (по иерархии) кластерах.
Третий метод занимает промежуточное положение между ними.
Single   Average   Complete
7.4.2. Разделяющие (дивизивные) методы

Разделяющие методы, или методы «сверху вниз», строят дерево в направлении от
корня к листьям.
Один из подходов:
На первом шаге ко множеству объектов применим какой-либо алгоритм (центров
тяжести, медиан и т. п.), разбивающий это множество на два кластера.
Затем разобъем каждый из полученных кластеров и т. д.
Другой подход: Достаточно описать, как разбить произвольный кластер R.
Сначала найдем в R объект, для которого среднее расстояние до всех остальных
объектов максимально:
                                        1
                         i∗ = argmax
                                i∈R
                                                ∑ dii
                                     |R| − 1 i ∈R, i =i

Удалим i∗ из R и поместим в S.
Далее выполняем следующие итерации.
Среди оставшихся в R объектов найдем
                                  1                      1
                 i∗ = argmax
                        i∈R
                                          ∑
                               |R| − 1 i ∈R, i =i
                                                  dii −      ∑ dii
                                                        |S| i ∈S

Также поместим его в S и удалим из R.
Эту итерацию будем продолжать до тех пор, пока
                            1                1
                  max               ∑ dii − |S| ∑ dii
                         |R| − 1 i ∈R, i =i
                                                              ≥ 0.
                                                i ∈S

Тогда имеем разбиение исходного кластера на два подкластера R и S.
Процедура для разбиения кластера R на два подкластера R и S:
begin
  S←0  /
  i∗ ← argmax |R|−1 ∑i ∈R, i =i dii
                1
           i∈R
   R ← R  {i∗}
   S ← S ∪ {i∗}
                      1                   1
   while max                  ∑ d −           ∑ d      ≥0
                   |R| − 1 i ∈R, i =i ii |S| i ∈S ii
                          1                1
      i∗ = argmax                 ∑ dii −      ∑ d
             i∈R       |R| − 1 i ∈R, i =i |S| i ∈S ii
    R ← R  {i∗}
    S ← S ∪ {i∗}
  end
  Имеем разбиение исходного кластера на два подкластера R и S.
end
7.5. Оценка параметров распределения

7.5.1. EM-алгоритм

Смесь гауссианов

       X1 ∼ N (µ1 , σ1),    X2 ∼ N (µ2, σ2),    X = (1 − ∆) · X1 + ∆ · X2,
где ∆ — случайная величина (скрытая переменная), принимающая два значения 0
и 1 с вероятностями Pr (∆ = 1) = π, Pr (∆ = 0) = 1 − π соответственно.
Необходимо по выборке x1, x2, . . . , xN восстановить значения параметров µ1, σ1,
µ2 , σ2, π.
1.5
x2

     1.0
     0.5




           0.0   0.5   1.0

                 x1
1.5
x2

     1.0
     0.5




           0.0   0.5   1.0

                 x1
4


    2
                                      1.5


                                1.0
        0.0


              0.5
                          0.5

                    1.0
1.6
     1.4
     1.2
     1.0
x2

     0.8
     0.6
     0.4




           −0.2   0.0   0.2    0.4   0.6   0.8   1.0

                              x1
Будем максимизировать логарифмическую функцию правдоподобия
                                                      N
     (x1, x2, . . . , xN , µ1 , σ1, µ2, σ2, π) = ∑ log (1 − π)N (xi, µ1 , σ1) + πN (xi, µ2 , σ2) .
                                                      i=1

Максимизация — Maximization step. Если значения ∆1 , ∆2, . . . , ∆N случайной
величины ∆ известны, то логарифмическая функция правдоподобия принимает
вид
                                                                  N
 0 (x1 , . . . , xN , ∆1 , . . . , ∆N , µ1 , σ1, µ2 , σ2 , π)   = ∑ log (1 − ∆i)N (xi, µ1 , σ1) + ∆iN (xi, µ2
                                                                  i=1
                                       2
и ее минимум достигается, когда µ1 и σ1 равна среднему и выборочной дисперсии
                                                         2
для тех данных, для которых ∆i = 0, и, аналогично, µ2 и σ2 равна среднему и
выборочной дисперсии для тех данных, для которых ∆i = 1.
Ожидание — Expectation step. Истинные значения ∆i не известны, но при
заданных µ1 , σ1, µ2, σ2 их можно заменить на ожидаемые значения
γi(µ1, σ1, µ2 , σ2) = E (∆i |x1, . . . , xN , µ1 , σ1, µ2, σ2) = Pr (∆i = 1|x1, . . . , xN , µ1 , σ1, µ2 , σ2

Процесс продолжается до тех пор, пока значения искомых параметров не
стабилизируются.
Алгоритм Expectation–maximization («ожидание–максимизация»)
     Установить начальные значения для µ1, σ1, µ2 , σ2, π. Например,
                                                                 1 N                 1
                                                    2
        µ1 ← xi, µ2 ← xi , где i, i — случайны, σ1 ← σ2 ←  2
                                                                   ∑ (xi − x)2 , π ←
                                                                N i=1                2
     repeat
         Expectation step
                              πN (xi, σ2, µ2)
             γi ←                                            (i = 1, 2, . . . , N )
                   (1 − π)N (xi, σ1, µ1) + πN (xi, σ2, µ2)
         Maximization step
                     N                             N
                     ∑ (1 − γi)xi                  ∑ (1 − γi)(xi − µ1)2
                     i=1                 2        i=1
              µ1 ←     N
                                    ,   σ1 ←             N
                                                                          ,
                      ∑ (1 − γi)                         ∑ (1 − γi)
                     i=1                                 i=1
                     N                      N
                     ∑ γixi                 ∑ γi(xi − µ1 )2           1 N
              µ2 ←   i=1
                       N
                              ,    2
                                  σ2    ←   i=1
                                                  N
                                                               ,   π←    ∑ γi
                                                                      N i=1
                      ∑ γi                        ∑ γi
                      i=1                         i=1
     end
EM-алгоритм распросраняется на случай смеси K гауссианов.
Варианты

Стандартное отклонение σk может быть:

 (а) Единым для всех: σk = σ
 (б) Разным

p≥2
Матрица ковариации Σk может быть:

  1. (а) Единой для всех: Σk = Σ (k = 1, 2, . . . , K)
     (б) Разной
  2. (а) Скалярной: Σk = λk I
     (б) Диагональной: Σk = Dk
     (в) Произвольной (положительно определенной): Σk
90
          80
waiting

          70
          60
          50




               1.5   2.0   2.5   3.0    3.5    4.0   4.5   5.0

                                   eruptions
90
          80
waiting

          70
          60
          50




               1.5   2.0   2.5   3.0    3.5    4.0   4.5   5.0

                                   eruptions
0.04


 0.02                            100


   0.00                     80
          2
                       60
              4


                  40
100
                                                                                         1e
                                                                                           −0
                                                                                              4
                                                                             0.001

                                                                         0.005




          90
                                                                      0.03




          80
                                 1e−05
                                                               0.04
                               1e−04
waiting


                                                              0.02
          70

                             0.001                         0.01
          60




                                                      1e−04

                                                   1e−05
          50




                    0.02

                  0.01
                0.005
          40




                         2               3                 4                         5

                                             eruptions
90
          80
waiting

          70
          60
          50




               1.5   2.0   2.5   3.0    3.5    4.0   4.5   5.0

                                   eruptions
0.04


  0.02                           100


   0.00                     80
          2
                       60
              4


                  40
100
                                                                                       1e
                                                                                         −0
                                                                                            4




          90
                                                                            0.01


                                                                      0.03
                                                                     0.04


          80
                                 1e−05

                               1e−04
waiting


                                                              0.02
          70

                           0.001
                                                          0.005

                          0.01                       0.001
          60




                                                    1e−04
                        0.03
                                                  1e−05
          50




                  0.02


                0.005
          40




                    2                    3                   4                     5

                                             eruptions
90
          80
waiting

          70
          60
          50




               1.5   2.0   2.5   3.0    3.5    4.0   4.5   5.0

                                   eruptions
0.04


 0.02                            100


   0.00                     80

          2
                       60

              4


                  40
waiting

                40   50   60     70      80   90   100
            2
            3
eruptions

            4
            5
90
          80
waiting

          70
          60
          50




               1.5   2.0   2.5   3.0    3.5    4.0   4.5   5.0

                                   eruptions
0.04


 0.02                            100


   0.00                     80
          2
                       60
              4


                  40
100
                                                                 1e−04

                                                                0.001




          90
                                                              0.01
                                                              0.02

                                                         0.04



          80
                          1e−05
                                                      0.03
waiting

          70

                                             0.005


                        0.01
                                                      1e−04
          60




                                                      1e−05
                   04
                  0.
          50




                  0.03
                 0.02


                0.005
          40




                    2             3               4                      5

                                      eruptions
7.6. EM. Общий случай

Наблюдаемые значения:
                            x = (x1, x2, . . . , xN )
Скрытые переменные:
                           ∆ = (∆1, ∆2, . . . , ∆N )
Логарифмическая функция правдоподобия: (θ, x)
Логарифмическая функция правдоподобия, если ∆ известны:   0 (θ,   x, ∆)
begin
     Установить начальные значения для θ.
     repeat
        Expectation step
            Вычислить Q(θ , θ) ← E ( 0(θ , x, ∆)| x, θ) как функцию от θ
        Maximization step
            θ ← argmax Q(θ , θ)
                      θ
    end
  end
Можно показать, что
                              (θ , x, ∆) ≥ (θ, x, ∆)
Глава 8
Теория машинного обучения

Истоки: В.П. Вапник, А.Я. Червоненкис [1971]
Лемма 8.1 Пусть A1, A2 , . . . , Aq — некоторые события (зависимые или
независимые), заданные на одном вероятностном пространстве, тогда

               Pr (A1 ∪ A2 ∪ . . . ∪ Aq ) ≤ Pr A1 + Pr A2 + . . . + Pr Aq .

Лемма 8.2 (С.Н. Бернштейн, H. Chernoff, W. Hoeffding) Пусть Z1, Z2, . . . , ZN —
независимые одинаково распределенные случайные величины.

                       Pr (Zi = 1) = θ,      Pr (Zi = 0) = 1 − θ

(схема Бернулли). Тогда
                                                        2
                             Pr (|θ − θ| > γ) ≤ 2e−2γ N ,
где
                                              N
                                         1
                                      θ=
                                         N   ∑ Zi.
                                             i=1
Рассмотрим задачу классификации на 2 класса.
F — некоторое множество функций f : Rp → {0, 1}.
(X, Y ) — (p + 1)-мерная с.в. с неизвестной функцией распределения P (x, y)
Ожидаемый риск

                     R(f ) = E I f (X) = Y = Pr I f (X) = Y .

(x1, y1), (x2 , y2), . . . , (xN , yN ) — обучающая выборка.
Эмпирический риск (частота ошибки) на данной выборке есть
                                        N
                                    1
                            R(f ) =
                                    N   ∑I     f (xi) = yi .
                                        i=1


Задача: оценить R(f ) в терминах R(f ).
Принцип минимизации эмпирической риска:

                                 f = argmin R(f )
                                        f ∈F
8.1. Случай конечного F

Пусть F = {f1, f2, . . . , fq }.
Рассмотрим f ∈ F .
Введем семейство случайных величин
                    Zi = I f (Xi) = Yi     (i = 1, 2, . . . , N ).

Zi распределены одинаково и независимо — схема испытаний Бернулли.
По лемме 2
                                                       2
                       Pr (|R(f ) − R(f )| > γ) ≤ 2e−2γ N
Откуда
                                                        −2γ 2N
                     Pr (|R(f ) − R(f )| ≤ γ) ≥ 1 − 2e
Итак, для конкретной f эмпирический риск близок к ожидаемому с большой
вероятностью.
Нас же интересует более сильное условие:
                      Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ
Pr ∃ f ∈ F : |R(f ) − R(f )| > γ = Pr (A1 ∪ . . . ∪ Aq ) ≤
                           q            q
                        ≤ ∑ Pr (Ai) ≤ ∑ 2e   −2γ 2N       −2γ 2N
                                                      = 2qe
                           i=1         i=1

Мы доказали утверждение:

Утверждение 8.3 (О равномерной сходимости R к R в случае конечного F )
                                                                    −2γ 2N
                Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ ≥ 1 − 2qe

                       1   2q
Следствие 8.4 Если N ≥ 2 ln , тогда
                      2γ   δ

                     Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ         ≥ 1 − δ.

Следствие 8.5
                                                       1 2q
                Pr   ∀ f ∈ F : |R(f ) − R(f )| ≤         ln        ≥1−δ
                                                       N    δ
Следствие 8.6 (Принцип минимизации эмпирического риска) Пусть
                         f ∗ = argmin R(f ),        f = argmin R(f ),
                                 f ∈F                    f ∈F

тогда
                                                    1 2q
                       Pr     R(f ) ≤ R(f ∗ ) + 2     ln        ≥ 1 − δ.
                                                    N    δ

Д ОКАЗАТЕЛЬСТВО .
          0 ≤ R(f ) − R(f ∗ ) = R(f ) − R(f ) + R(f ) − R(f ∗) + R(f ∗ ) − R(f ∗ ) =


                  = R(f ) − R(f ) + R(f ) − R(f ∗ ) + R(f ∗ ) − R(f ∗ ) ≤ 2γ.
                         ≤γ                ≤0                ≤γ

Поэтому
 Pr R(f ) − R(f ∗ ) ≤ 2γ       ≥ Pr R(f ) − R(f ) ≤ γ и R(f ∗ ) − R(f ∗ ) ≤ γ ≥ 1 − δ,

           1 2q
где δ =      ln .
           N   δ
8.2. Случай бесконечного F

Коэффициентом разнообразия (shatter coefficient) ∆0(F , x) множества F на
выборке x называется количество различных бинарных векторов вида

                            f (x1), f (x2 ), . . . , f (xN ) ,

порождаемых всевозможными функциями f из F .
Пример.
В качестве F рассмотрим класс пороговых функций (линейных решающих
правил)
            F = TFp = {f (x) = I(β0 + β, x ≤ 0) : β0 ∈ R, β ∈ Rp }




                             ∆0 (TFp, x) = 8
(все возможные разбиения)
Machine Learning. Курс лекций
Если 3 точки на прямой, то ∆0 (TFp, x) = 6
Если N точек на прямой, то ∆0(TFp, x) = 2N
Если 4 точки (в общем положении) в R2, то . . .
∆0 (TFp, x) = 14
т. е. все без двух
Функцией роста ∆(F , N ) класса F называется максимальное значение ∆0 (F , x),
если максимум берется по всем возможным выборкам x длины N :

                              ∆(F , N ) = max ∆0(F , x).
                                         |x|=N


Утверждение 8.7 Функция роста класса пороговых функций равна
                                N −1   N −1         N −1
             ∆(TFp, N ) = 2          +      + ... +              .
                                  0      1            p

Например,
∆(TF2, 2) = 4, ∆(TF2, 3) = 8, ∆(TF2, 4) = 14, ∆(TF2, 5) = 22
∆(TF3, 2) = 4, ∆(TF3, 3) = 8, ∆(TF3, 4) = 16, ∆(TF3, 5) = 30
Система из N неравенств с неизвестными β0, β1, . . . , βp:

                            β0 + β, x ≤ 0, если f (x) = 0
                            β0 + β, x > 0, если f (x) = 1
Не нарушая общности, можем считать, что точка 0 — один из объектов.
Множество всех функций разобьется на два равномощных класса:
для которых f (0) = 0
и для которых f (0) = 1
Будем считать только первые, а затем результат умножим на 2.
Для них можно считать, что β0 = −1:

                            −1 + β, x ≤ 0, если f (x) = 0
                            −1 + β, x > 0, если f (x) = 1
β2




     β1
β2



                               2
                           1
                                        3
                                            4
                               5
                                    8
                           6
                               7
                                        9


                               11
                      10
                                                β1

Количество областей
Найдем максимальное количество Γ(p, N ) областей, на которые можно разбить
p-мерное пространство N гиперплоскостями.
Справедливо рекуррентное соотношение

                   Γ(p, N ) = Γ(p, N − 1) + Γ(p − 1, N − 1),

откуда получаем
                                 N     N            N
                    Γ(p, N ) =       +      + ... +   .
                                 0     1            p
Размерностью Вапника–Червоненкиса (VC-размерностью), или емкостью, VC(F )
класса F называется максимальное N , при котором ∆(F , N ) = 2N .
Если максимального N не существует, то будем считать, что размерность
Вапника-Червоненкиса равна бесконечности.
Эквивалентно: Размерностью Вапника–Червоненкиса называется наибольшая
мощность множества в X , разбиваемая (shatter) функциями из F .
Говорят, что F разбивает множество {x1, x2, . . . , xN }, если для любого двоичного
набора y ∈ {0, 1}N найдется f ∈ F , такое, что y = f (x1 ), f (x2 ), . . . , f (xN ) .
Чтобы доказать, что VC F = h достаточно проделать две вещи:

  1) доказать VC F ≥ h; для этого достаточно построить {x1, x2, . . . , xN },
     разбиваемое функциями из F ;
  2) доказать VC F ≤ h; для этого достаточно показать, что никакое множество
     из n + 1 точек нельзя разбить функциями из F .
Утверждение 8.8 Если F конечно, то

                            VC(F ) ≤ log2 |F |.

Утверждение 8.9 Размерность Вапника–Червоненкиса класса пороговых функций
равна
                             VC(TFp) = p + 1.
Теорема 8.10 (Вапник–Червоненкис) (О равномерной сходимости R к R в
случае конечной VC F ) Пусть F задано и VC F конечно, тогда

                  Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ ≥ 1 − δ,                 (8)

                       Pr R(f ) ≤ R(f ∗ ) + 2γ ≥ 1 − δ.                     (9)
где
                               VC F     N   1 1
                     γ=O            ln     + ln           .               (10)
                                N      VC F N δ

В правой части неравенства R(f ) ≤ R(f ∗ ) + 2γ с ростом VC F первое слагаемое
убывает, а второе (при VC F < N ) возрастает. Сумма достигает своего минимума
при некотором оптимальном значении VC F .
Также можно доказать, что если VC F = ∞, то равномерной сходимости нет.
Пусть F = {f : f (x, α), α ∈ [0, 1]} — класс решающих правил
R(α) — средний риск, R(α) — эмпирический риск на функции f (x, α)




 R(α)                                                               R(α)




    ∗
                                                 R(α)
 R(α )



                                                                     α
                       α∗                    α
R(α) далеко от минимального значения R(α∗ ).

                        lim Pr |R(f ) − R(f )| ≤ γ   = 1.
                        N →∞
Равномерная сходимость




                                                               R(α)
                                                               R(α)


R(α)
R(α∗ )



                                                                α
                 α       α∗

                 lim Pr ∀f :∈ F : |R(f ) − R(f )| ≤ γ   = 1.
                 N →∞
Принцип структурной минимизации риска, предложенный Вапником,
предназначен для отыскания оптимальной сложности. Пусть в F выделена
некоторая цепочка подсемейств F1 ⊂ F2 ⊂ . . . ⊂ FK = F . Необходимо выбрать
семейство с минимальным значением верхней оценки в (9).
К сожалению, оценки (8)–(10) являются слишком завышенными, чтобы их можно
было использовать для практических вычислений. Однако они представляют
большой интерес с теоретической точки зрения и являются стимулом для
дальнейших исследований в поиске подобных оценок, в частности в теории
вероятностно–приближенно–корректного обучения (probably approximately correct
learning, PAC–learning).
Изложенные здесь результаты распространяются на задачу классификации с
б´ льшим числом классов и на задачу восстановления регрессии.
  о
Пусть F — некоторый класс функций f : X → Y . Размерностью
Вапника–Червоненкиса для класса F называется VC F = VC F , где

                     F = I f (x) − y : f ∈ F , y ∈ Y    .
Теорема 8.11 (Лемма Зауэра; Sauer, 1972; Shelah, 1972) Пусть класс F имеет
конечную размерность Вапника–Червоненкиса VC(F ) = h, тогда
                                                            h
                             N     N           N       eN
               ∆(F , N ) ≤       +     + ... +     <
                             0     1           h        h

More Related Content

DOCX
2044 наибольшее и наименьшее
PDF
001умнов
PDF
логистическая регрессия
PDF
Решение задач на собственные значения
2044 наибольшее и наименьшее
001умнов
логистическая регрессия
Решение задач на собственные значения

What's hot (19)

PDF
К.В. Воронцов "Линейные методы классификации"
PDF
Структурное обучение и S-SVM
PPT
Метод проекции градиента для решения стационарной системы Стокса как задачи ...
PDF
Логические алгоритмы классификации
PDF
К.В.Воронцов "Статистические (байесовские) методы классификации"
PDF
20100919 computer vision_konushin_lecture03
PPT
показательная функция. решение показательных уравнений
DOCX
Конспект урока математики «Тригонометрические функции и их свойства»
PDF
К.В. Воронцов "Методы частичного обучения"
PDF
Soboland Sat
PPTX
Машинное обучение (Открытый семинар по средам)
DOC
уравнения четвертой степени
PDF
Лекция №6 "Линейные модели для классификации и регрессии"
PDF
Статистическое сравнение классификаторов
PDF
20120415 videorecognition konushin_lecture06
PDF
Лекция №4 "Задача классификации"
PDF
CV2011 Lecture 13. Real-time vision
PDF
Лекция №7 "Машина опорных векторов"
PDF
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
К.В. Воронцов "Линейные методы классификации"
Структурное обучение и S-SVM
Метод проекции градиента для решения стационарной системы Стокса как задачи ...
Логические алгоритмы классификации
К.В.Воронцов "Статистические (байесовские) методы классификации"
20100919 computer vision_konushin_lecture03
показательная функция. решение показательных уравнений
Конспект урока математики «Тригонометрические функции и их свойства»
К.В. Воронцов "Методы частичного обучения"
Soboland Sat
Машинное обучение (Открытый семинар по средам)
уравнения четвертой степени
Лекция №6 "Линейные модели для классификации и регрессии"
Статистическое сравнение классификаторов
20120415 videorecognition konushin_lecture06
Лекция №4 "Задача классификации"
CV2011 Lecture 13. Real-time vision
Лекция №7 "Машина опорных векторов"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Ad

Similar to Machine Learning. Курс лекций (20)

PDF
CV2011 Lecture 7. Recognition
PDF
Основы комбинаторики - I
PDF
002умнов
PDF
002умнов
PPT
Практический курс «Основы Data Mining»
PDF
L3: Линейная и логистическая регрессия
PDF
Анализ данных. Лекция 2
PPT
презентация к уроку 1
PDF
L2: Задача классификации и регрессии. Метрики ошибок
PDF
L11: Метод ансамблей
PDF
556 1 алгебра. 10кл.-кузнецова, муравьева и др_минск, 2013 -271с
PDF
Kuznecova 9klass
PDF
117
PDF
554 1 алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
PPT
Prezentaciya2
PPT
Prezentaciya2
PDF
Matematika 10-klass-merzljak-2018-ros
PDF
Data Mining - lecture 4 - 2014
DOC
лин уравнения с параметрами
CV2011 Lecture 7. Recognition
Основы комбинаторики - I
002умнов
002умнов
Практический курс «Основы Data Mining»
L3: Линейная и логистическая регрессия
Анализ данных. Лекция 2
презентация к уроку 1
L2: Задача классификации и регрессии. Метрики ошибок
L11: Метод ансамблей
556 1 алгебра. 10кл.-кузнецова, муравьева и др_минск, 2013 -271с
Kuznecova 9klass
117
554 1 алгебра. 9кл.-кузнецова, муравьева и др_минск, 2014 -287с
Prezentaciya2
Prezentaciya2
Matematika 10-klass-merzljak-2018-ros
Data Mining - lecture 4 - 2014
лин уравнения с параметрами
Ad

Machine Learning. Курс лекций

  • 1. МАШИННОЕ ОБУЧЕНИЕ (Machine Learning) Н.Ю. Золотых 2009, сентябрь–декабрь
  • 3. Глава 1 Постановки и примеры задач
  • 4. Agenda • Что такое машинное обучение? • Постановки задач – Обучение по прецедентам – Обучение без учителя • Примеры практических задач • О курсе
  • 5. 1.1. Что такое машинное обучение? Machine learning — «самообучение машин». Будем говорить, что компьютерная программа, предназаначенная для решения какой-либо задачи, обучается, если со временем качество решения улучшается. • Например, программа распознавания рукописных символов, после предъявления ей серии таких символов с правильными ответами, начинает распознавать точнее. • Программа игры в шахматы после серии проведенных игр начинает играть лучше. • Распознавание спама после обучения на примерах происходит точнее.
  • 6. 1.2. Способы (типы) обучения У людей обучение происходит в результате ознакомления с правилами, теориями, инструкциями и т. п. и/или на основе опыта (собственного или чужого). По аналогичному принципу можно выделить различные способы (типы) обучения и в искусственных системах: • Дедуктивное, или аналитическое, обучение. Имеются знания, сформулированные экспертом и как-то формализованные. Программа выводит из этих правил конкретные факты и новые правила. • Индуктивное обучение. На основе эмпирических данных программа строит общее правило. Эмпирические данные могут быть получены самой программой в предыдущие сеансы ее работы или просто предъявлены ей. • Комбинированное обучение, содержащее элементы как дедуктивного, так и аналитического обучения. В курсе рассматривается только индуктивное обучение.
  • 7. 1.3. Классификация задач индуктивного обучения • Обучение с учителем, или обучение по прецедентам (supervised learning). • Обучение без учителя (unsupervised learning). • Активное обучение (active learning). • Обучение с подкреплением (reinforcment learning). • ... В курсе рассматривается обучение с учителем и обучение без учителя.
  • 8. 1.4. Обучение по прецедентам Множество X — объекты (samples) Множество Y — ответы (responds) Неизвестная функция f ∗ : X → Y Значения f ∗ известны только на конечном множестве объектов x1, x2, . . . , xN : f ∗(xi) = yi (i = 1, 2, . . . , N ). Пара (xi, yi) ∈ X × Y — прецедент. Вся имеющаяся совокупность прецедентов {(x1, y1), (x2 , y2), . . . , (xN , yN )} — обучающая выборка, или обучающая последовательность. Задача обучения по прецедентам: по имеющейся обучающей выборке восстановить f ∗
  • 9. Что значит «восстановить» f ∗? → найти f : X → Y , удовлетворяющую свойствам: • f эффективно вычислима, т. е. должен быть указан эффективный алгоритм ее вычисления • f (xi) = f ∗(xi) или f (xi) ≈ f ∗(xi) (i = 1, 2, . . . , N ). • f должна обладать обобщающей способностью: ее значения должны совпадать (точно или приближенно) со значениями f ∗ на объектах, не вошедших в обучающую выборку. • f (и алгоритм ее вычисляющий) может удовлетворять дополнительным требованиям, например, монотонности, дифференцируемости, гладкости и т. п. В конкретных постановках задачи эти требования формулируются конкретнее. Функцию f называют также алгоритмом или моделью. Процесс нахождения f называют построением алгоритма, подгонкой (fitting) модели и др.
  • 10. Признаковые описания Алгоритм, вычисляющий f , работает не с самими объектами из X , а с их признаковыми описаниями. Признак, или атрибут, объекта — некоторое отображение χ : X → Dχ. Типы признаков • Если Dχ конечно, то χ — номинальный признак, или фактор. Можно считать, например, что, Dχ = {1, 2, . . . , s}. Если |Dχ| = 2 и можно считать, например, что, Dχ = {0, 1}, то признак бинарный. • Если Dχ конечно и упорядочено, то χ — порядковый признак Например, Dχ = {холодно, прохладно, тепло, жарко} • Если Dχ ∈ R, то χ — количественный признак • ...
  • 11. Если (χ1, χ2, . . . , χp) — набор признаков, то вектор χ1(x), χ2(x), . . . , χp(x) есть признаковое описание объекта x. Признаковые описания объектов из обучающей выборки известны. Мы будем отождествлять объект x с его признаковым описанием: x = (x1, x2, . . . , xp) = χ1(x), χ2(x), . . . , χp(x) Таким образом, X = Dχ1 × Dχ2 × . . . × Dχp . Аналогично для выходов y ∈ Y . Объекты из Y отождествляются с их признаковыми описаниями: y = (y1, y2, . . . , yq ) = η1(y), η2 (y), . . . , ηq (y) Далее всюду предполагается, что q = 1, т. е. y — скаляр. x называется входом, y — выходом Компоненты xj вектора x так же называют входами или предикатными (объясняющими) переменными.
  • 12. Типы задач обучения В зависимости от множества Y выделяют разные типы задачи обучения. • Y конечно, например, Y = {1, 2, . . . , K}, — задача классификации (или задача распознавания образов): X разбивается на K классов Xk = {x ∈ X : f (x) = k} (k = 1, 2, . . . , K). По x требуется предсказать, какому классу он принадлежит. • Y = R — задача восстановления регрессии. Требуется найти функцию f из определенного класса, которая аппроксимирует f ∗. • ...
  • 13. 1.5. Обучение без учителя Обучение по прецедентам — это обучение с учителем Такое обучение можно рассматривать как игру двух лиц: ученика, который должен восстановить функцию f , и учителя, который для объектов из обучающей выборки указывает ученику соответствующий им выход. Иногда можно считать, что объекты из обучающей выборки предъявляются средой, а иногда — их выбирает сам учитель, в некоторых случаях их выбирает ученик. Рассматривается также обучение без учителя. В этом случае нет учителя и нет обучающей выборки. Ученик, имея только список объектов x1, x2, . . . , xN , должен определить значения неизвестной функции f (x) для каждого из этих объектов. Это достигается за счет анализа описаний объектов. Так, например, можно предположить, что для «близких» объектов (т.е. для объектов с «близкими» описаниями) выходы также будут близки или даже совпадать.
  • 14. В задачах обучения без учителя заранее специфицированы какие-то свойства функции f . Например, может быть известно, что функция f принимает конечное число различных значений. Получаем задачу кластерного анализа: требуется разбить объекты на группы (кластеры), так, чтобы в одном кластере оказались близкие друг к другу объекты, а в разных кластерах объекты были существенно различные.
  • 15. 1.6. Примеры практических задач Распознавание рукописных символов (цифр) Изображения цифр от 0 до 9 закодированы известным образом. Требуется определить, какая цифра нарисована. Например, код (признаковое описание) — битовая матрица размера 32 × 32. 1 — пиксел черный, 0 — пиксел белый. Изображение перед кодированием масштабируется, чтобы все изображения имели примерно одинаковый размер. Элементы матрицы запишем по строкам получим вектор x длины 322 = 1024 — признаковое описание объекта. X = {0, 1}1024. Множество всех возможных кодов разбивается на 10 классов: Y = {0, 1, 2, . . . , 9} Получили задачу классификации: по x ∈ X требуется определить класс k ∈ Y .
  • 16. Входы x1, x2, . . . , xp — бинарные признаки. Обучение проходит на реальных прецедентах (xi, ki) (i = 1, 2, . . . , N ). Обучающая выборка в примере ÓÔØ Ø ØØÔ »»ÛÛÛº ׺٠º Ù» ÑÐ ÖÒ»ÅÄÊ ÔÓ× ØÓÖݺ ØÑÐ содержит 1934 прецедента.
  • 17. Некоторые объекты из обучающей выборки
  • 18. Проблема построения признакового описания. В задаче распознавания символов можно использовать признаковое описание на основе анализа контура изображения. В примере Ð ØØ Ö¹Ö Ó Ò Ø ÓÒ ØØÔ »»ÛÛÛº ׺٠º Ù» ÑÐ ÖÒ»ÅÄÊ ÔÓ× ØÓÖݺ ØÑÐ распознавания печатных заглавных букв (26 классов) для кодирования изображений используется другой подход.
  • 19. Входами являются (входы отмасштабированы и округлены, так, чтобы они принимали целые значения в диапазоне от 0 до 15; база содержит 20000 прецедентов): 1. ܹ ÓÜ — координата x левого нижнего угла обрамляющего прямоугольника, 2. ݹ ÓÜ — координата y левого нижнего угла обрамляющего прямоугольника, 3. Û Ø — ширина прямоугольника, 4. — высота прямоугольника, 5. ÓÒÔ Ü — общее число подсвеченных пикселей 6. ܹ Ö — среднее значение координаты x для подсвеченных пикселей 7. ݹ Ö — среднее значение координаты y для подсвеченных пикселей 8. ܾ Ö — стандартное отклонение для координаты x подсвеченных пикселей 9. ݾ Ö — стандартное отклонение для координаты y подсвеченных пикселей 10. ÜÝ Ö — коэффициент корреляции x и y подсвеченных пикселей 11. Ü¾Ý Ö — среднее значение x2y 12. Üݾ Ö — среднее значение xy 2 13. ܹ — среднее значение числа отрезков при просмотре слева направо 14. Ü ÚÝ — коэффициент корреляции между средним значением числа отрезков при просмотре слева направо и y 15. ݹ — среднее значение числа отрезков при просмотре снизу вверх 16. Ý ÚÜ — коэффициент корреляции между средним значением числа отрезков при просмотре снизу вверх и x
  • 20. Медицинская диагностика По набору определенных характеристик пациента (симптомов), таких как температура тела, артериальное давление, содержание гемоглобина в крови и т. п., требуется определить, какое у больного заболевание (и болен ли он вообще). Объектами являются пациенты, их признаковым описанием — набор характеристик, а выходом — номер класса. Обучение проходит на достаточном объеме прецедентов. Таким образом, получаем задачу классификации. Могут встречаться признаки разных типов: • бинарные (пол, наличие головной боли), • номинальные (боль может быть тупой, режущей, колющей и т. п.), • порядковые (состояние больного может быть удовлетворительным, средней тяжести, тяжелым, крайне тяжелым), • количественные (температура тела, пульс, давление).
  • 21. Пусть, например, имеется информация о 768 пациентках (см. фрейм данных Ô Ñ из R библиотки Ö Û Ý Julian J. Faraway). История болезни каждой пациентки содержит данные о 8 различных характеристиках, а также информацию о том, больна ли пациетка сахарным диабетом или нет. Все признаки количественные. Имея эту информацию, требуется по набору таких характеристик научиться определять, больна ли пациентка (не из обучающей выборки) или нет. Имеем 768 точек в 8-мерном пространстве.
  • 22. О расположении точек можно судить по 8 бокс-диаграммам Diabetes Triceps Pregnant 0.0 1.0 2.0 0 40 80 0 5 10 15 0 0 0 1 1 1 Age Insulin Glucose 20 40 60 80 0 400 800 0 50 150 0 0 0 1 1 1 BMI Diastolic 0 20 40 60 0 40 80 120 0 0 1 1
  • 23. Проекции точек на двумерную координатную плоскость переменных Ñ (масса/рост2), ÐÙ Ó× (содержание глюкозы).
  • 24. glucose 50 100 150 200 20 30 40 bmi 50 60
  • 25. В задачах медицинской диагностики может ставиться другая цель: определить оптимальный курс лечения (это может быть как задача классификации, так и задача восстановления регрессии), спрогнозировать время протекания болезни (задача восстановления регрессии) и т. п.
  • 26. Прогнозирование цены Предположим, что имеются данные о жилых загородных домах в некоторой местности. Для каждого дома известна его цена, состояние, жилая площадь, количество этажей, количество комнат, время постройки, удаленность до основных магистралей, наличие инфраструктуры, экологическая обстановка в районе и т. п. Требуется научиться предсказывать цену по остальной информации. Объектами являются дома, входами — их характеристики, а выходом — цена дома. Получаем задачу восстановления регрессии.
  • 27. Boston Housing Data из коллекции StatLib (Carnegie Mellon University) Информация агрегирована: територия поделена на участки и дома, стоящие на одном участке, собраны в группы. Таким образом, объектами являются сами эти группы. Их общее количество — 506.
  • 28. Признаки 1. ÊÁÅ — уровень преступности на душу населения, 2. Æ — процент земли, застроенной жилыми домами (только для участков площадью свыше 25000 кв. футов), 3. ÁÆ ÍË — процент деловой застройки, 4. À Ë — 1, если участок граничит с рекой; 0 в противном случае (бинарный признак), 5. ÆÇ — концентрация оксида азота, деленная на 107, 6. ÊÅ — среднее число комнат (по всем домам рассматриваемого участка), 7. — процент домов, построенных до 1940 г. и занимаемых владельцами, 8. ÁË — взвешенное расстояние до 5 деловых центров Бостона, 9. Ê — индекс удаленности до радиальных магистралей, 10. Ì — величина налога в $10000, 11. ÈÌÊ ÌÁÇ — количество учащихся, приходящихся на одного учителя (по городу), 12. = 1000( − 0.63)2, где — доля афро-американцев, 13. ÄËÌ Ì — процент жителей с низким социальным статусом.
  • 29. Признак À Ë — бинарный, остальные — количественные. Выходом является переменная Å Î, равная медианному значению цены строения (по всем домам участка) в $1000. Ее нужно научиться предсказывать.
  • 30. Диаграммы рассеяния для каждой пары переменных Å Î, ÁÆ ÍË, ÆÇ , ÊÅ, , ÈÌÊ ÌÁÇ, . Значение переменной Å Î нужно научиться предсказывать по значениям остальных переменных. Изображены только по 100 слечайных точек. 0 15 4 6 8 14 20 5 20 40 MEDV 10 15 INDUS 0 0.7 NOX 0.4 8 6 RM 4 80 AGE 20 20 PTRATIO 14 0 200 B 20 LSTAT 5 10 40 0.4 0.7 20 80 0 200
  • 31. Анализ данных, полученных с биочипов Биочип, или микроэррэй, (biochip, microarray) — это миниатюрный прибор, измеряющий уровень экспрессии генов в имеющемся материале. Экспрессия — это процесс перезаписи информации с гена на РНК, а затем на белок. Количество и даже свойства получаемого белка зависят не только от гена, но также и от различных внешних факторов (например, от введенного лекарства). Таким образом, уровень экспрессии — это мера количества генерируемого белка. На биочип кроме исследуемого материала помещается также «контрольный» генетический материал. Положительные значения (красный цвет) — увеличение уровня экспрессии по сравнению с контрольным. Отрицательные значения (зеленый цвет) — уменьшение.
  • 32. Условное изображение биочипа. Каждая точка на рисунке соответствует определенному гену. Всего анализируется 132 × 72 = 9504 гена. Brown, V.M., Ossadtchi, A., Khan, A.H., Yee, S., Lacan, G., Melega, W.P., Cherry, S.R., Leahy, R.M., and Smith, D.J.; Multiplex three dimensional brain gene expression mapping in a mouse model of Parkinson’s disease; Genome Research 12(6): 868-884 (2002).
  • 34. Пусть было проведено несколько экспериментов, в которых на биочип вместе с контрольным материалом размещались разные другие генетические материалы, например, полученные после введения разных лекарств. Информацию, полученную в результате проведения такой серии экспериментов можно представить в виде числовой матрицы, в которой строки соответсвуют разным генам, а столбцы — разным экспериментам (разным клеткам). Поставим следующие задачи: (а) Найти гены, показавшие высокую экспрессию, в заданных экспериментах. (б) Разбить гены на группы в зависимости от влияния на них экспериментов. Гены, реагирующие «почти одинаковым» образом в «большом» числе эспериментов, должны попасть в одну группу. Гены, реагирующие по-разному, должны находиться в разных группах. (в) Разбить эксперименты на группы в зависимости от их влияния на гены. Эксперименты, в которых одинаковые гены реагировали «сходным» образом должны оказаться в одной группе. Эксперименты, в которых гены реагировали «различно», должны находиться в разных группах. Задачи (б) и (в) — это задачи кластерного анализа.
  • 35. Данные для 60 экспериментов с биочипом. «Genomics Bioinformatics Group» ØØÔ »» × ÓÚ ÖºÒ ºÒ º ÓÚ» Ø × Ø×Æ ØÙÖ ¾¼¼¼º ×Ô Строки соответсвуют генам, столбцы — экспериментам. Приведены только первые 100 строк (из общего числа 1375). Строки, содержащие отсутствующие значения, исключены.
  • 36. ME.LOXIMVI ME.MALME.3M ME.SK.MEL.2 ME.SK.MEL.5 ME.SK.MEL.28 LC.NCI.H23 ME.M14 ME.UACC.62 LC.NCI.H522 LC.A549.ATCC LC.EKVX LC.NCI.H322M LC.NCI.H460 LC.HOP.62 LC.HOP.92 CNS.SNB.19 CNS.SNB.75 CNS.U251 CNS.SF.268 CNS.SF.295 CNS.SF.539 CO.HT29 CO.HCC.2998 CO.HCT.116 CO.SW.620 CO.HCT.15 CO.KM12 OV.OVCAR.3 OV.OVCAR.4 OV.OVCAR.8 OV.IGROV1 OV.SK.OV.3 LE.CCRF.CEM LE.K.562 LE.MOLT.4 LE.SR RE.UO.31 RE.SN12C RE.A498 RE.CAKI.1 RE.RXF.393 RE.786.0 RE.ACHN RE.TK.10 ME.UACC.257 LC.NCI.H226 CO.COLO205 OV.OVCAR.5 LE.HL.60 LE.RPMI.8226 BR.MCF7 UN.ADR.RES PR.PC.3 PR.DU.145 BR.MDA.MB.231.ATCC BR.HS578T BR.MDA.MB.435 BR.MDA.N BR.BT.549 BR.T.47D 248589 248257 245939 245868 245450 244736 242678 241935 241037 240566 239001 233795 232896 222341 221263 220376 211995 211515 211086 209731 208950 203527 200696 197549 189963 175269 166966 162077 159512 158337 158260 152241 146311 145965 145292 144758 143985 136798 135118 130532 130531 130482 130476 128329 126471 125308 124918 122347 116819 114116 112383 108840 108837 86102 79617 79319 76539 74275 74070 73185 72214 72199 68068 67939 61539 52519 52218 52128 51904 51104 50914 50250 50243 49729 46818 46694 46173 45720 44449 43555 41232 38915 37627 37330 37153 37060 37054 36380 35271 31905 31861 29194 26811 26677 26599 25831 25718 23933 22264 21822
  • 37. Лингвистика Список Сводеша (Swadesh) — список из 207 слов языка, заимствовование которых из других языков (на поздних этапах) мало вероятно (местоимения, числительные 1–5, глаголы, обозначающие простые действия и т. п.)
  • 38. Русский Английский Немецкий Итальянский Французский Чешский 1 я I ich io je j´ a 2 ты you du tu tu ty 3 он he er lui il on 4 мы we wir noi nous my 5 вы you ihr voi vous vy 6 они they sie loro ils oni 7 этот this dieses questo ceci tento 8 тот that jenes quello cela tamten 9 здесь here hier qui ici zde 10 там there dort l´ a l´ a tam 11 кто who wer chi qui kdo 12 что what was che quoi co 13 где where wo dove o` u kde 14 когда when wann quando quand kdy 15 как how wie come comment jak 16 не not nicht non ne. . . pas ne ................................................................................. 205 если if wenn se si jestlize 206 потому что because weil perch´ e parce que protoze 207 имя name Name nome nom jm´ no e
  • 39. На основе анализа списков Сводеша для разных языков можно установить степень их родства и выделить группы родственных языков — это задача кластерного анализа. Более того, на основе анализа списка Сводеша для двух родственных языков можно приблизительно установить время их появляения из единого пра-языка.
  • 40. Матрица сходства между некоторыми языками, построенная на основе списков Сводеша.
  • 41. English German Dutch Swedish Danish Italian French Spanish Portuguese Latin Esperanto Slovene Czech Polish Slovio Lithuanian Latvian Hungarian Finnish Estonian Euskara Quenya Sindarin English German Dutch Swedish Danish Italian French Spanish Portuguese Latin Esperanto Slovene Czech Polish Slovio Lithuanian Latvian Hungarian Finnish Estonian Euskara Quenya Sindarin
  • 42. списков Сводеша. Дерево иерархической кластеризации для 23 языков, построенное на основе English German Dutch Swedish Danish Italian French Spanish Portuguese Latin Esperanto Slovene Slovio Czech Polish Lithuanian Latvian Hungarian Finnish Estonian Quenya Sindarin Euskara
  • 43. Программа курса • Различные алгоритмы и подходы к решению задач машинного обучения: – Линейная регрессия – Метод ближайших соседей – Метод опорных векторов – Нейронные сети – Деревья решений – Бустинг – Графические вероятностные модели – Обучение без учителя, кластеризация • Элементы теории (Вапника–Червоненкиса) о предсказательной способности алгоритмов обучения
  • 44. Лабораторные работы Лабораторные работы — в среде для статистических вычислений R ÛÛÛºÖ¹ÔÖÓ ØºÓÖ Предварительный список тем: • Знакомство с R • Проверка вероятностных гипотез • Регрессия • Метод опорных векторов • Метод деревьев решений • Алгоритмы кластеризации • Оценка и анализ ошибки предсказания. Бутстрэп, метод перекрестного контроля • Бустинг Будут конкурсные задания!
  • 45. Литература [1] Hastie T., Tibshirani R., Friedman J. The elements of statistical learning. Springer, 2001. [2] Ripley B.D. Pattern recognition and neural networks. Cambridge University Press, 1996. [3] Bishop C.M. Pattern recognition and machine learning. Springer, 2006. [4] Duda R. O., Hart P. E., Stork D. G. Pattern classification. New York: JohnWiley and Sons, 2001. [5] Mitchell T. Machine learning. McGraw Hill,1997. [6] Воронцов К.В. Математические методы обучения по прецедентам. Курс лекций. Москва, ВЦ РАН, 2005. ØØÔ »»ÛÛÛº ׺ÖÙ»ÚÓÖÓÒ»Ø Ò º ØÑÐ
  • 46. [7] Загоруйко Н.Г. Прикладные методы анализа данных и знаний. Новосибирск: Изд-во Ин-та математики, 1999. [8] Николенко С. Машинное обучение. Курс лекций. СПб.: ПОМИ РАН, 2006. ØØÔ »»ÐÓ ºÔ Ñ ºÖ ׺ÖÙ» × Ö Ý»
  • 47. [9] Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: основы моделирования и первичная обработка данных. М.: Финансы и статистика, 1983. [10] Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: исследование зависимостей. М.: Финансы и статистика, 1985. [11] Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: классификация и снижение размерности. М.: Финансы и статистика, 1989. [12] Вапник В.Н., Червоненкис А.Я. Теория распознавания образов. М.: Наука, 1974. [13] Вапник В.Н. Восстановление зависимостей по эмпирическим данным. М.: Наука, 1979. [14] Vapnik V.N. The nature of statistical learning theory. New York: Springer, 1995. [15] Vapnik V.N. Statistical learning theory. New York: John Wiley, 1998. wiki-портал: ØØÔ »»ÛÛÛºÑ Ò Ð ÖÒ Ò ºÖÙ
  • 48. Сайт курса: ØØÔ »»ÛÛÛºÙ ºÒÒÓÚºÖÙ» ÞÒÝ»ÑÐ (конспекты лекций, лабораторные работы, описание системы R, ссылки) Курс разработан при поддержке Intel. Кураторы от Интел: Виктор Ерухимов и Игорь Чикалов.
  • 49. ЛЕКЦИЯ 2 План • Вероятностная постановка задачи • Восстановление функции распределения • Принцип минимизации эмпирического риска • Регрессионная функция • Байесов классификатор • Метод стохастической минимизации
  • 50. 1.7. Вероятностная постановка задачи Будем рассматривать пары (x, y) как реализации (p + 1)-мерной случайной величины (X, Y ), заданной на вероятностном пространстве X × Y , F, Pr . X ∈ Rp, Y ∈ R. Интегральный закон распределения P (x, y) = P (x |y)P (y) не известен, однако известна выборка {(x1 , y1), (x2, y2), . . . , (xN , yN )} , где (xi, yi) являются реализациями случайной величины (X, Y ). Требуется найти функцию f : X → Y , которая по x предсказывает y.
  • 51. Пусть дана функция потерь (штраф) L(y |y) = L(f (x)| y). x — некоторый вход, y — соответствующий выход y = f (x) — предсказанное значение Квадратичная функция потерь (часто в задаче восстановления регрессии): L(y |y) = (y − y)2 . В задаче классификации часто используется функция 0, если f (x) = y, L(y |y) = 1, если f (x) = y. В общем случае в задаче классификации на K классов функция потерь полностью описывается K × K матрицей L = ( ky ), где ky = L(k |y). Пусть, например, в задаче медицинской диагностики Y = {0, 1}, где y = 0 — пациент здоров, y = 1 — пациент болен. L(1|1) = L(0|0) = 0 L(1|0) = 1 — болезнь определена у здорового пациента L(0|1) = 10 — болезнь не определена у больного пациента
  • 53. Мат. ожидание функции потерь R(f ) = E L f (x)| y = L f (x)| y dP (x, y) X×Y называется cредним риском, средней ошибкой или ожидаемой ошибкой предсказания. Разумный подход: в качестве f взять функцию из заданного класса F , минимизирующую средний риск R(f ). НО: закон P (x, y) не известен и поэтому мы не можем точно вычислить R(f ). Два подхода: 1) Восстановить P (x, y) по обучающей выборке, а затем минимизировать R(F ) 2) «Прямой подход»
  • 54. 1.8. Методы минимизации среднего риска 1.8.1. Восстановление функции распределения вероятности Будем минимизировать средний риск R(f ) = L f (x)| y dP (x, y) (∗) X×Y 1) по имеющейся выборке (x1, y1 ), . . . , (xN , yN ) решается задача восстановления функции распределения P (x, y). 2) восстановленная функция P (x, y) подставляется в (*) вместо P (x, y) и решается задача минимизации. В качестве P (x, y) можно взять выборочную функцию распределения. Согласно теореме Гливенко с ростом N эмпирическая функция распределения равномерно приближается к истинной.
  • 55. Замечание 1.1 Известно, что задача восстановления функции распределения является некорректно поставленной, поэтому гарантировать успех в описанном подходе можно, только если об этой функции известно достаточно много и выборка большая. Более того, задача восстановления функции распределения является центральной задачей в математической статистике и нецелесообразно сводить рассматриваемую частную задачу (минимизации среднего риска) к более общей.
  • 56. 1.8.2. Принцип минимизации эмпирического риска «Прямой» подход Элементы обучающей выборки {(x1, y1), . . . , (xN , yN )} распределены случайно и независимо, каждый согласно закону распределения P (X, Y ), поэтому 1 N R(f ) ≈ R(f ) = R(f, x1, y1, . . . , xN , yN ) = N ∑L f (xi)|yi , i=1 R(f ) — эмпирический риск. Так как xi, yi выбираются случайно, то R(f ) — случайная величина (статистика). Нетрудно видеть, что σ2 E R(f ) = E L f (X)|Y = R(f ), D R(f ) = , N где σ 2 — дисперсия случайной величины L(f (X)| Y ). Заметим, что σ 2 зависит от f . Насколько эмпирический риск может отклоняться от среднего риска?
  • 57. Утверждение 1.2 Для любого δ с вероятностью больше 1 − δ σ σ R(f ) − √ ≤ R(f ) ≤ R(f ) + √ . Nδ Nδ Д ОКАЗАТЕЛЬСТВО . Согласно неравенству Чебышева D R(f ) Pr |R(f ) − E R(f )| > ε ≤ 2 . ε Обозначим правую часть этого неравенства через δ. Учтем, что σ2 E R(f ) = E L f (X)|Y = R(f ), D R(f ) = . N Получаем требуемое. Следствие 1.3 Для любой f ∈ F lim Pr |R(f ) − R(f )| > ε = 0, N →∞ т. е. R(f ) сходится по вероятности к R(f ).
  • 58. С помощью схемы Бернулли можно получить более сильные оценки, но пока этого достаточно.
  • 59. Принцип (или метод) минимизации эмпирического риска: в заданном классе F необходимо найти функцию f , доставляющую минимум эмпирическому риску R(f ), и предложить f в качестве решающего правила f . Таким образом, задачу минимизации среднего риска R(f ) мы заменили задачей минимизации эмпирического риска R(f ). Важно, чтобы при этом функция, минимизирующая R(f ), доставляла среднему риску R(f ) значение, близкое к минимальному. Для этого не достаточно обычной сходимости по вероятности из следствия 1.3, а нужна равномерная сходимость: lim Pr sup |R(f ) − R(f )| > ε = 0. N →∞ f ∈F Теория Вапника–Червоненкиса дает для этого необходимые и достаточные условия
  • 60. Всегда ли метод миимизации эмпирического риска приводит к успеху? Не всегда. Рассмотрим задачу классификации. 1 Y = {0, 1}, p(Y = 0) = p(Y = 1) = 2 . Пусть решающее правило f на элементах обучающей выборки дает верное значение выхода, а для всех остальных — случайный ответ. 1 Имеем R(f ) = 0, R(f ) = 2 и понятно, что метод не обладает никакой обобщающей способностью (Вапник, Червоненкис). Как это согласуется с утверждением 1.2?
  • 61. Пусть F = {f : f (x, α), α ∈ [0, 1]} — класс решающих правил R(α) — средний риск, R(α) — эмпирический риск на функции f (x, α) R(α) R(α) ∗ R(α) R(α ) α α∗ α R(α) далеко от минимального значения R(α∗ ). lim Pr |R(f ) − R(f )| > ε = 0. N →∞
  • 62. Равномерная сходимость R(α) R(α) R(α) R(α∗ ) α α α∗ lim Pr sup |R(f ) − R(f )| > ε = 0. N →∞ f ∈F
  • 63. Замечание 1.4 Некоторые хорошо известные методы машинного обучения являются частными случаями метода минимизации эмпирического риска. Например, в случае квадратичной функции потерь эмпирический риск равен 1 N ∑ 2 R(f ) = yi − f (xi) . N i=1 В этом случае метод минимизации эмпирического риска называется методом наименьших квадратов. В задаче восстановления плотности вероятности для логарифмической функции потерь эмпирический риск равен 1 N R(p) = − N ∑ ln p(xi) i=1 В этом случае метод минимизации эмпирического риска называется методом максимального правдоподобия (Фишер).
  • 64. 1.8.3. Регрессионная функция R(f ) = L f (x)| y dP (x, y) = L f (x)| y dP (y | x) dP (x), X×Y X Y т. е. R(f ) = E L f (x)| Y |x dP (x) X
  • 65. Рассмотрим задачу восстановления регрессии с квадратичной функцией потерь: 2 2 R(f ) = y − f (x) dP (y |x) dP (x) = E Y − f (x) |x dP (x). X Y X Очевидно, минимизировать R(f ) можно поточечно: f ∗(x) = argmin E (Y − c)2 | x , (1) c откуда f ∗(x) = E (Y |x). (2) Это так называемая регрессионная функция. Итак, в случае квадратичной функции потерь наилучшим предсказанием y в ответ на вход x является условное среднее. Упражнение 1.5 Доказать, что из (1) следует (2), при этом R(f ∗ ) = E D (Y | X). Упражнение 1.6 Доказать, что если в качестве функции потерь выбрана L(y | y) = |y − y|, то минимум среднему риску доставляет условная медиана f (x) = median(Y |x).
  • 66. Возникает задача аппроксимации условного среднего E (Y |x) по имеющимся эмпирическим данным. 1) Заменим f ∗ (x) выборочным средним 1 f (x) = ∑ yi, |I(x)| i∈I(x) где I(x) = {i : xi = x} , Как правило, такое решение к успеху не приводит, так как обычно x встречается в обучающей выборке не более одного раза. 2) В методе k ближайших соседей вместо выборочного среднего берут 1 f (x) = ∑ yi, k xi∈Nk (x) где через Nk (x) обозначено множество из k точек обучающей выборки, ближайших (по евклидову расстоянию) к x. Частным случаем является метод (одного) ближайшего соседа, в котором f (x) = yi, где xi — ближайшая к x точка из обучающей выборки.
  • 67. Метод k ближайших соседей для задачи восстановления регрессии 1.0 1.5 2.0 2.5 3.0 3.5 4.0 1.0 1.5 2.0 2.5 3.0 3.5 4.0 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 k=1 k=2 1.0 1.5 2.0 2.5 3.0 3.5 4.0 1.0 1.5 2.0 2.5 3.0 3.5 4.0 0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 k=5 k = 14
  • 68. Итак, метод ближайших соседей похож на метод восстановления функции распределения вероятности, только теперь аппроксимируется не плотность вероятности, а условное среднее.
  • 69. 1.8.4. Байесов классификатор Рассмотрим задачу классификации. Y = {1, 2, . . . , K}. Минимизируем средний риск K R(f ) = ∑L f (x)| y · Pr (y | x) dP (x). (∗∗) y=1 X Пусть функция потерь определяется формулой 0, если y = y, L(y |y) = 1, если y = y. Тогда подинтегральная функция в (**) есть вероятность ошибки (при заданном x) и поэтому R(f ) = 1 − Pr Y = f (x)| x dP (x), X откуда находим f ∗ (x) = argmin R(f ): f ∗(x) = argmin 1 − Pr (y | x) , y∈Y
  • 70. или, что эквивалентно, f ∗ (x) = argmax Pr (y |x). (+) y∈Y Функция f ∗ (x), найденная по этим формулам, называется байесовым классификатором или байесовым решающим правилом. Средний риск байесова классификатора называется байесовой ошибкой. Байесов классификатор играет в задаче классификации роль, схожую с той, которую играет регрессионная функция в задаче восстановления регрессии. Pr (y | x) называется апостериорной вероятностью появления объекта из класса y, и правило (+) называется принципом максимума апостериорной вероятности. Если классы равновероятны, т. е. Pr (y) = 1/K, то p(x |y) Pr (y) p(x |y) Pr (y | x) = = p(x) Kp(x) f (x) = argmax p(x |y). (++) y Плотность p(x |y) часто называется правдоподобием (likelihood), поэтому правило (++) называется методом максимального правдоподобия (maximum-likelihood method).
  • 71. Таким образом, байесов классификатор — это оптимальный классификатор. Предполагается, что условные вероятности Pr (y | x) известны. Как это можно использовать на практике? Будем аппроксимировать Pr (y | x) 1) Метод ближайших соседей (для задачи классификации) 2) Восстановление условной плотности вероятности
  • 72. Метод ближайших соседей для задачи классификации Будем, как и в задаче восстановления регрессии, для аппроксимации Pr (y |x) использовать k ближайших (по евклидову расстоянию) объектов из обучающей выборки. Получаем метод k ближайших соседей для задачи классификации. Пусть Nk (x) — множество из k ближайших к x (по евклидову расстоянию) точек из обучающей выборки, Ik (x, y) — множество тех точек xi из Nk (x), для которых yi = y. Согласно методу k ближайших соседей в качестве f (x) берем результат голосования по всем точка из Ik (x, y): f (x) = argmax |Ik (x, y)|, y Частным случаем является метод (одного) ближайшего соседа, в котором f (x) = yi, где xi — ближайший к x объект из обучающей выборки. В этом случае Ωy представляют собой области Вороного
  • 73. Диаграмма Вороного для набора из 50 точек. Штриховыми линиями отмечены неограниченные участки границы
  • 74. Восстановление функции распределения Другой способ аппроксимировать Pr (y | x) — воспользоваться формулой Байеса. Если X — непрерывная случайная величина и p(x) = 0, то p(x |y) · Pr (y) p(x |y) Pr (y) Pr (y | x) = = K . p(x) ∑ p(x |k) · Pr (k) k=1 Таким образом, задача сведена к задаче восстановлению по обучающей выборке условной плотности вероятности p(x |y) и вероятности Pr (y).
  • 75. 1.8.5. Метод стохастической минимизации [Robins, Monroe, 1951, Айзерман, Браверман, Розоноэр, 1965, Amari, 1967, Цыпкин, 1971, 1973]. Пусть класс F решающих функций параметризован вектором α: F = {f (x) = f (x, α) : α ∈ Rq } . Требуется найти α∗, минимизирующее функционал R(α) = L f (x, α)| y dP (x, y). X×Y Метод основан на итерациях α(k+1) = α(k) − γk · ∇αL f (x(k), α(k))|y (k) (k = 1, 2, . . . , N ). При некоторых необременительных ограничениях на γk и ∇α L f (x, α)| y процесс сходится к α∗, минимизирующему R(α). Для гарантированной корректной работы выборка должна быть очень большой. Далее этот метод в курсе не рассматривается.
  • 78. Agenda • Регрессионная функция – Метод наименьших квадратов – Метод максимального правдоподобия • Линейная регрессия • Оценка коэффициентов по выборке • Переобучение • Сокращение числа параметров и «усадка» коэффициентов – Выбор подмножества параметров – Гребневая регрессия – Лассо – Метод главных компонент – Частичные наименьшие квадраты
  • 79. Регрессия Фрэнсис Гальтона (1822–1911) «Регрессия к середине в наследовании роста» (1885 г.) Зависимость роста взрослого ребенка от роста родителей в исследовании Ф. Гальтона
  • 80. 74 72 70 Child height 68 66 64 data x=y 62 regression means 64 66 68 70 72 74 Parents height 928 наблюдений ch = 0.65par + 24 = 68.2 + 0.65 × (par − 68.2)
  • 81. 5 Residuals 0 −5 64 66 68 70 72 74 Parents height
  • 82. x = средняя оценка по мат. анализу и алгебре в 1-м семестре y = средняя оценка по мат. анализу, алгебре и программированию во 2-м семестре 5.0 4.5 2nd semester 4.0 3.5 3.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 1st semester 79 студентов
  • 83. 5.0 4.5 2nd semester 4.0 3.5 3.0 data x=y 2.5 regression means 3.0 3.5 4.0 4.5 5.0 5.5 1st semester sem2 = 0.93 + 0.77 × sem1 ≈ 3.86 + 0.77 × (sem1 − 3.82) 3.82 — средняя оценка по всем студентам в 1-м семестре 3.86 — средняя оценка по всем студентам во 2-м семестре
  • 84. Зависимость между массой тела и массой мозга животного 5e+03 African elephant Asian elephant Human Giraffe 5e+02 Donkey Horse Chimpanzee Cow Gorilla Rhesus monkey Sheep Pig Jaguar Brachiosaurus Potar monkey Grey wolf Goat 5e+01 Triceratops brain Kangaroo Dipliodocus Cat Rabbit Mountain beaver 5e+00 Guinea pig Mole Rat Golden hamster 5e−01 Mouse 1e−01 1e+01 1e+03 1e+05 body lg brain = β0 + β1 lg body β0 = 0.94, β1 = 0.75 brain = 8.6 × (body)3/4
  • 85. Обучающая выборка (x1, y1), (x2, y2), . . . , (xN , yN ) xi ∈ X , yi ∈ Y (i = 1, 2, . . . , N ) f ∗ (xi) = yi (i = 1, 2, . . . , N ) Нужно «восстановить» f ∗ В задаче восстановления регрессии Y =R
  • 86. Часто используется модель с аддитивной случайной ошибкой: y = f ∗(x) + ε, где ε — случайная величина (ошибка), не зависящая от x, и E ε = 0. f (x) = E (Y |X = x) и зависимость условного распределения P (y | x) от X проявляется только через условное среднее f (x).
  • 87. Предположим, что f ∗ (x) принадлежит некоторому классу. Например, является линейной функцией: p f (x) = β0 + ∑ xj βj (1) j=1 или функцией вида (более общий случай) q f (x) = ∑ βj hj (x), (2) j=1 где βj — неизвестные параметры, а hj (x) — заданные функции. (1) и (2) — линейная задача наименьших квадратов Но βj могут входить нелинейным образом (нелинейная задача наименьших квадратов) Например, y = β1eλ1 x + β2eλ2x.
  • 88. Метод наименьших квадратов — один из методов нахождения неизвестных параметров β Ищем набор параметров β, доставляющих минимум сумме квадратов невязок, или остаточной сумме квадратов (residual sum of squares) N 2 RSS(β) = ∑ yi − f (xi, β) . i=1 Метод наименьших квадратов — не единственный способ подбора неизвестных коэффициентов регрессионной функции.
  • 89. Принцип макcимального правдоподобия — более общий метод Y — с. в. с плотностью вероятности p(y, θ), где θ — вектор параметров. N копий непрерывной случайной величины Y : Y1, Y2, . . . , YN (N независимых одинаково распределенных с.в.) N реализаций этих величин: y1, y2, . . . , yN Плотность вероятности с.в. (Y1 , Y2, . . . , YN ): L(θ) = p(y1, y2, . . . , yN , θ) = p(y1, θ) · p(y2, θ) · . . . · p(yN , θ) L(θ) — функция правдоподобия Логарифмическая функция правдоподобия: N (θ) = ln L(θ) = ∑ ln p(yi, θ). i=1 (Если Y — дискретная случайная величина, то вместо p(yi, θ) нужно рассмотреть вероятность Pr {Y = yi}) Принцип максимального правдоподобия предполагает, что наиболее разумные значения неизвестных параметров θ доставляют максимум функции L(θ) (и (θ)).
  • 90. Рассмотрим модель y = f ∗(x, β) + ε, где ε имеет нормальное распределение N (0, σ 2) ⇔ условная вероятность p(y |x) имеет нормальное распределение: 2 1 y − f (y, β) − · 1 2 σ2 p(y | x, β) = √ ·e 2πσ Тогда N N 1 N (β) = ∑ ln p(yi |x, β) = − ln 2π − N ln σ − 2 ∑ yi − f (xi, β) 2 i=1 2 2σ i=1 В ней только последний член содержит вектор параметров β С точностью до множителя этот член равен RSS(β) Итак, при сделанных предположениях метод наименьших квадратов эквивалентен принципу максимального правдоподобия
  • 91. 2.1. Линейная регрессия Линейная регрессионная модель: p f (x) = β0 + ∑ xj βj j=1 Случайные величины Xj могут представлять собой: • независимые переменные; • функции от независимых переменных (степенные, логарифмические и др.); • закодированные качественные переменные; • функции от нескольких независимых переменных, например, X3 = X1 · X2. В методе наименьших квадратов в качестве β = (β0, β1, . . . , βp) выбираются параметры, доставляющие минимум остаточной сумме квадратов 2 N N p RSS(β) = ∑ yi − f (xi) = ∑ yi − β0 − ∑ xij βj 2 . i=1 i=1 j=1
  • 92. С точки зрения теории математической статистики этот метод разумен, если элементы обучающей выборки выбираются случайно и независимо из генеральной совокупности. Метод остается в силе, даже если xi выбираются не случайным образом, но yi условно независимы при заданных xi.
  • 93. y y = β0 + β1 x1 + β2 x2 x2 x1
  • 94. 1.0 0.5 y 0.0 0.0 0.2 0.4 0.6 0.8 1.0 x
  • 95. 1.0 0.5 y 0.0 0.0 0.2 0.4 0.6 0.8 1.0 x
  • 96. 1.0 0.8 0.6 y 0.4 0.2 0.0 −0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2 x
  • 97. data y~x 1.0 x~y prin. comp. 0.5 y 0.0 0.0 0.2 0.4 0.6 0.8 1.0 x
  • 98. Как найти минимум функции RSS(β)? Пусть     1 x11 x12 . . . x1p y1      1 x x ... x   y2   21 22 2p    X= , y= .   ..................   .      1 xN 1 xN 2 . . . xN p yN Тогда 2 RSS(β) = y − Xβ = (y − Xβ) (y − Xβ). Можно рассмотреть систему уравнений (относительно β) Xβ = y β называется псевдорешением этой системы (оно минимизирует норму невязки). RSS(β) — квадратичная функция от p + 1 неизвестных (параметров) β0, β1, . . . , βp. Дифференцируя, находим: ∂ RSS ∂ 2RSS = −2X (y − Xβ), = 2X X. ∂β ∂β ∂β
  • 99. Обозначим x0, x1, . . . , xp столбцы матрицы X. Если x0, x1, . . . , xp линейно независимы, то матрица X X невырождена и положительно определена, поэтому минимум функции RSS(β) достигается, когда первая производная по β обращается в ноль: X (y − Xβ) = 0 ⇔ X Xβ = X y. Это нормальная система уравнений Единственным решением является вектор β = (X X)−1X y Итак, псевдорешением системы Xβ = y является решение системы X Xβ = X y. Матрица X+ = (X X)−1 X называется псевдообратной (Мура–Пенроуза) к X. Входным значениям x1, x2, . . . , xN будет соответствовать вектор выходных переменных y = (y1 , y2, . . . , yp) = Xβ = X(X X)−1X y. Пусть H = X(X X)−1X , тогда получаем y = Hy y есть ортогональная проекция вектора y на подпространство, натянутое на векторы x0, x1, . . . , xp
  • 100. H называется матрицей проектирования
  • 101. y x2 y x1
  • 102. Если столбцы матрицы X линейно зависимы, то β, на котором достигается минимум функции RSS(β), не единственен, однако, по-прежнему, y является ортогональной проекцией вектора y на линейную оболочку векторов x0, x1, . . . , xp .
  • 103. 2.1.1. Проверка значимости и доверительные интервалы для коэффициен- тов (регрессионный анализ) p Yi = β0 + ∑ βj xij + Ei (i = 1, 2, . . . , N ), j=1 где βj — некоторые коэффициенты (j = 0, 1, . . . , p). Пусть xij заданы (не случайны), а Ei — случайные величины, для которых E Ei = 0, Var Ei = σ 2, Cov(Ei, Ej ) = 0 (i = j). Тогда Yi — случайные переменные, причем p E Yi = β0 + ∑ βj xij , (1) j=1 Var Yi = σ 2, Cov(Yi, Yj ) = 0 (i = j). Запишем (1) в виде E y = Xβ.
  • 104. Рассмотрим некоторые полезные свойства коэффициентов β, полученных методом наименьших квадратов. Так как β = (X X)−1X y, то E β = (X X)−1 X E y = (X X)−1X Xβ = β, Cov β = (X X)−1X σ 2X(X X)−1 = (X X)−1 σ 2. Свойство E β = β означает, что β является несмещенной оценкой β. Разности p ei = yi − yi = yi − ∑ βj xij j=1 называются остатками. Нетрудно доказать, что N ∑ ei = 0. (2) i=1
  • 105. Из (2) следует, что n y = β0 + ∑ βj xj , j=1 где N N 1 1 y= N ∑ yi, x= N ∑ xi . i=1 i=1 Также легко получить, что N N ∑ yi = ∑ yi. i=1 i=1
  • 106. Несмещенной оценкой дисперсии σ 2 является остаточная дисперсия N 1 2 σ = ∑(yi − yi)2. N − p − 1 i=1 Для доказательства несмещенности оценки достаточно заметить, что RSS равна y (I − H)y, откуда E RSS = σ 2(N − p − 1). Величина N − p − 1 называется количеством степеней свободы. Значение σ называют остаточной стандартной ошибкой.
  • 107. Наряду с RSS рассмотрим связанные с ней величины: полную сумму квадратов (точнее: полную сумму скорректированных на среднее квадратов) N TSS = ∑(yi − y)2 i=1 и сумму квадратов, обусловленную регрессией (точнее: сумму скорректированных на среднее квадратов, обусловленную регрессией) n SSR = ∑(yi − y)2. i=1 Можно показать, что TSS = RSS + SSR . Упражнение 2.1 Доказать, что TSS = RSS + SSR. Это можно доказать непосредственное, а можно воспользоваться тем, что y − y ортогонально y − y, где y — вектор, составленный из y.
  • 108. Коэффициент детерминации. Коэффициент детерминации, или коэффициент регрессии Пирсона 2 SSR RSS r = =1− . TSS TSS RSS — мера разброса Yi вокруг f (xi), TSS — мера разброса всех yi вокруг их общего среднего y, то r2 характеризует долю общего разброса относительно среднего, объясняемую регрессией. 0 ≤ r2 ≤ 1. Если r2 близок к 1, то RSS намного больше TSS. Иногда коэффициент r2 дает слишком оптимистические результаты. В этом случае используется подправленные коэффициент 2 2 1 − r2 ra =r − . N −p−1 Рассмотрение коэффициента детерминации имеет смысл только при условии, что в модель включен сободный член β0.
  • 109. Сделаем еще некоторые предположения. Пусть ошибки Ei распределены по нормальному закону: Ei ∼ N (0, σ) (i = 1, 2, . . . , N ). В этом случае из некоррелированности случайных величин Ei следует их независисмость. Теперь нетрудно показать, что β ∼ N β, (X X)−1 σ 2 и (N − p − 1) σ 2 ∼ σ 2χ2 −p−1. N Эти свойства можно использовать при построении статистических тестов и доверительных интервалов для βj .
  • 110. Проверка значимости одного коэффициента. Гипотеза βj = 0 (j фиксировано): использование переменной Xj не улучшает предсказание по сравнению с предсказанием, полученным на основе только остальных p − 1 переменных. Для проверки этой гипотезы (против гипотезы βj = 0) рассмотрим стандартный коэффициент βj tj = , (3) se βj где √ se βj = σ vj — стандартная ошибка коэффициента βj , а vj — j-й диагональный элемент матрицы (X X)−1. В предположении, что βj = 0, коэффициент tj имеет t-распределение Стьюдента tN −p−1. Если |tj | велико, то гипотезу βj = 0 следует отбросить. Если гипотеза βj = 0 отбрасывается, то говорят, что коэффициент βj статистически значим.
  • 111. Можно проверить гипотезу βj = βj (относительно односторонней или двусторонней альтернативы), где βj — некоторое заданное значение. Статистика критерия имеет в этом случае вид βj − βj tj = . se βj Коэффициент tj имеет распределение tN −p−1. Проверка гипотезы зависит от вида альтернативной гипотезы и происходит обычным образом.
  • 112. Проверка значимости группы коэффициентов. Гипотеза о равенстве нулю группы коэффициентов (против гипотезы, что по крайней мере один из коэффициентов не равен нулю): переменные этой группы не улучшают предсказание по отношению к предсказанию, полученному без этих переменных. Будем использовать статистику (RSS2 − RSS1)/(p1 − p2) F = , RSS1 /(N − p1 − 1) где RSS1 — остаточная сумма квадратов «б´ льшей» модели с p1 + 1 параметрами, а о RSS2 — остаточная сумма квадратов «вложенной» модели c p2 + 1 параметрами, («вложенная» модель получается из «б´ льшей» модели, обнулением p1 − p2 о параметров). В предположении, что ε в (??) имеет нормальное распределение, статистика F имеет F (p1 − p2, N − p1 − 1) распределение Фишера. Если отбрасывается один коэффициент, то F совпадает с zj из (3).
  • 113. Проверка значимости модели. Проверка значимости всех коэффициентов β1, . . . , βp (кроме β0) означает сравнение исходной модели, включающей p + 1 коэффициентов, с моделью y = β0 . Очевидно, что решением задачи наименьших квадратов для второй модели будет N 1 β0 = y = N ∑ yi. i=1 В частности, остаточная сумма квадратов (называемая в даном случае полной суммой квадратов относительно среднего) равна 2 N N 1 TSS = ∑ yi − ∑ yi i=1 N i=1 и соответствующая F -статистика есть (TSS − RSS)/p F = , RSS /(N − p − 1) где RSS = RSS(β) — остаточная сумма квадратов для исходной модели.
  • 114. Эта статистика должна иметь распределение Fp, N −p−1. Легко показать, что TSS = RSS + SSR, где n SSR = ∑(yi − y)2 i=1 — так называемая сумма квадратов, обусловленная регрессией. Если гипотеза о том, что все коэффициенты (кроме, быть может, β0) равны нулю, отбрасывается, то говорят, что модель статистически значима. Значимость модели не означает, что она адекватна.
  • 115. Доверительные интервалы. Для βj доверительным интервалом является √ √ βj − z (1−α)σ vj , βj + z (1−α)σ vj , где z (1−α) есть (1 − α)-процентиль для нормального распределения: z (1−0.1) = 1.645, z (1−0.05) = 1.96, z (1−0.01) = 2.58, и т. д. √ (vj есть j-й диагональный элемент в (X X)−1 , а se βj = σ vj есть стандартная ошибка для βj ). Таким образом, интервал β ± 2 · se β соответствует мере доверия примерно в 95%.
  • 116. Пример. Рассмотрим задачу определения длины тормозного пути автомобиля от начальной скорости. На рис. представлена диаграмма рассеяния для данных1, содержащих информацию о 50 эксприментах, в каждом из которых наблюдалась начальная скорость автомобиля (speed) и длина его тормозного пути (dist). В качестве модели рассмотрим dist = β0 + β1 × speed. 1 Ezekiel M. Methods of Correlation Analysis. Wiley. 1930
  • 117. 120 100 80 dist 60 40 20 0 5 10 15 20 25 speed Зависимость длины тормозного пути от начальной скорости в 50 экспериментах. Найдены значения β0 = 42.980, β1 = 145.552.
  • 118. 120 data 1st order poly 2nd order poly 100 80 dist 60 40 20 0 5 10 15 20 25 speed Регрессия двух видов для задачи определения длины тормозного пути автомобиля по начальной скорости. Синий график: регрессия в виде dist = β0 + β1 × speed. Красный график: регрессия в виде dist = β0 + β1 × speed + β2 × speed2.
  • 119. Коэффициент детерминации и подправленный коэфициент детерминации равны соответсвенно r2 = 0.6511, 2 ra = 0.6438. Таким образом, регрессия объясняет около 65% изменчивости данных.
  • 120. Стандартные ошибки и стандартные коэффициенты: se β0 = 2.175, se β1 = 15.380, t0 = 19.761, t1 = 9.464. Задача имеет 48 степеней свободы. Сравнивая значения t0 и t1 с квантилями t-распределения Стьюдента с 48 степенями свободы, получаем, что для гипотезы β0 = 0 значение p-value меньше 2 × 10−16, а для гипотезы β1 = 0 оно равно 1.49 × 10−12. Если принять в качестве уровня надежности, например, α = 0.01, то обе гипотезы следует отвергнуть. Таким образом, каждый из коэффициентов статистически значим. Остаточная стандартная ошибка равна σ = 15.38. Значение F -статистики F = 89.57 нужно сравнить с квантилями F -распределения Фишера F1,48. Это сравнение приводит к p-value, равному 1.490 × 10−12. Таким образом, для указанного уровня надежности модель статистически значима.
  • 121. Теперь подберем регрессию вида dist = β0 + β1 × speed + β2 × speed2. Найдены значения β0 = 42.980, β1 = 145.552, β1 = 22.996. Имеем r2 = 0.6673, 2 ra = 0.6532, se β0 = 2.146, se β1 = 15.176, se β2 = 15.176, t0 = 20.026, t1 = 9.591, t2 = 1.515. Задача имеет 47 степеней свободы. Значение p-value для гипотезы β0 = 0 меньше 2 × 10−16. Для гипотезы β1 = 0 оно равно 2 × 1.21−12, а для гипотезы β2 = 0 равно 0.136. Таким образом, при уровне надежности α = 0.01 гипотезу β2 = 0 принимаем. Коэффициент β2 не является статистичеси значимым. Остаточная стандартная ошибка равна σ = 15.18. Значение F -статистики F = 47.14 нужно сравнить с квантилями F -распределения Фишера F2,47. Это сравнение приводит к p-value, равному 5.852 × 10−12. Таким образом, для указанного уровня надежности модель статистически значима.
  • 122. Анализ остатков. Ранее мы сделали предположение, что остатки должны быть независимы (некоррелированы) и иметь нормальное распределение и, хотя многие рассмотренные выше тесты достаточно устойчивы по отношению к отклонениям от таких предположений, перед тем, как исследовать статистичекую значимость модели и строить доверительные интервалы, следует провести анализ остатков. Гистограмма остатков должна быть близка к нормальному распределению, а в графике остатков не должны наблюдаться зависимости и нелинейности.
  • 123. 15 10 Frequency 5 0 −20 0 20 40 Residuals Гистограмма остатков в задаче восстановления зависимости вида dist = β0 + β1 × speed длины тормозного пути от начальной скорости.
  • 124. можно с помощью QQ-графика (графика «квантиль–квантиль»). По вертикальной оси откладываются наблюдаемые остатки. По горизонтальной оси откладываются соответствующие им квантили распределения N (0, 1). Если отмеченные точки располагаются почти вдоль некоторой прямой, то распределение близко к нормальному.
  • 125. 40 20 Sample Quantiles 0 −20 −2 −1 0 1 2 Theoretical Quantiles QQ-график в задаче восстановления зависимости длины тормозного пути от начальной скорости.
  • 126. Для теоретической проверки нормальности остатков можно воспользоваться общими критериями согласия: χ2, критерием Колмогорова–Смирнова и т. п., или одним из специализированных, например, критерием Шапиро–Уилка. Нуль-гипотеза в этом критерии заключается в том, что статистически наблюдаемая случайная величина имеет нормальное распределение. В задаче с определением длины тормозного пути автомобиля статистика Шапиро–Уилка оказалось равной W = 0.9451. Соответствующее p-value равно 0.02153. При уровне значимости α = 0.01 гипотезу о нормальности распределения остатков не отвергаем. Для выявления корреляции между остатками (точнее: сериальной корреляции) часто используется критерий Дарбина–Уотсона. Статистика Дарбина–Уотсона вычисляется по формуле N −1 ∑ (ei+1 − ei)2 i=1 D= N . ∑ e2 i i=1 Упражнение 2.2 Доказать, что 0 ≤ D ≤ 4. Если D < D L(α) или D > 4 − D L(α), то с достоверностью α принимается гипотеза о наличии отрицательной или соответственно положительной
  • 127. корреляции остатков. Если D L(α) < D < D U(α) или 4 − D U(α) < D < 4 − D L(α), то критерий не позволяет принять решение о наличии или отсутствии корреляции остатков. Если D U(α) < D < 4 − D U(α), то гипотеза о наличии корреляции остатков отклоняется. Таблицы критических значений D L(α) и D U(α) для различных α, N , p приведены, например, в [Дрейпер, Смит Т. 1, С. 211].
  • 128. Напоминание: Проверка статистических гипотез Пусть функция распределения P ∗(x) случайной величины X не известна. Гипотеза H0: P ∗(x) = P (x). Альтернативная гипотеза H1. Ошибка 1-го рода: Гипотеза H0 отвергается (и принимается гипотеза H1), хотя она верна. Ошибка 2-го рода: Гипотеза H0 принимается, хотя она не верна. Аналогично для параметрических гипотез.
  • 129. Вначале выбирается α — вероятностный уровень значимости критерия, равный вероятности того, что произойдет ошибка 1-го рода (например, 0.1, 0.05, 0.01) Вычисляется реализация t∗ статистики t(X), характеризующей отклонение эмпирических данных от теоретических (соответствующих гипотезе H0). Пусть T критич = T критич(H0, α) — критическая область — подмножество значений статистики t(X), такое, что Pr (t ∈ T критич |H0) = α. Если t∗ ∈ T критич, то гипотеза H0 отвергается. Если t∗ ∈ T критич, то можно считать, что эмпирические данные согласуются с / гипотезой H0, и гипотеза H0 принимается. p(t) p(t) t∗ T критич t∗ T критич
  • 130. Часто в качестве T критич(H0, α) выбираются области вида p(t) t {t : t ≥ tα } tα T критич p(t) t {t : t ≤ tα } T критич tα p(t) t {t : |t| ≥ tα} T критич −tα tα T критич Площадь желтой области на каждом графике равна вероятностному уровню значимости α.
  • 131. 2.1.2. p-value p-value принадлежит интервалу [0, 1] и вычисляется по выборочному значению t∗ статистики t(X) (и зависит также от критерия и гипотезы H0, но не зависит от α). p-value — это минимальное значение уровня значимости α, при котором данное значение t∗ статистики t(X) принадлежит критической области T критич(H0, α): p-value(t∗ , H0) = inf {α : t∗ ∈ T критич(H0, α)} Из этого определение вытекает следующее основное свойство p-value. Если p-value меньше α, то гипотеза H0 отвергается. Иначе гипотезу H0 отвергнуть нельзя.
  • 132. Если T критич = {t : t ≥ tα }, то p-value = Pr {t(X) ≥ t∗} p(t) t t∗ tα Если T критич = {t : t ≤ tα }, то p-value = Pr {t(X) ≤ t∗} p(t) t tα t∗ Если T критич = {t : |t| ≥ tα}, то p-value = Pr {|t(X)| ≥ |t∗|} p(t) t −tα −t∗ t∗ tα p-value = площади заштрихованной фигуры, α = площади желтой фигуры
  • 133. 2.2. Переобучение Переобучение — это явление, при котором обучающий алгоритм выдает хорошие результаты на обучающей выборке, но имеет очень плохие обобщающие свойства. Типичное поведение ошибки на обучающей и тестовой выборках с ростом «сложности» модели: • Обычно на обучающей выборке с ростом сложности модели ошибка уменьшается. • На тестовой выборке сперва с ростом сложности модели ошибка уменьшается, но с некоторого момента ошибка начинает расти: сказывается синдром переобучения. Когда модель слишком сложна, она, как правило, хорошо приспосабливается к конкретным обучающим данным, улавливая какие-то специфичные для них особенности, но не присущие всей генеральной совокупности, поэтому на тестовых данных ошибка может быть большой.
  • 134. data 2.5 degree = 1 degree = 2 degree = 5 degree = 8 2.0 y 1.5 1.0 0.2 0.4 0.6 0.8 1.0 x Y = X 2 − 0.8X + 7 + ε, где ε — нормальная случайная величина N (0, 0.05)
  • 135. Полиномиальная интерполяция 1e+04 train test 1e+02 RSS/N 1e+00 1e−02 0 2 4 6 8 10 12 degree
  • 136. Метод k ближайших соседей для задачи восстановления регрессии
  • 137. 1.0 1.5 2.0 2.5 3.0 3.5 4.0 1.0 1.5 2.0 2.5 3.0 3.5 4.0 0.2 0.2 0.4 0.4 k=5 k=1 0.6 0.6 0.8 0.8 1.0 1.5 2.0 2.5 3.0 3.5 4.0 1.0 1.5 2.0 2.5 3.0 3.5 4.0 0.2 0.2 0.4 0.4 k = 14 k=2 0.6 0.6 0.8 0.8
  • 138. 0.8 test train 0.6 RSS/N 0.4 0.2 0.0 2 4 6 8 10 12 14 k
  • 139. RSS/N 0.0 0.2 0.4 0.6 0.8 1 2 N/k 5 10 train test
  • 140. Риск эмпирический риск R средний риск R Сложность модел
  • 141. Причины переобучения (в задаче восстановления регрессии) • Мультиколлинеарность: X плохо обусловлена (т. е. столбцы матрицы X образуют систему, близкую к линейно зависимой). max λj (X X) max dj cond2X = = min λj (X X) min dj (отношение максимального сингулярного числа матрицы X к минимальному) • Наличие неинформативных признаков • Слишком мало данных. Даже если все признаки информативны, данных может оказаться слишком мало.
  • 142. 2.3. Сокращение числа параметров и «усадка» коэффициентов Почему мы можем быть недовольными подгонкой методом наименьших квадратов? • Переобучение (по любой из указанных причин) • Интерпретация Рассмотрим некоторые методы по уменьшению числа признаков модели и «усадке» коэффициентов.
  • 143. 2.3.1. Выбор подмножества признаков Для каждого k ∈ {0, 1, . . . , p} найдем подмножество входных параметров мощности k, для которого RSS(β) минимально. Большой перебор! Оптимальное подмножество признаков мощности k не обязательно содержится в оптимальном подмножестве мощности k + 1
  • 144. Пример с ценой загородного дома 13 входных переменных
  • 145. 0 15 4 6 8 14 20 5 20 40 MEDV 10 15 INDUS 0 0.7 NOX 0.4 8 6 RM 4 80 AGE 20 20 PTRATIO 14 0 200 B 20 LSTAT 5 10 40 0.4 0.7 20 80 0 200
  • 146. На обучающей выборке: 80 70 60 RSS/N 50 40 30 20 0 2 4 6 8 10 12 subset size
  • 147. На тестовой выборке: 80 70 60 RSS/N 50 40 30 0 2 4 6 8 10 12 subset size
  • 148. Оба графика 80 70 60 RSS/N 50 40 30 20 0 2 4 6 8 10 12 subset size
  • 149. Вместо того, чтобы проводить поиск среди всех подмножеств, можно рассмотреть только некоторые из них. Можно, начав, с оптимального набора параметров мощности 0, последовательно добавлять такую входную переменную, которая максимальным образом улучшает приближение. Предположим, что текущая модель имеет k входных переменных, а соответствующая оценка параметра есть β. Пусть добавление некоторой входной переменной приводит к оценке β. Рассмотрим статистику RSS(β) − RSS(β) F = . RSS(β)/(N − k − 2) Добавим к набору входных переменных ту, для которой соответствующее значение F максимально. Как правило, процедуру добавления новых входных переменных заканчивают, когда F достигнет процентиля уровня 90% или 95% для F (1, N − k − 2) распределения. Другая стратегия — начав с рассмотрения всего набора входных переменных, последовательно исключать их из этого набора.
  • 150. 2.3.2. «Ридж» (гребневая) регрессия (регуляризация) (ridge regression) Добавим к RSS штрафную функцию, чувствительную к абсолютной величине коэффициентов βj :   N 2  p p β ridge = argmin ∑ yi − β0 − ∑ xij βj + λ ∑ βj , 2 β i=1 j=1 j=1  где λ — неотрицательный параметр: чем больше λ, тем больше чувствительность штрафа к величине коэффициентов Понятно, что задача эквивалентна следующей задаче условной минимизации:   N 2 p p β ridge = argmin ∑ yi − β0 − ∑ xij βj , при условии ∑ βj ≤ s. 2 β i=1 j=1  j=1 Параметр s определяется по λ, и наоборот.
  • 151. β2 β O β ridge β1
  • 152. Если в линейной регрессионной модели много коррелированных переменных, то параметры модели определяются с трудом и имеют большую дисперсию. Например, Xi и Xj сильно зависимы. Тогда возможна ситуация: βj велик и положителен, а βi велик по абсолютному значению и отрицателен: так как Xi и Xj сильно коррелируют, то вклад βj xj компенсируется βixi. Таким образом, добавляемое ограничение на величину коэффициентов βj должно предотвратить подобую ситуацию.
  • 153. Коэффициент β0 может быть устранен из штрафной функции, так как он не соответствует ни одной переменной Xj . Слагаемое β0 можно выкинуть и из целевой функции. Действительно, решение задачи наименьших квадратов можно разбить на два этапа: 1. Центрирование данных: • каждое xij заменяется на xij − xj (i = 1, 2, . . . , N ; j = 1, 2, . . . , p) • в качестве β0 выбирается y, где N N 1 1 xj = N ∑ xij , y= N ∑ yi. i=1 i=1 2. Гребневая регрессия (без коэффициента β0) Пусть центрирование произведено, следовательно, X имеет p (а не p + 1) столбцов
  • 154. RSSridge(β, λ) = (y − Xβ) (y − Xβ) + λβ β, RSSridge(β, λ) → min β Дифференцируя, находим: ∂ RSSridge ∂ 2 RSSridge = −2X (y − Xβ) + 2λβ, = 2X X + 2λI. ∂β ∂β ∂β откуда β ridge = (X X + λI)−1 X y ( ) Итак, решение β ridge задачи гребневой линейной регрессии также является функцией, линейно зависящей от y. Если λ > 0, то матрица X X + λI невырождена (положительно определена), даже если столбцы в X линейно зависимы ( ) представляет собой стандартную регуляризацию Итак, от системы Xβ = y мы перешли к (X X + λI)β = X y
  • 155. Отступление. Регуляризация (А.Н. Тихонов) Система (X X + λI)β = X y называется регуляризованной к Xβ = y. λ — параметр регуляризации, λ > 0. Обозначим β(λ) — (единственное) решение системы (X X + λI)β = X y. Теорема 2.3 (А.Н. Тихонов) Пусть λn — некоторая последовательность, λn > 0 и λn → 0. Тогда β(λn) стремится к нормальному псевдорешению системы Xβ = y (из всех псевдорешений нормальное псевдорешение имеет минимальную норму). (Можно было сразу начать с этой теоремы, но вначале мы объяснили «на пальцах», почему регуляризация «работает») Если λ близко к нулю, то регуляризованная система близка к вырожденной, поэтому на практике решение β(λ) будет найдено с большой ошибкой. Метод регуляризации заключается в решении регуляризованных систем для конечного числа значений λn и дальнейшем выборе того решения, для которого норма невязки минимальна.
  • 156. 2.3.3. Гребневая регрессия и сингулярное разложение Сингулярным, или SVD-разложением (singular value decomposition), матрицы X размера N × p называется ее представление в виде X = U × D ×V N ×p N ×p p×p p×p где U — N × p матрица с ортонормированными столбцами (U U = I), V — ортогональная p × p матрица (V = V−1), D = diag(d1, d2, . . . , dp) — диагональная p × p матрица, d1 ≥ d2 ≥ . . . ≥ dp ≥ 0. d1, d2, . . . , dp — сингулярные значения (или сингулярные числа) матрицы X Столбцы матрицы U — левые сингулярные векторы Столбцы матрицы V — правые сингулярные векторы Очевидно, что столбцы u1, u2, . . . , up матрицы U представляют собой ортонормированный базис подпространства, натянутого на столбцы x1, x2, . . . , xp матрицы X.
  • 157. Выразим β ls и yls (без регуляризации), используя SVD: −1 β ls = (X X)−1 X y = (UDV ) UDV (UDV ) y = −1 = VDU UDV VDU y = (V )−1D−2V−1VDU y = VD−1 U y p yls = Xβ ls = UDV VD−1U y = UU y = ∑ uj uj y j=1 Заметим, что uj (uj y) есть проекция вектора y на вектор uj , а вся сумма (как мы уже видели) есть проекция вектора y на подпространство, натянутое на u1 , u2 , . . . , up . Аналогично, если проводится регуляризация: p d2 yridge = Xβ ridge = X(X X + λI)−1X y = UD(D + λI)−1 DU y = ∑ uj j uj y j=1 d2 j +λ
  • 158. p d2 yridge = UD(D + λI)−1 DU y = ∑ uj j uj y j=1 d2 j +λ Итак, как и для линейной регрессии, линейная гребневая регрессия вычисляет проекцию u(uj y) вектора y на вектор uj , но затем домножает эту проекцию на d2 j ≤ 1. d2 + λ j Чем больше dj , тем ближе этот множитель к 1. Чем меньше dj , тем ближе этот множитель к 0. Таким образом, наибольшему уменьшению подвергаются компоненты, соответствующие меньшим сингулярным числам dj .
  • 159. Как dj зависят от данных? Пусть, по-прежнему, данные, центрированы. Матрица ковариаций равна S = XX /N , откуда 1 1 S= XX = VDU (VDU ) = V · D2/N · V . N N Итак, столбцы v1, v2, . . . , vp матрицы V представляют собой собственный базис матрицы ковариаций S, 2 dj /N — собственные числа этой матрицы. Векторы vj называются также главными (или основными) компонентами (principal components) для данных X.
  • 160. 4 2 x2 0 −2 −4 −6 −4 −2 0 2 4 6 x1
  • 161. Пусть zj = Xvj . Легко проверить, что d2 j Var(zj ) = Var(Xvj ) = , zj = Xvj = dj uj . N Первая главная компонента u1 обладает тем свойством, что z1 имеет максимальную дисперсию среди всех нормированных линейных комбинаций столбцов матрицы X. Вектор uj выбран среди всех векторов, ортогональных u1, . . . , uj−1, так, что zj имеет максимальную дисперсию. Вектор zp имеет минимальную дисперсию. Таким образом, малые сингулярные числа dj соответствуют направлениям vj , для которых мала дисперсия величины zj , и гребневая регрессия подвергает наибольшему уменьшению соответствующие компоненты.
  • 162. 1.0 0.8 0.6 y 0.4 0.2 0.0 −0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2 x
  • 163. 2.3.4. Лассо (R. Tibshirani)   N 2 p p ∑ β lasso = argmin yi − β0 − ∑ xij βj , при условии ∑ |βj | ≤ s. β i=1 j=1  j=1 lasso Если s достаточно мало, то в типичной ситуации часть коэффициентов βj равна в точности 0. Почему? (При гребневой регрессии такого, как правило, не происходит)
  • 164. β2 β2 β β O β ridge β1 O β lasso
  • 165. ridge Графики зависимости величины коэффициентов βj в гребневой регрессии от λ в примере ÓרÓÒ. 3 RM RAD 2 ZN 1 B CHAS INDUS 0 AGE j β −1 CRIM TAX −2 NOX PTRATIO −3 DIS LSTAT −4 −2 0 2 4 6 10 10 10 10 10 λ
  • 166. Эффективное число степеней свободы p d2 =∑ 2 j df(λ) = tr X(X X + λI)−1X . j=1 dj + λ Если λ = 0 (нет регуляризации), то df(λ) = p. Если λ → ∞, то df(λ) → 0.
  • 167. ridge Графики зависимости величины коэффициентов βj в гребневой регрессии от df(λ) в примере ÓרÓÒ 3 RM RAD 2 1 ZN B CHAS INDUS 0 AGE βj −1 CRIM TAX −2 NOX PTRATIO −3 DIS LSTAT −4 0 2 4 6 8 10 12 df(λ)
  • 168. Лассо. Введем параметр s t= p ∑ |βj | j=1 lasso При t = 0 все βj равны нулю. lasso При t = 1 имеем βj = βj (j = 1, 2, . . . , p).
  • 169. lasso s Графики зависимости величины коэффициентов βj от параметра t = p в ∑ |βj | j=1 примере ÓרÓÒ. 4 3 RM RAD 2 ZN 1 B CHAS INDUS j 0 β AGE −1 CRIM TAX −2 NOX PTRATIO −3 DIS LSTAT −4 0 0.2 0.4 0.6 0.8 1 t
  • 170. 2.3.5. Метод главных компонент Метод главных компонент (principal component regression): рассмотрим регрессию y относительно z1, z2, . . . , zM , где M ≤ p. Так как векторы z1, z2, . . . , zM попарно ортогональны, то M M y, zm y pcr =y+ ∑ θmzm, pcr β (M ) = ∑ θmvm, где θm = zm, zm . m=1 m=1 Регрессия методом главных компонент имеет много общего с гребневой регрессией. • гребневая регрессия уменьшает коэффициенты главных компонент матрицы X, при этом чем меньше сингулярное значение, тем в большей степени уменьшается, • регрессия методом главных компонент просто отбрасывает компоненты, соответствующие меньшим p − M сингулярным числам.
  • 171. 2.3.6. Частичные наименьшие квадраты Частиный метод наименьших квадратов (partial least squares) Снова вместо исходных входных значений xj (j = 1, 2, . . . , p) будем рассматривать небольшое число их линейных комбинаций zm (m = 1, 2, . . . , M ). Кроме xj будем учитывать также y.
  • 172. Пусть y центрированы и xj нормализовано так, что имеет среднее 0, дисперсию 1. begin y(0) = 1y x(0) = xj (j = 1, 2, . . . , p) j for m = 1, 2, . . . , p p zm = ∑ ϕmj x(m−1), где ϕmj = y, x(m−1) j j j=1 (m) (m−1) y, zm y =y + θmzm, где θm = zm, zm x(m−1), zm j xj = x(m−1) − (m) j zm (j = 1, 2, . . . , p) zm, zm end m pls Возвратить y (m) (m = 1, 2, . . . , p) и βjm = ∑ ϕ jθ =1 end p pls На выходе алгоритма имеем y (m) = ∑ βjmxj (m = 1, 2, . . . , p) j=1
  • 173. Частичная задача наименьших квадратов находит направления, соответствующие большой дисперсии в xj и имеющие большую корреляцию с откликом y Метод главных компонент смотрит только на величину дисперсии xj и не анализирует y
  • 174. В частности, vm является решением задачи max Var(Xα) : α = 1, v Sα = 0, = 1, 2, . . . , m − 1 , где S = X X/N — матрица ковариаций для данных X. Условие v Sα = 0 гарантирует, что zm = Xα не коррелирует ни с какими z = Xv ( < m). Направление ϕ является решением задачи max Corr2(y, Xα) Var(Xα) : α = 1, ϕ Sα = 0, = 1, 2, . . . , m − 1 .
  • 175. 2.3.7. Трудоемкости методов Линейная задача наименьших квадратов (и гребневая регрессия) решается методами: QR-разложения, разложения Холецкого, SV D-разложением и др. Эти методы требуют O(N p2 + p3) операций.
  • 176. Метод лассо использует квадратическое программирование.   N 2 p ∑ β lasso = argmin yi − β0 − ∑ xij βj , β i=1 j=1  при условии p p ∑ |βj | ≤ s ⇔ ∑ εj βj ≤ s, εj ∈ {−1, 1} . j=1 j=1 p + 1 неизвестных и 2p линейных ограничений — очень много! Пусть (+) (−) (+) (−) βj = βj − βj , βj ≥ 0, βj ≥ 0 (j = 1, 2, . . . , p) Тогда ограничения примут вид p ∑ (+) (−) βj + βj ≤ s, (+) βj ≥ 0, (−) βj ≥ 0 (j = 1, 2, . . . , p) j=1 2p + 1 неизвестных и 2p + 1 линейных ограничений
  • 180. Agenda • Байесов классификатор • Метод ближайших соседей • Классификация на основе регрессии • Дискриминантный анализ – Линейный дискриминантный анализ (LDA) – Квадратичный дискриминантный анализ (QDA) • Логистическая регрессия • Персептрон Розенблатта • Нейронные сети • Наивный байесов классификатор • Машина опорных векторов • Деревья решений
  • 181. 3.1. Задача классификации Рассмотрим задачу классификации, в которой по обучающей выборке (xi, yi) (i = 1, 2, . . . , N ) необходимо восстановить неизвестную функцию f ∗(x), если f ∗ (xi) = yi (i = 1, 2, . . . , N ) f ∗ (x) ∈ Y = {1, 2, . . . , K} Объекты x разбиваются на K классов, таких, что в k-м классе находятся объекты x, для которых f ∗(x) = k.
  • 182. 3.2. Байесов классификатор Предположим, что прецеденты (xi, yi) выбираются из генеральной совокупности с совместной функцией распределения PX,Y (x, y). X — p-мерный случайный вектор, Y — одномерная случайная величина, принимающая значения 1, 2, . . . , K. Пусть вероятности Pr {Y = y} и P (X = x |Y = y) известны. Таким образом, P (x, y) = Pr (y)P (x | y). В реальных ситуациях P (x, y), как правило, не известна, однако ее можно оценить по имеющейся обучающей выборке.
  • 183. Пусть L(k |y) — функция потерь (loss function), равная налагаемому штрафу при отнесении объекта к классу k, если он принадлежит классу y: = 0, k = y, L(k |y) > 0, k = y. Средний (ожидаемый) риск — это математическое ожидание функции потерь: K R(f ) = E L f (X)| Y = E ∑L f (X)| y · Pr (y |X) . y=1 Наша задача — минимизировать R(f ): K f (x) = argmin E k∈Y ∑ L (k |y) · Pr (y | x) . y=1
  • 184. Пусть 0, если f (x) = y, L(f (x)| y) = 1, если f (x) = y. Тогда R(f ) есть вероятность ошибки и f можно найти по формуле: f (x) = argmin 1 − Pr (k |x) , k∈Y или, что эквивалентно, f (x) = argmax Pr (y | x). (∗) y∈Y или, так как Pr (y | x) = p(x |y) Pr (y)/p(x), f (x) = argmax p(x |y) Pr (y). (∗ ) y∈Y Функция f (x), найденная по этим формулам, называется байесовым решающим правилом, или байесовым классификатором. При этом R(f ) называется байесовой ошибкой. Вероятность Pr (y | x) называется апостериорной вероятностью появления объекта из класса y, поэтому правила (∗), (∗ ) называется принципом максимума апостериорной вероятности.
  • 185. Принцип максимума апостериорной вероятности. При x < x полагаем f (x) = 0, иначе f (x) = 1. p(x |Y = 1) Pr {Y = 1} p(x |Y = 0) Pr {Y = 0} x
  • 186. Если классы равновероятны, т. е. Pr (y) = 1/K, то p(x |y) Pr (y) p(x |y) Pr (y | x) = = p(x) = 0 p(x) Kp(x) и, так как p(x) не зависит от y, f (x) = argmax p(x |y). (∗∗) y Плотность p(x |y) называется правдоподобием (likelihood), поэтому правило (∗∗) называется методом максимального правдоподобия (maximum-likelihood method).
  • 187. Принцип максимального правдоподобия. При x < x имеем f (x) = 0, иначе f (x) = 1. p(x |Y = 1) p(x |Y = 0) x
  • 188. Чтобы построить байесов классификатор, мы должны знать (или оценить) Pr (y | x)
  • 189. Пример Рассмотрим обучающую выборку для задачи классификации на два класса. Каждый класс — 100 прецедентов. Распределение в каждом классе — смесь (взвешенная сумма) 2-х нормальных распределений (гауссианов). µ1 = (0.4, 0.8), µ2 = (0.8, 0.6), µ3 = (1.0, 0.3), µ4 = (0.1, 0.2). Матрица ковариации σ 2I, где σ = 0.3.
  • 190. 1.5 Train error = 0.18 Test error = 0.209 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 191. Ошибка на заданной выборке: 0.2 Распределение известно, поэтому можем определить точно: Средний риск R (байесова ошибка): 0.21
  • 192. Методы решения задачи классификации: • Дискриминантные (разделительные): – напрямую строим f (x); – моделируем (оцениваем) апостериорную вероятность Pr (y | x) и используем метод максимума апостериорной вероятности; • Дескриптивные (описательные) — моделируем (оцениваем) правдоподобие p(x |y) и априорную вероятность Pr (y) и используем метод максимума апостериорной вероятности. Внимание: так называемые методы дискриминантного анализа являются дескриптивными, а не дискриминантными!
  • 193. 3.3. Метод ближайших соседей Дискриминантный метод: будем аппроксимировать Pr (y | x) Метод 1-го ближайшего соседа (1NN — nearest neighbourhood): f (x) = yi∗ , i∗ = argmin { x − xi } i Метод k ближайших соседей (kNN): 1 f (x) = ∑ yi k xi∈Nk (x)
  • 194. Метод ближайшего соседа 1.5 Train error = 0 Test error = 0.282 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 195. Метод 5 ближайших соседей 1.5 Train error = 0.15 Test error = 0.233 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 196. Train Test Bayes 0.4 0.3 err 0.2 0.1 0.0 0 50 100 150 200 k
  • 197. В качестве меры «сложности» имеет смысл рассмотреть число степеней свободы N/k
  • 198. Train Test Bayes 0.4 0.3 err 0.2 0.1 0.0 1 2 5 10 20 50 100 200 N/k
  • 199. Задача классификации рукописных цифр Выборка размера 1934 была случайным образом разбита на две группы: обучающую и тестовую — по 967 объектов в каждой. Ошибка k на обучающей выборке на тестовой выборке 1 0 0.031 2 0.017 0.046 3 0.014 0.031 5 0.026 0.033 10 0.034 0.038 15 0.042 0.046 20 0.051 0.050
  • 200. Все случаи неправильной классификации цифр из тестовой выборки в случае k = 1. Красная цифра — ответ классификатора, синяя — верный ответ. 8 5 9 8 3 8 8 5 0 4 3 9 7 9 9 1 2 9 4 6 3 5 3 1 3 5 9 9 6 9 9 9 5 8 9 9 3 8 1 3 4 4 4 8 4 8 7 1 3 4 9 7 9 1 1 2 1 8 8 9
  • 201. 3.3.1. Теорема об оценке риска 1, если f (x) = y, L(f (x)| y) = 0, если f (x) = y. При достаточно большом объеме обучающей выборки средний риск классификатора одного ближайшего соседа не более чем в 2 раза превосходит байесов риск, а именно, справделива теорема: Теорема 3.1 (Cover, Hart, 1967) Пусть R∗ — оптимальное (байесовское) значение среднего риска для некоторой задачи классификации на K классов. Тогда с ростом размера выборки N ожидаемый риск R для метода одного ближайшего соседа сходится к R, такому, что ∗ K ∗ R ≤R ≤R · 2− R∗ ≤ 2R∗ . K −1
  • 202. Д ОКАЗАТЕЛЬСТВО . (набросок) Неравенство R∗ ≤ R очевидно. Докажем, что K R ≤ R∗ · 2 − R∗ . K −1 Пусть X — объект из обучающей выборки, ближайший к X, а Y — его выход. x, x , y, y — реализации случайных величин X, X , Y , Y соответственно. Для простоты доказательства будем предполагать, что X — непрерывная случайная величина, p(x |x) непрерывна и нигде не равна нулю, Pr {y |x} непрерывна по x.
  • 203. 1. Докажем, что при N → ∞ величина X стремится по вероятности к x. Обозначим S(x, ε) = {x ∈ X : X − X ≤ ε}. Так как X — ближайший к x объект, то N Pr { X − x > ε} = 1− p(x ) dx → 0. S(x, ε) Итак, при N → ∞ случайная величина X стремится по вероятности к x. Следовательно, p(x |x) → δ(x − x) при N → ∞.
  • 204. 2. Имеем R = lim Pr {Y = Y } = lim Pr {Y = Y |x} p(x) dx = N →∞ N →∞ X =R= lim Pr {Y = Y |x} p(x) dx = r(x) p(x) dx, X N →∞ X где r(x) = lim Pr {Y = Y |x} = lim Pr {Y = Y |x, x } p(x |x) dx = N →∞ N →∞ X K = lim 1 − ∑ Pr {Y = Y = k |x, x } p(x |x) dx = N →∞ X k=1 K = lim 1 − ∑ Pr {k |x} Pr {k |x } p(x |x) dx = N →∞ X k=1 (Величину r(x) можно назвать предельным условным средним риском.) K K = 1 − ∑ Pr {k |x} Pr {k |x } δ(x − x) dx = 1 − ∑ Pr 2 {k |x} . X k=1 k=1
  • 205. 3. Теперь рассмотрим условный байесовский риск r∗(x) = 1 − max Pr {k |x} = 1 − Pr {y |x} . k Cогласно неравенству Коши–Буняковского 2 (K − 1) ∑ Pr 2 {k |x} ≥ ∑ Pr {k |x} = r∗(x)2 , k=y k=y поэтому K (K − 1) ∑ Pr 2 {k |x} ≥ r∗(x)2 + (K − 1) 1 − r∗(x) , 2 k=1 откуда ∗ K ∗ 2 r(x) ≤ 2r (x) − r (x) . K −1 Умножая обе части неравенства на p(x) и интегрируя по x, получаем K K 2 K ∗ R ≤ 2 E r (X) − ∗ 2 E r (X) ≤ 2R − ∗ ∗ ∗ E r (x) = 2R − R∗ 2 , K −1 K −1 K −1 2 2 так как E r∗(X)2 = D r∗(X) + E r∗(X) ≥ E r∗(X) .
  • 206. Замечание 3.2 Верхние и нижние оценки в теореме являются точными. В частности, верхняя оценка K R ≤ R∗ · 2 − R∗ K −1 достигается в случае, когда плотности вероятности p(x |y) не зависят от y. В этом случае Pr {y | x} = Pr {y} и r∗(x) не зависят от x. Замечание 3.3 К сожалению, сходимость R к R может быть очень медленной. Замечание 3.4 Результаты аналогичны для метода k ближайших соседей.
  • 207. 3.4. Линейная регрессия для задачи классификации (дискриминантный метод) Сопоставим каждому классу k характеристический, или индикаторный, вектор (y1 , y2, . . . , yK ), в котором yk = 1, а yi = 0 при i = k. Собрав вместе индикаторные векторы объектов обучающей выборки, получим матрицу Y размера N × K, называемую индикаторной. Таким образом, Y состоит только из нулей и единиц и каждая строка имеет ровно одну единицу. Как обычно, X — матрица размера N × (p + 1), первый столбец которой состоит из единиц, а последующие представляют собой векторы из обучающей выборки. Применяя метод наименьших квадратов одновременно к каждому столбцу матрицы Y, получаем значения Y = X(X X)−1 X Y. Для каждого столбца yk матрицы Y получим свой столбец коэффициентов βk . Соберем их в матрицу B размера (p + 1) × K.
  • 208. Имеем B = (X X)−1X Y. Объект x будем классифицировать согласно следующему правилу: Вычислим вектор-строку длины K g(x) = (1, x) B. Отнесем x к классу f (x) = argmax gk (x). k
  • 209. 1.5 Train error = 0.2 Test error = 0.231 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 210. y = β0 + β1x1 + β2x2 + β11x2 + β12x1x2 + β22x2 1 2 1.5 Train error = 0.195 Test error = 0.209 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 211. Обоснование этого правила может быть следующим. Пусть Yk — k-я компонента характеристического вектора, соответствующего классу, которому принадлежит случайный объект X. Тогда Yk — случайная величина и E (Yk |X = x) = Pr (Y = k |X = x). Однако линейная регрессия может быть рассмотрена как оценка условного ожидания E (Yk |X = x), т. е. gk (x) является оценкой апостериорной вроятности Pr (Y = k |X = x). Более того, легко проверить, что если X содержит столбец из единиц, то K ∑ gk (x) = 1, k=1 Заметим однако, что gk (x) может быть отрицательным или больше 1.
  • 212. При K ≥ 3 линейная регрессия может «не замечать» некоторых хорошо отделимых классов. 1.5 1.0 0.5 0.0 x2 −0.5 −1.0 −1.5 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 x1
  • 213. 3.5. Дискриминантный анализ (дескриптивный метод) p(x |y) = p(x |Y = y) — правдоподобие (плотность распределения X для класса y) Pr (Y = y) — априорная вероятность появления объекта из класса y. По теореме Байеса имеем p(x |y) Pr (y) Pr (Y = y |X = x) = K . ∑ p(x |k) Pr (k) k=1 Таким образом, зная p(x |k) и Pr (k), можно определить апостериорные (условные) вероятности Pr (Y = y |X = x) (y = 1, 2, . . . , K). Дескриптивные методы моделируют (оценивают) p(x |y).
  • 214. 3.5.1. Линейный дискриминантный анализ Фишера (LDA) Предположим, что 1 1 Σ−1 (x−µy ) p(x |y) = e− 2 (x−µy ) y , (2π)p/2 det Σy где Σy — матрица ковариаций, а µy — математическое ожидание. В линейном дискриминантном анализе (linear discriminant analysis, LDA) предполагается, что Σy = Σ (y = 1, 2, . . . , K). Рассмотрим отношение Pr (Y = y |X = x) p(x |y) Pr (y) p(x |y) Pr (y) ln = ln = ln + ln = Pr (Y = k |X = x) p(x |k) Pr (k) p(x |k) Pr (k) 1 exp − 2 (x − µy ) Σ−1(x − µy ) Pr (y) = ln 1 −1 (x − µ ) + ln = ... exp − 2 (x − µk ) Σ k Pr (k) 1 Pr (y) . . . = x Σ−1(µy − µk ) − (µy + µk ) Σ−1(µy − µk ) + ln , 2 Pr (k)
  • 215. Итак, Pr (Y = y |X = x) 1 Pr (y) ln = x Σ−1(µy − µk ) − (µy + µk ) Σ−1(µy − µk ) + ln , Pr (Y = k |X = x) 2 Pr (k) x входит линейно! Следовательно, поверхность (построенная по принципу максимума апостериорной вероятности), разделяющая классы y и k, т. е. множество точек x, в которых Pr (Y = y |X = x) = Pr (Y = k |X = x), является гиперплоскостью. Это верно для любой пары классов, поэтому все разделяющие поверхности являются линейными. Правило выбора класса можно определить как f (x) = argmax δy (x), y 1 δy (x) = x Σ−1µy − µy Σ−1µy + ln Pr (y) где 2 — линейная дискриминантная функция (linear discriminat function).
  • 216. 3 2 1 x2 0 −1 −1.5 −1.0 −0.5 0.0 0.5 1.0 x1
  • 217. Легко проверить, что 1 1 δy (x) = − (x − µy ) Σ (x − µy ) + x Σ−1x + ln Pr (y), −1 (∗) 2 2 где ρ(x, µy ) = (x − µy ) Σ−1(x − µy ) — расстояние в пространстве признаков между x и µy , если скалярное произведение введено по формуле x, µy = x Σ−1µy . В частности, если Σ = I, то ρ(x, µy ) — это обычное евклидово расстояние. Второе слагаемое в правой части (∗) не зависит от y Третье слагаемое — это «поправочный коэффициент», учитывающий, что объекты из разных классов могут появляться с разной вероятностью.
  • 218. На практике мы не знаем параметров нормального распределения, но можем оценить их по обучающей выборке: K Ny xi 1 Pr (y) = , µy = ∑ , Σ= ∑ ∑ (xi − µk )(xi − µk ) . N yi =k Ny N − K k=1 yi=k Пусть, например, имеется 2 класса. LDA-правило отнесет объект x к классу 2, если −1 1 1 N1 N2 x Σ (µ2 − µ1) > µ2 Σµ2 − µ1 Σµ1 + ln − ln , 2 2 N N и к классу 1 в противном случае. Пусть также β0, β — параметры, полученные с помощью линейной регрессии с критерием N ∑(yi − β0 − β xi)2 → min . i=1 Нетрудно показать, что вектор β коллинеарен вектору Σ−1(µ2 − µ1). Таким образом, разделяющие гиперплоскости, полученные с помощью линейной регрессии и методом LDA, параллельны (но при N1 = N2 не совпадают друг с другом).
  • 219. Это уже не так при числе классов, большем 2. Если имеется более 2-х классов, то, напомним, линейная регрессия при классификации может «не замечать» некоторых из них. LDA-метод свободен от этого недостатка.
  • 220. Линейная регрессия 1.5 1.0 0.5 0.0 x2 −0.5 −1.0 −1.5 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 x1
  • 221. LDA 1.5 1.0 0.5 0.0 x2 −0.5 −1.0 −1.5 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 x1
  • 222. Линейная регрессия = LDA (В данном случае) 1.5 Train error = 0.2 Test error = 0.231 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 223. 3.5.2. Квадратичный дискриминантный анализ Рассмотрим теперь 1 − 1 (x−µy ) Σ−1 (x−µy ) p(x |y) = e 2 y , (2π)p/2 det Σy не предполагая, что Σy равны между собой. Проводя аналогичные рассуждения, придем к понятию квадратичной дискриминантной функции 1 1 δy (x) = − ln det Σy − (x − µy ) Σ−1(x − µy ) + ln Pr (y) y 2 2 Поверхность, разделяющая два класса y и k описывается квадратным уравнением δy (x) = δk (x). Квадратичным дискриминантным анализом (quadratic discriminant analysis, QDA) назывется построение решающего правила с помощью квадратичной дискриминантной функции.
  • 224. LDA 3 2 1 x2 0 −1 −1.5 −1.0 −0.5 0.0 0.5 1.0 x1
  • 225. QDA 3 2 1 x2 0 −1 −1.5 −1.0 −0.5 0.0 0.5 1.0 x1
  • 226. LDA y = β0 + β1x1 + β2x2 + β12x1x2 + β11x2 + β22x2 1 2 3 2 1 x2 0 −1 −1.5 −1.0 −0.5 0.0 0.5 1.0 x1
  • 227. 3.5.3. Регуляризованный дискриминантный анализ Возможна модификация методов, описанных выше, в которой в качестве матрицы ковариаций выбирается Σk (α) = αΣk + (1 − α)Σ, (+) где α — некоторый параметр (регуляризации), 0 ≤ α ≤ 1. Другой вариант — Σ(γ) = γ Σ + (1 − γ)σ 2 I, где 0 ≤ γ ≤ 1. Заменяя Σ в (+) на Σ(γ), получим более общее семейство оценок Σ(α, γ) для матрицы ковариаций.
  • 228. 3.5.4. Вычисления в LDA Упростим вычисления, проводимые в LDA. Σ = UDU , где U — ортогональная p × p матрица, D — диагональная матрица, на диагонали которой расположены собственные числа d матрицы Σ. LDA-классификатор теперь можно реализовать следующим образом. Вначале выполним линейное преобразование данных X ∗ ← D−1/2U X. Матрица ковариаций для X ∗ — единичная, поэтому классификацию объекта x можно проводить используя 1 1 δy (x) = − ρ(x∗, µy ) + x∗ 2 + ln Pr (y), (∗) 2 2 где ρ(x∗, µ) — евклидово расстояние.
  • 229. 3.5.5. Понижение размерности в LDA Центроиды µ∗ (k = 1, 2, . . . , K) в p-мерном пространстве заметают гиперплоскость k H размерности не более K − 1. Для нахождения ближайшего центроида мы можем вычислять расстояния между µ∗ и ортогональной проекцией x∗ на H. k Это позволяет существенно снизить объем вычислений, если K ≤ p. При K > p можно попробовать найти гиперплоскость H ⊆ H, размерности меньшей K − 1, оптимальную в некотором смысле. Фишер предложил среди всевозможных гиперплоскостей найти ту, для которой разброс проекций центроидов на нее максимален. Эту задачу решим методом главных компонент.
  • 230. Вначале найдем K × p матрицу центроидов M и матрицу ковариаций W (ковариации «внутри классов»). Далее вычислим M∗ = MW−1/2. Затем найдем B∗ — матрицу ковариаций для M∗ (ковариации «между классами») и построим разложение B∗ = V∗DB V∗ , где DB — диагональная матрица с собственными числами матрицы B∗, упорядоченными по убыванию, а V — ортогональная матрица. Столбцы v ∗ матрицы V∗ ( = 1, 2, . . . , L) порождают оптимальные гиперплоскости. Переменная Z = v X, где v = W−1/2v ∗, называется -й дискриминантной переменной (discriminant variable).
  • 231. Итак, задача Фишера заключается в максимизации отношения Рэлея (Rayleigh quotient): a Ba max , a a Wa или, что эквивалентно, max a Ba при условии a Wa = 1. a Хорошо известно, что эта задача сводится к обобщенной задаче на собственные значения Ba = λW ⇔ W−1Ba = λI Решением является вектор a1, соответствующий максимальному значению λ1 . Нетрудно проверить, что a1 совпадает с v1. Можно найти вектор a2, ортогональный a1, на котором отношение Рэлея максимально. Решением будет a2 = v2 и т. д.
  • 232. 22 22 2 2 2 2 222 2 2 2 2 2 2 222 2 22 2 2 00 0 00 0 2 2 22 222 2 222 2 22 2 22 2 22 2 2 22 2 2 22 2 2 2 5 0 00 0 0 00 00 0000 0 0 0 222 22222 2 222 2 2 2 2222 2 2 2 2 22 2 2 0 0 0 2 2 22 2 2 2222 22 2 2 22 2 00 0 00 0 0 00 0 00 0 0 0 0 2 222 2 2 2 2222222 2 0 0 0000 0 0 0 00 0 00 00 0 0 2 2 2 2 22 2 22 2 0 000 0 0 0 6 0 0 00 0 00 006000 0 00 0 2 2 2 23 2 2 2 2 2 222222 3 2 2 00 0 000060000 6 0 8 88 5 522 2 2 2 2 0 00 000 060 0 0 0 00 0 0 06000 0 0 06 00 0 0 0 00 0 0 0 0 0 0 6 8 5 5 222 5 3 2 3 2 8 8 5 5 2 532 522 323 3 3 2 55 2 3 3 3 0 06 6 0 6 0 00 6 06 666 00 6 6 06006 066 8 6 8 18 8 8 58 5 5 5553 53 233 2 3 8 8 8 9 2 35 5 0 6 6 60 6 0 6 66 06 0 00 0 0 8 8 8 8 85 5 9 53 5 3 5 55 5 5 5 3 3 88 8 8 8 15 559 5 25 35 5333 33 6066 660066006 6 606606 00 6 0 6 66 6 6 6 0 6 5 5 88 8888888 89 599893559 5 53 553353 3333 3 3 33 6 6 6 6 6 6 0 066 0 66 6 66 6 6 6 6 66 6 8 18 1 8 88985 99 5555525 5555 5332333 3333 3 8 1888 888 8 188188 9 1 555 35 3333 3 333 9 8 955 95 5 8 8 8 8 5 89 5 53 3 3 33 33 3 9 333 5 53 3 6 66 60666 666 6 66666 6 6 6 6 6 18 8 9 89 5 88881818 8 89855 5 1 9 55 52535333333 3 3 3 3 8 9 9 18 1 9 3 353 33 60 6 66 660 666 6 666 666 6 6 6 6 06 8 888 188 91 885595 2355 5 35 3 5333 3 8888 831 988 859955 5 555 93 33 3 333 333 33 8 8 1888 9 9 9195 55 35 5 5 5 3533 3 9 9 1 5 5 33 35 3 3 66 6 6 6 8 89 8 99 5 9 188 81888885 9818 9859 5 5 3 33 33 3 6 66 6 6 6 6 66 66 6 6 6 1 15 9 1 5 5 0 6 606 6 6666 666 6 6 1 1 8 1 818 1811 89988 99 8 5 95 535 55 3333 33 33 8 8 18 9 8 89 98 1 5 1 9998 1885 99995 5 53 3 3 3 3 33 35 6 6 6 666 6 6 66 6 8 1 8 8 9 9918 1 9 15 5 5 3 3 3 3 68 8 1 888 898119 88198 95 555 5 953 3333333 33 3 81 1 1 9 199 9 9 5 95 5 8 99 9 1 19 18 3 666 66 666 66 1 989 899 9 9 1 1 1 1 911111181 1199 559 5 5 5 3 3 35 3 9 1 11 11 1 8 9 198991191 9 3 5 3 88 181911 11991989 919 5 5 3 5 33 3 1 1 9 99 1 15 1 0 6 9 11 5 6 6 6 6 6 66 6 6 8 1 1 118999 81 1 919 5 9 19 9 9 1 1 11 1 1 11 11911 9 1 6 1 81 91191 9199 1 9 1 9 8 11 818 91 1819119 1 98 1 1 1 1 1 1 1 11 111 9 1 9 1 33 1 9 11 1 19599 99 9 8 9 8 1 9 119 9 9 LD2 9 19 1 1 99 9 1 9 19 1 1 9 1 1 919 199 19 9 1 9 3 4 1 91 9 9 9 9 1 3 19 1 1 11 1 9 9 9 99 9 19 1 1 91 1 1 9 4 4 9 1 9 9 19 9 9 7 5 7 4 7 4 4 4 4 4 4 4 4 7 77 7 7 4 4 7 7 −5 4 4 4 4 4 4 4 44444 4 4 4 4 4 7 7 777 7 7 7 4 4 44 4 4 4 4 4 4 7 77 4 44 4 444 4 4 4 4 44 44 4 4 4 4 4 4 44 444 44 4 4 4 4 7 7 7 7 7 7 77 7 7 7 7 77 7 7 4 44 4 77 4 4 4 444 444 4444 4 4 44 4 4 444 4 4 7 77 7 7 77 7 777 7 7 4 4 4 4 44 4 4 4 4 4 4 4 4 4 4 7 7 7 77 7777 7 7 7 7 7 4 4 444 4 44 4 4 4 7 7 77 7 7 77 7 777 77 7 77 77 7 7 7 7 7 4 4 4 4 44 4 4 444 4 4 4 7 77 7 7 7 777 7 7 7 7 77 7777 7 7 7 7 4 44 44 4 4 4 44 4 4 7 7 77777777 7 77 7 77 7 77 7 4 44 4 4 7 7 77 7 77 7 7 7 7 77 7 7 7 77 77 77777 7 7 7 77 77 7 4 7 7 7 7 7 7 4 77 7 7 −10 −5 0 5 LD1
  • 233. 3.6. Логистическая регрессия (Дискриминантный метод) В логистической регрессии (logistic regression) предполагается, что апостериорные вероятности Pr (Y = y |X = x) удовлетворяют соотношениям: Pr {Y = 1|X = x} ln = β10 + β1 x, Pr {Y = K |X = x} Pr {Y = 2|X = x} ln = β20 + β2 x, Pr {Y = K |X = x} .......................................... Pr {Y = K − 1| X = x} ln = βK−1,0 + βK−1x, Pr {Y = K |X = x} где β10, β1, β20, β2 , . . . , βK−1,0, βK−1 — некоторые коэффициенты, которые необходимо найти.
  • 234. Получаем exp (βk0 + βk x) Pr {Y = k |X = x} = K−1 (k = 1, 2, . . . , K − 1), 1 + ∑ exp (β 0 + β x) =1 1 Pr {Y = K |X = x} = K−1 , 1 + ∑ exp (β 0 + β x) =1 поэтому величины Pr {Y = k |X = x} неотрицательны, их сумма равна 1 и для любой пары классов y и k функция Pr {Y = k |X = x} ln Pr {Y = y |X = x} линейна по x. Согласно принципу максимального правдоподобия разделяющие поверхности линейны.
  • 235. 3.6.1. Расчет параметров В логистической регрессии параметры обычно подбираются с помощью метода максимального правдоподобия. Максимизации подвергается логарифмическая функция правдоподобия N (β) = ∑ ln Pr {Y = yi |X = xi, β} , i=1 где β = (β10, β1, β20, β2, . . . , βK−1,0, βK−1), Pr (Y = k |X = x, β) = Pr (Y = k |X = x).
  • 236. Подробно рассмотрим случай K = 2. Классы будем кодировать числами 1 и 0 (вместо 1 и 2 соответственно). Пусть векторы xi (i = 1, 2, . . . , N ) содержат дополнительную (первую) компоненту, равную 1. Обозначим exp(β x) p(x, β) = Pr {Y = 1|X = x, β} = , 1 + exp(β x) где β = (β10 , β1), тогда 1 Pr {Y = 0|X = x, β} = 1 − p(x, β) = 1 + exp(β x) и N (β) = ∑ yi ln p(xi, β) + (1 − yi) ln 1 − p(xi, β) = i=1 N = ∑ yiβ xi − yi ln(1 + eβ xi ) − (1 − yi) ln(1 + eβ xi ) = i=1 N = ∑ yiβ xi − ln(1 + eβ xi ) . i=1
  • 237. N (β) = ∑ yiβ xi − ln(1 + eβ xi ) i=1 Найдем первую производную функции (β): ∂ (β) N exp(β xi) N = ∑ yixi − xi = ∑ yi − p(xi, β) xi. ∂β i=1 1 + exp(β xi) i=1 и приравняем ее к нулю: N ∑ yi − p(xi, β) xi = 0. i=1 Получаем систему p + 1 нелинейных уравнений относительно β. Так как первая компонента векторов xi равна 1, то первое уравнение этой системы имеет вид: N N ∑ yi = ∑ p(xi, β), i=1 i=1 что означает, что ожидаемое число появлений класса 1 равно числу наблюдений.
  • 238. Для решения системы N ∑ yi − p(xi, β) xi = 0. i=1 воспользуемся методом Ньютона–Рафсона. Матрица Гессе: N N ∂ 2 (β) ∂p(xi, β) = −∑ xi = − ∑ xixi p(xi, β) 1 − p(xi, β) , ∂β∂β i=1 ∂β i=1 так как ∂p(xi, β) exp(β xi) = x = p(xi, β) 1 − p(xi, β) xi. 2 i ∂β 1 + exp(β xi) Шаг метода заключается в последовательном применении формулы −1 ∂ 2 (β) ∂ (β) β new = β old − , ∂β∂β ∂β в которой производные вычисляются в точке β old.
  • 239. Запишем формулу −1 ∂ 2 (β) ∂ (β) β new = β old − , ∂β∂β ∂β используя следующие обозначения: y — вектор-столбец, составленный из значений yi; X — N × (p + 1) матрица, скомпонованная из векторов xi; p — вектор-столбец, i-я компонента которого равна p(xi, β old); W — диагональная матрица размера N × N , i-й диагональный элемент которой равен p(xi, β old) 1 − p(xi, β old) . Тогда ∂ (β) ∂ 2 (β) = X (y − p), = −X WX. ∂β ∂β∂β Шаг метода Ньютона–Рафсона теперь можно представить формулой: −1 β new = β old + X WX X (y − p) = −1 −1 = X WX X W Xβ old + W−1(y − p) = X WX X Wz.
  • 240. На шаг метода Ньютона–Рафсона −1 β new = X WX X Wz можно смотреть как на взвешенный метод наименьших квадратов β new ← argmin (z − Xβ) W(z − Xβ). β с подправленным выходом (adjusted response) z = Xβ old + W−1(y − p). Заметим, что матрица весов W меняется на каждой итерации, поэтому описанный алгоритм можно назвать итерационным перевзвешиваемым методом наименьших квадратов (iteratively reweighted least squares, IRLS). В качестве стартовой точки для итераций можно взять β = 0 или (X X)−1X y К сожалению, в общем случае гарантировать сходимость нельзя. Тем не менее, как правило, метод сходится, так как логарифмическая функция правдоподобия вогнута.
  • 241. Приведем формальное описание метода IRLS. begin β ← (X X)−1X y repeat p ← p(x1, β), p(x2, β), . . . , p(xN , β) W ← diag(w1, w2, . . . , wN ), где wi = p(xi, β) 1 − p(xi, β) −1 β ← β + X WX X (y − p) end end
  • 242. LDA 1.5 Train error = 0.2 Test error = 0.231 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 243. Логистическая регрессия 1.5 Train error = 0.235 Test error = 0.236 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 244. QDA 1.5 Train error = 0.195 Test error = 0.208 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 245. 3.6.2. Связь с задачей наименьших квадратов Итак, оценки β являются решением взвешенной задачи наименьших квадратов, в которой выходы zi и веса wi: yi − pi zi = xi β + , wi = pi(1 − pi) pi(1 − pi) сами зависят от β. Рассмотрим некоторые следствия из этого. Взвешенная сумма квадратов отклонений N (yi − pi)2 ∑ pi(1 − pi) , i=1 представляет собой обычную χ2-статистику Пирсона, оценивающую дисперсию. Из центральной предельной теоремы вытекает, что распределение случайной величины β сходится к N β, (X WX)−1 .
  • 246. 3.6.3. Пример В примере Ø × выборка случайным образом была поделена на две равные части по 384 прецедента: обучающую и тестовую. Ошибка train test LDA 0.214 0.221 QDA 0.229 0.255 Логистическая регрессия 0.219 0.234
  • 247. Логистическая регрессия Ó ÒØ× ×Ø Ñ Ø ËØ º ÖÖÓÖ Þ Ú ÐÙ ÈÖ´ Þ µ ´ÁÒØ Ö ÔØµ ¹ º ¿½ ½º¼ ½ ¹ º¼ º ¹½ ¶¶¶ ÔÖ Ò ÒØ ¼º½¾ ¼º¼ ½ ¾ ¾º ¾½ ¼º¼¼¿ ¶¶ ÐÙ Ó× ¼º¼¿ ¿¼ ¼º¼¼ ½ º º¾ ¹½½ ¶¶¶ רÓÐ ¹¼º¼½¼ ¼ ¼º¼¼ ¼½ ¹½º ¼º½ ØÖ Ô× ¹¼º¼½¾½ ¾½ ¼º¼¼ ¿ ¿ ¹½º¿¼¾ ¼º½ ¿¼ Ò×ÙÐ Ò ¹¼º¼¼¼¾ ¾ ¼º¼¼½½ ¿ ¹¼º¾¾ ¼º ¾¼ Ñ ¼º¼ ¾¾ ¼º¼¾½ ¼ ¿ º ¾ º ¹¼ ¶¶¶ Ø × ½º½ ¼ ¿ ¼º ¼¼ ¾º ½ ¼º¼½¼ ¿ ¶ ¼º¼½¾ ½ ¼º¼½¾ ½ ¼º ¼º¿¾ ¼ ¹¹¹ Ë Ò º Ó × ¼ ³¶¶¶³ ¼º¼¼½ ³¶¶³ ¼º¼½ ³¶³ ¼º¼ ³º³ ¼º½ ³ ³ ½
  • 248. 3.7. Персептрон Розенблатта (Дискриминантный метод) Персептрон Розенблатта (1958), также как и LDA и логистическая регрессия, строит линейную разделяющую поверхность (гиперплоскость). Рассмотрим случай K = 2 классов, которые будем кодировать числами 1 и −1. Разделяющую гиперплоскость зададим уравнением β0 + β x = 0, а решающее правило — формулой f (x) = sign(β0 + β x). Таким образом, нашу цель можно переформулировать следующим образом: необходимо минимизировать кусочно-линейную функцию D(β, β0) = − ∑ yi(β0 + xi β), i∈M где M — множество индексов тех объектов, которые были классифицированы неправильно. Каждое слагаемое неотрицательно и пропорционально расстоянию от точки до гиперплоскости β0 + x β = 0.
  • 249. D(β, β0) = − ∑ yi(β0 + xi β), i∈M Частные производные (при фиксированном M ) равны ∂D(β, β0) ∂D(β, β0) = − ∑ yi. = − ∑ yixi, ∂β0 i∈M ∂β i∈M Для минимизации D(β, β0) персептрон использует алгоритм стохастического градиентного спуска, который вместо того, чтобы вычислять градиент (как в обычном градиентном спуске), находит только одно из слагаемых yixi (и yi). Объекты в обучающей выборке обходим в некотором порядке. Алгоритм запускается на тестовых примерах несколько раз, до тех пор, пока β0, β перестанут меняться. (r+1) (r) β0 β0 yi (r+1) ← (r) +ρ , β β yixi где i ∈ M , а ρ — некоторый положительный параметр (например, ρ = 1). Заметим, что M обновляется после каждого изменения коэффициентов β0, β.
  • 250. Теорема 3.5 (A.B.J. Novikoff, 1962) Если классы линейно отделимы, то за конечное число шагов алгоритм построит разделяющую гиперплоскость.
  • 251. Д ОКАЗАТЕЛЬСТВО . Пусть к xi приписана первая координата, равная 1, и β (0) = 0, ρ = 1, xi ≤ γ. Пусть классы разделяются гиперплоскостью β ∗ x = 0, причем β ∗ xi ≥ α > 0 ⇔ yi = 1, β ∗ xi ≤ −α < 0 ⇔ yi = −1, β∗ = 1 Имеем β ∗ β (1) = β ∗ (β (0) + ρyi1 xi1 ) = β ∗ yi1 xi1 ≥ α β ∗ β (2) = β ∗ (β (1) + ρyi2 xi2 ) = β ∗ β (1) + β ∗ yi2 xi2 ≥ 2α β ∗ β (r) ≥ rα β (1) 2 = xi1 yi1 2 ≤ γ 2, β (2) 2 = β (1)+xi2 yi2 2 = β (1) 2 +2 β (1) xi2 yi2 + xi2 2 <2 ≤γ 2 <0 r β (r) 2 < ∑ xi 2 ≤ rγ 2 =1 β ∗ β (r) rα (∗) cos (β , β ) = ∗ (r) > √ → ∞, если бы r → ∞ β · β (r) rγ
  • 252. Количество итераций: √ rα <1 γ γ2 rmax = 2. α
  • 253. Недостатки 1. Персептрон работает крайне медленно. 2. Если данные линейно отделимы, то не известно, какую именно разделяющую гиперплоскость из возможных найдет алгоритм: это зависит от начального значения параметров β, β0, от порядка обхода точек, которые классифицируются не правильно, и от величины ρ. 3. Если данные линейно не отделимы, то алгоритм может зациклиться, причем, как правило, наблюдается большая длина цикла, и зацикливание трудно распознать.
  • 254. 3.8. Нейронные сети Нейронная сеть (или искусственная нейронная сеть — в отличие от биологических, или многослойный персептрон) — ориентированный граф без орциклов, вершинам которого соответствуют функции, а каждому входящему в вершину ребру — ее аргумент. Пороговая функция: 1, если β0 + β1x1 + . . . + βq xq ≥ 0, g(x1, x2, . . . , xq ) = 0, если β0 + β1x1 + . . . + βq xq < 0, Сигмоидальная (логистическая) функция 1 g(x1, x2, . . . , xq ) = 1 + e−(β0+β1 x1+...+βq xq ) В задаче классификации используются нейронные сети с K-выходами (по количеству классов). При этом на k-м выходе часто используется softmax-функция ezk gk (z1 , . . . , zK ) = K ∑ ez =1
  • 255. 1, если x ≥ 0, Элементарная пороговая функция y = 0, если x < 0, 1 элементарный сигмоид (логистическая функция) y = σ(x) = 1 + e−x 1 1 + arctg x 2 π 1 O x
  • 256. Если узлы сети можно разбить на группы (слои), которые удается пронумеровать так, что дуги будут вести только от вершин из i-го слоя в вершины (i + 1)-го слоя, то нейронная сеть называется многоуровневой.
  • 257. y1 y2 ... yK выходы z1 z2 ...... zM «скрытый» слой x1 x2 ............... xp входы zm = σ(α0m + α1mx1 + . . . + αpmxp) (m = 1, 2, . . . , M ) tk = β0k + β1k z1 + . . . + βMk zM (k = 1, 2, . . . , K) yk = fk (x1, . . . , xp) = gk (t1, . . . , tK ) (k = 1, 2, . . . , K) В задаче восстановления регресии gk — тождественная функция.
  • 258. В задаче классификации используются нейронные сети с K-выходами (по количеству классов). При этом на k-м выходе часто используется softmax-функция etk gk (t1, . . . , tK ) = K ∑ et =1 Классификатор работает по правилу f (x) = argmax fk (x) k
  • 259. 3.8.1. Обучение нейронной сети Настройка параметров θ = {α0m, αm, β0k , βk : m = 1, 2, . . . , M, k = 1, 2, . . . , K} — всего M (p + 1) + K(M + 1) параметров. В задачах регрессии минимизируют сумму квадратов K N ∑∑ 2 R(θ) = yik − fk (xi) k=1 i=1 В задачах классификации минимизируют сумму квадратов или кросс-энтропию K N R(θ) = − ∑ ∑ yik log fk (xi) k=1 i=1 Алгоритм обратного распространения ошибки (back propagation) — это применение алгоритма градиентного спуска для минимизации функции R(θ) Рассмотим это подробнее для R(θ), равной сумме квадратов.
  • 260. N K R(θ) = ∑ Ri, ∑ 2 где Ri = yik − fk (xi) , i=1 k=1 ∂Ri = −2 yik − fk (xi) gk (βk zi)zmi , ( ) ∂βkm K ∂Ri = − ∑ 2 yik − fk (xi) gk (βk zi)βkmσ (αmxi)xi . ( ) ∂αm k=1 На (r + 1)-й итерации алгоритма градиентного спуска N N ∂Ri ∂Ri (r+1) βkm = (r) βkm − γr ∑ (r) , (r+1) αm = (r) αm − γr ∑ (r) , (+) i=1 ∂βkm i=1 ∂αm Запишем ( ), ( ) в виде ∂Ri ∂Ri = δkizmi, = εmixi ∂βkm ∂αm
  • 261. Величины δki, εmi удовлетворяют уравнениям K εmi = σ (αmxi) ∑ βkmδki. (++) k=1 Вычисления (+) на каждой итерации теперь могут быть вычислены за два шага. Прямой шаг: текущие значения весов фиксируются и вычисляются значения fk (xi). Обратный шаг: вычисляются δki и по формуле (++) вычисляются εmi. Далее происходят вычисления по формуле (+), в которой используются вычисленные значения δki и εmi. На эти вычисления можно смотреть как на процедуру передачи сообщений от узла нейронной сети к другим узлам. При этом обмениваются сообшениями только узлы, соединенные дугами.
  • 262. Классификация на основе трехслойной нейронной сети с 10 скрытыми узлами. Построенный классификатор сильно зависит от начальных значений. 1.5 Train error = 0.155 Test error = 0.246 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 263. 3.8.2. Переобучение Регуляризация weight decay Добавим штраф к функции ошибок: R(θ) + λJ(θ), где J(θ) = ∑ βkm + αm , 2 2 ( ) k,m λ≥0 Вариант: 2 2 βkm αm J(θ) = ∑ 2 + 2 , k,m 1 + βkm 1 + αm (малые коэффициенты подвергаются большему сокращению, чем это делает ( ))
  • 264. Классификация на основе трехслойной нейронной сети с 10 скрытыми узлами и коэффициентом decay weigth = 0.1 1.5 Train error = 0.17 Test error = 0.201 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 265. В примере Ø× выборка размера 1934 была случайным образом разбита на две группы по 967 объектов в каждой. Для обучения использовалась трехслойная нейронная сеть с 8 элементами в с крытом слое. Ошибка decay weight на обучающей выборке на тестовой выборке 0 0.009 0.114 0.1 0 0.086 0.5 0 0.058 0.75 0 0.047 0.9 0.058 0.171 1 0.058 0.200
  • 266. Рукописные цифры, которые были не правильно классифицированы нейронной сетью с decay weight = 0.75. Цифра рядом с каждым изображением — ответ нейронной сети 0 1 1 1 9 5 4 4 9 8 4 9 6 4 1 5 1 4 5 2 4 9 9 9 1 1 3 4 9 7 0 4 8 3 9 1 9 9 9 4 7 1 9 1 6
  • 267. 3.9. Оптимальная разделяющая гиперплоскость
  • 270. 1 0 0 1 Желтая — разделяющая («нейтральная») полоса
  • 271. Оптимальная разделяющая гиперплоскость — это гиперплоскость, разделяющая объекты двух классов, такая, что расстояние от нее до ближайшей точки (из каждого класса) максимально. Т. е. оптимальная разделяющая гиперплоскость лежит в центре разделяющей полосы и толщина этой полосы максимальна. Если классы линейно разделимы, то оптимальная разделяющая гиперплоскость единственна. Она максимизирует зазор (margin) между плоскостью и данными из обучающей выборки — это приводит, как правило, к хорошим результатам и на тестовых данных.
  • 273. Задача поиска оптимальной гиперплоскости эквивалентна следующей: max C β, β0 , β =1 при ограничениях yi(xi β + β0) ≥ C (i = 1, 2, . . . , N ) или, что эквивалентно, 1 2 min β β, β0 2 при ограничениях yi(xi β + β0) ≥ 1 (i = 1, 2, . . . , N ). Во втором случае зазор равен 2/ β . Получили задачу выпуклого программирования (минимизация квадратичной функции при линейных ограничениях).
  • 274. Запишем функцию Лагранжа N 1 L(β0, β, λ) = β 2 + ∑ λi yi(xi β + β0) − 1 . 2 i=1 Приравнивая частные производные (по β0 и β) нулю, получим: N N 0 = ∑ λiyi, β = ∑ λiyixi. i=1 i=1 Откуда 1 N N N L(λ) = L(β0, β, λ) = ∑ ∑ λiλk yiyk xi xk − ∑ λi. 2 i=1 k=1 i=1 Тем самым задача сведена к минимизации L(λ) при ограничениях λi ≥ 0 (i = 1, 2, . . . , N ). Для ее решении есть стандартные методы (и программное обеспечение).
  • 275. Решение задачи удовлетворяет условию Куна–Таккера: λi yi(xi β + β0) − 1 = 0 (i = 1, 2, . . . , N ), откуда следует, что • если λi > 0, то yi(xi β + β0) = 1, т. е. xi лежит на границе разделяющей полосы • если yi(xi β + β0) > 1, т. е. xi не лежит на границе разделяющей полосы, то λi = 0 Точки, для которых yi(xi β + β0) = 1, называются опорными точками (support points).
  • 276. 1 C= β 1 C= β β0 + x β = 0
  • 277. По построению, ни один объект из обучающей выборки не может попасть внутрь разделяющей полосы. Однако в нее могут попасть тестовые объекты. Тем не менее, даже в этом случае решающее правило, основанное на оптимальной разделяющей гиперплоскости, показывает, как правило, хорошие результаты. Расположение оптимальной разделяющей гиперплоскости полностью определяется только опорными точками и не зависит от других точек обучающей выборки. Такая робастность отличает метод, основанный на оптимальных разделяющих гиперплоскостях, от LDA, в котором учитываются даже точки, расположенные далеко от границы. Конечно, для нахождения самих опорных точек мы должны принимать во внимание все точки обучающей выборки. Однако если данные действительно подчиняются нормальному закону с равными матрицами ковариации, то LDA — лучший выбор. Разделяющая гиперплоскость, найденная с помощью логистической регрессии, часто близка к оптимальной разделяющей гиперплоскости. Это можно объяснить некоторой схожестью этих походов: на логистическую регрессии можно смотреть как на взвешенный метод наименьших квадратов, причем веса тем больше, чем ближе точка к границе.
  • 278. Что делать, если данные линейно не разделимы? Можно расширить базис, однако этот подход может привести к переобучению. Рассмотрим более элегантный способ.
  • 279. 3.10. Классификатор опорных векторов Предположим, что классы перекрываются. Рассмотрим задачу max C β, β0, ξi , β =1 при ограничениях n yi(xi β + β0 ) ≥ C(1 − ξi), ξi ≥ 0 (i = 1, 2, . . . , N ), ∑ ξi ≤ K, i=1 где K — некоторая константа. Случаю линейно-отделимых областей соответствует K = 0. Здесь ξi пропорционально величине, на которую xi заходит за границу разделяющей полосы. В частности, i-й объект будет классифицирован не правильно, если и только если ξi > 1. Чем меньше K, тем меньше объектов будет классифицировано неправильно. С другой стороны, параметр K должен быть достаточно велик, чтобы задача была совместной.
  • 280. 1 C= β ∗ ξ2 ∗ ξ4 1 ∗ C= β ξ3 ∗ ξ1 β0 + x β = 0
  • 281. Определяя C = 1/ β , мы можем избавиться от ограничения β = 1 и переписать задачу в виде 1 min β 2, β, β0, ξi 2 при ограничениях n yi(xi β + β0) ≥ 1 − ξi, ξi ≥ 0 (i = 1, 2, . . . , N ), ∑ ξi ≤ K. i=1 Задача заключается в минимизации квадратичной положительно определенной функции при линейных ограничениях. Запишем задачу в виде n 1 min β + γ ∑ ξi , 2 β, β0 , ξi 2 i=1 при ограничениях yi(xi β + β0) ≥ 1 − ξi, ξi ≥ 0 (i = 1, 2, . . . , N ), где γ = 1/K. Случай линейно отделимых областей соответствует значению γ = ∞.
  • 282. Функция Лагранжа для этой задачи имеет вид n N N 1 LP = β 2 + γ ∑ ξi − ∑ λi yi(xi β + β0) − (1 − ξi) − ∑ µiξi. 2 i=1 i=1 i=1 Положим производные относительно неизвестных β0, β, ξi равными нулю: N N 0 = ∑ λiyi, β = ∑ λiyixi, λi = γ − µi (i = 1, 2, . . . , N ). i=1 i=1 Подставляя эти формулы в LP , получим двойственную функцию Лагранжа 1 N N N LD = ∑ ∑ λiλj yiyj xi xj − ∑ λi. 2 i=1 j=1 i=1 LD необходимо минимизировать при ограничениях N 0 ≤ λi ≤ γ, ∑ λiyi = 0. i=1 Для этой задачи (минимизации квадратичной функции на симплексе с дополнительными ограничениями λi ≤ γ) есть стандартные методы решения.
  • 283. Условия Куна–Таккера: λi yi(xi β + β0) − (1 − ξi) = 0, µiξi = 0 Пусть β, β0, ξi, λi и т. д. — оптимальные значения соответствующих неизвестных. Если λi = 0, то yi(xi β + β0) = 1 − ξi, т. е. i-е неравенство выполнено как равенство. Таким образом, в формуле N β = ∑ λiyixi, i=1 в правой части остаются только слагаемые, соответствующие точкам, для которых yi(xi β + β0) = 1 − ξi. Эти точки (или наблюдения) называются опорными векторами, так как β зависит только от них.
  • 284. Среди этих точек некоторые могут лежать на границе разделяющей полосы (ξi = 0). Для них 0 < λi < γ. Для остальных опорных точек ξi > 0 и λi = γ. Любая точка на границе разделяющей полосы может использоваться для определения β0. На практике в качестве β0 берется среднее из всех значений, определяемых по опорным векторам. Итак, на расположение разделяющей гиперплоскости влияют только опорные точки. Это выгодно отличает данный классификатор от LDA, в котором граница областей определяется матрицами ковариации и расположением центроидов, и, следовательно, зависит от всех точек. В рассматриваемом отношении классификатор опорных векторов больше похож на логистическую регрессию.
  • 285. 1.5 Train error = 0.195 Test error = 0.235 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 286. 3.11. Ядра и спрямляющие пространства Перейдем от исходного пространства X в другое, называемое спрямляющее, H с помощью некоторого отображения h(x) = h1(x), . . . , hM (x) , где hm(x) — базисные функции (m = 1, 2, . . . , M ). Новый классификатор определяется теперь функцией f (x) = sign h(x) β + β0 . Развитие этой идеи приводит к так называемой машине (алгоритму) опорных векторов (support vector machine — SVM).
  • 287. В формуле N β = ∑ λiyixi, i=1 заменяем xi на h(xi): N β = ∑ λiyih(xi), i=1 Двойственная функция Лагранжа 1 N N N LD = ∑ ∑ λiλj yiyj xi xj − ∑ λi. 2 i=1 j=1 i=1 примет вид 1 N N N LD = ∑ ∑ λiλj yiyj h(xi), h(xj ) − ∑ λi. 2 i=1 j=1 i=1 Функция f (x) запишется как N f (x) = sign h(x) β + β0 = sign ∑ λiyi h(x), h(xi) + β0 . i=1
  • 288. Мы видим, что h(x) встречается только в скалярном произведении h(x), h(xi) .
  • 289. Таким образом, для определения классификатора опорных векторов нам достаточно уметь вычислять лишь функцию K(x, x ) = h(x), h(x ) . Итак, мы можем заменить скалярное произведение функцией K(x, x ) и, более того, вообще явно не строить спрямляющего пространства H , а подбирать функцию K. Можно совсем отказаться от построения новых признаков, а попробовать построить модель, в которой описываются взаимоотнощения между объектами с помощью функции K(x, x ).
  • 290. Рассмотрим необходимые и достаточные условия, которым должна удовлетворять функция K(x, x ). Функция K : X × X → R называется ядром, если она представима в виде K(x, x ) = h(x), h(x ) при некотором отображении h : X → H , где H — евклидово (или гильбертово) пространство со скалярным произведением ·, · . Теорема 3.6 (Мерсер) Функция K(x, x ) является ядром тогда и только тогда, когда она симметрична, т. е. K(x, x ) = K(x , x), и неотрицательно определена, т. е. K(x, x )g(x)g(x )dxdx ≥ 0 X X для всех g(x), для которых g(x)2dx ограничено. X Примеры ядер: полином степени d: K(x, x ) = (1 + x, x )d, 2 радиальная функция: K(x, x ) = e− x−x /c, сигмоидальная («нейронная») функция: K(x, x ) = tanh(κ1 x, x + κ2).
  • 291. Пример Рассмотрим пространство признаков размерности 2 с двумя входами x1, x2 и полиномиальным ядром степени 2: K(x, x ) = (1+ x, x )2 = (1+x1x1+x2x2)2 = 1+2x1x1+2x2x2+(x1x1)2+(x2x2)2+2x1x1x2x2. Мы видим, что M = 6 и можно положить √ √ 2 2 √ h1(x) = 1, h2(x) = 2x1, h3(x) = 2x2, h4(x) = x1, h5(x) = x2, h6(x) = 2x1x2. Тогда K(x, x ) = h(x), h(x ) . Заметим, что это скалярное произведение имеет далеко не произвольный вид. Например, веса у слагаемых 2x1x1 и 2x2x2 всегда совпадают.
  • 292. Исследуем роль параметра γ в n 1 min β 2 + γ ∑ ξi , β, β0 , ξi 2 i=1 учитывая, что классы в спрямляющем пространстве, как правило, можно разделить. Большое значение γ препятствует росту ξi, что, как правило, приводит к переобучению и крайне извилистой границе между областями. Маленькое значение γ способствует росту ξi и обычно приводит к более «прямой» разделяющей поверхности.
  • 293. SVM может быть рассмотрен как метод штрафов. Можно показать, что наша задача сводится к задаче оптимизации N min ∑ 1 − yi h(xi) β + β0 + α β 2, β, β0 + i=1 где [·]+ означает положительную часть. Целевая функция имеет вид «потери + штраф».
  • 294. SVM радиальное ядро, γ = 1/2 1.5 Train error = 0.17 Test error = 0.211 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 295. SVM радиальное ядро, γ = 5 1.5 Train error = 0.12 Test error = 0.245 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 296. SVM радиальное ядро, γ = 20 1.5 Train error = 0.06 Test error = 0.27 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 297. SVM радиальное ядро, γ = 50 1.5 Train error = 0.025 Test error = 0.304 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 298. SVM радиальное ядро, γ = 100 1.5 Train error = 0.015 Test error = 0.334 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 299. SVM радиальное ядро, γ = 500 1.5 Train error = 0.005 Test error = 0.432 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 300. SVM полиномиальное ядро (полином 3-й степени) 1.5 Train error = 0.205 Test error = 0.257 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 301. Задача классификации рукописных цифр. Выборка размера 1934 была случайным образом разбита на две группы по 967 объектов в каждой. γ = 1/1024 Ошибки на обучающей и тестовой выборках приведена в следующей таблице. Ошибка Ядро на обучающей выборке на тестовой выборке Линейное 0 0.021 Радиальное 0.011 0.030 Полином 3 степени 0.090 0.094 Сигмоидальное 0.131 0.125 Все случаи неправильной классификации цифр из тестовой выборки в случае линейного ядра. 5 9 2 8 8 3 9 0 4 3 9 7 5 1 5 7 4 4 6 5 1 6 5 6 9 4 1 8 7 0 8 1 9 1 3 9 4 1 9 8
  • 302. 3.12. SVM и восстановление регрессии Как SVM можно адаптировать к решению задачи восстановления регрессии? Сначала рассмотрим линейную регрессионную модель f (x) = x β + β0. Для восстановления β, β0 рассмотрим задачу минимизации функции N α H(β, β0) = ∑ V yi − f (xi) + β 2, i=1 2 где 0, если |t| < ε, V (t) = Vε(t) = |t| − ε в противном случае. Vε(t) — функция «ε-нечувствительности», игнорирующая ошибки, меньшие ε. Можно провести аналогию с SV-классификатором, в которой точки, расположенные далеко от разделяющей полосы (с «правильной» стороны) не рассматриваются при построении классификатора. В случае с регрессией такую роль играют точки с маленькой ошибкой |yi − f (xi)|.
  • 303. Можно показать, что решение β, β0, минимизирующее функцию H(β, β0), можно представить в виде N N β=∑ ∗ (αi − αi)xi, f (x) = ∑(αi − αi) x, xi + β0, ∗ i=1 i=1 ∗ где αi и αi являются решением следующей задачи квадратичного программирования: N N 1 N ∗ min ε ∑ ∗ (αi + αi) − ∑ ∗ yi(αi − αi) + ∑ (αi − αi)(αj − αj ) xi, xj ∗ ∗ αi , αi i=1 i=1 2 i,j=1 при ограничениях N 1 ∗ 0 ≤ αi, αi ≤ , λ ∑(αi∗ − αi) = 0, ∗ αiαi = 0. i=1 Как и в случае задачи классификации, здесь решение зависит только от скалярных произведений xi, xj , поэтому мы можем использовать аппарат спрямляющих пространств и ядер.
  • 304. В качестве функции V (t), можно было выбрать другую меру ошибки, например, квадратичную V (t) = t2 или функцию, часто встречающуюся в робастной регрессии r2/2, если |r| < c, VH (r) = c|r| − c2/2 в противном случае, но важно свести все к задаче квадратичного программирования, содержащей только скаларные произведения xi, xj .
  • 305. 3.13. Регрессия и ядра SVM — не единственная модель, в которой могут использоваться ядра. Рассмотрим, например, задачу аппроксимации функции f (x) (т. е. задачу восстановления регрессии) при заданных базисных функциях h1(x), . . . , hm(x): M f (x) = ∑ βmhm(x) + β0. m=1 Будем минимизировать регуляризованную функцию потерь N λ H(β, β0) = ∑ V (yi − f (xi)) + β 2. i=1 2 Решение задачи минимизации имеет вид M N f (x) = ∑ βmhm(x) + β0 = ∑ αiK(x, xi), m=1 i=1 где M K(x, x ) = ∑ hm(x)hm(x ). m=1
  • 306. где α = (HH + I)−1y. Как и в SVM, нет необходимости вычислять M значений функций h1(x), . . . , hM (x) (и даже определять сами эти функции). Достаточно вычислить только значения K(xi, xj ). Удачный выбор функций hm (например, если в качестве них выбраны собственные функции ядра) позволяет вычислить все эти значения за время N 2/2, а не N 2M , как при прямом умножении матриц.
  • 307. 3.14. Наивный байесовский классификатор Пусть все компоненты случайной величины X = (X1 , . . . , Xp) дискретны. Pr {X = x |Y = y} · Pr {Y = y} Pr {Y = y |X = x} = Pr {X = x} Основное предположение наивного байесовского классификатора: переменные X1, . . . , Xp условно независимы при любом заданном Y = y, т. е. Pr {X1 = x1, . . . , Xp = xp |Y = y} = Pr {X1 = x1 |Y = y} · . . . · Pr {Xp = xp |Y = y} , или, короче, p Pr {X = x |Y = y} = ∏ Pr {Xj = xj |Y = y} . j=1 По принципу максимума апостериорной вероятности n f (x) = argmax Pr {Y = y |X = x} = argmax Pr {Y = y} · ∏ Pr {Xj = xj |Y = y} . y y j=1
  • 308. Вероятности заменяем частотой: 1 Pr {Y = y} ≈ | {i : yi = y} | N | {i : xij = xj } | Pr {Xj = xj |Y = y} ≈ | {i : yi = y} |
  • 309. Задача: предсказать исход матча команды A с командой B по имеющимся данным о предыдущих матчах. № Поле Ключевые игроки Ключевые игроки Погода Исход противника X1 X2 X3 X4 Y 1 свое присутствуют присутствуют дождь поражение 2 чужое отсутствуют отсутствуют нет дождя победа 3 свое присутствуют отсутствуют нет дождя победа 4 свое присутствуют отсутствуют дождь ничья 5 чужое отсутствуют присутствуют дождь поражение 6 чужое присутствуют присутствуют нет дождя поражение 7 чужое отсутствуют присутствуют нет дождя поражение 8 свое отсутствуют отсутствуют нет дождя ничья 9 свое присутствуют отсутствуют дождь победа 10 чужое присутствуют отсутствуют нет.дождя победа
  • 310. Априорные вероятности: Y победа ничья поражение 0.4 0.2 0.4 Условные вероятности: Поле Ключевые игроки Y свое чужое Y отсутствуют присутствуют победа 0.50 0.50 победа 0.25 0.75 ничья 1.00 0.00 ничья 0.50 0.50 поражение 0.25 0.75 поражение 0.50 0.50 Ключевые игроки противника Погода Y отсутствуют присутствуют Y дождь нет дождя победа 1 0 победа 0.25 0.75 ничья 1 0 ничья 0.50 0.50 поражение 0 1 поражение 0.50 0.50
  • 311. Нужно предсказать Y , если X1 = , X2 = , X3 = , X4 = . Pr { | , , , }= Pr { } · Pr { | } · Pr { | } · Pr { | } · Pr { | } = = Pr { , , , } 0.4 · 0.5 · 0.75 · 1 · 0.25 0.0375 = = = 0.4286 0.0375 + 0.05 + 0 0.0875 Pr { | , , , }= Pr { } · Pr { | } · Pr { | } · Pr { | } · Pr { | } = = Pr { , , , } 0.2 · 1 · 0.5 · 1 · 0.5 0.05 = = = 0.5714 0.0375 + 0.05 + 0 0.0875 Pr {Y = | , , , }= Pr { º} · Pr { | º} · Pr { | º} · Pr { | º} · Pr { | º} = = Pr { , , , } 0.4 · 0.25 · 0.5 · 0 · 0.5 = =0 0.0375 + 0.05 + 0
  • 312. На обучающей выборке ошибка 0.1 (неправильно 9-й → ничья)
  • 313. 3.14.1. Сглаживание Лапласа Пусть нужно предсказать Y , если X1 = , X2 = , X3 = , X4 = . Вероятности заменяем частотой: | {i : xi1 = }| Pr {X1 = |Y = y} ≈ =0 | {i : yi = y} | Pr {X1 = , X2 = , X3 = , X4 = }= = Pr { , , , | } · Pr { }+ + Pr { , , , | } · Pr { }+ + Pr { , , , | }·Pr { =0 0 Pr { | , , , }= 0
  • 314. 0 Pr { | , , , }= 0 0 Pr { | , , , }= 0 Сглаживание Лапласа: | {i : xij = xj } | + 1 Pr {Xj = xj |Y = y} ≈ , | {i : yi = y} | + sj где sj — количество значений, которые принимает случайная величина Xj . Легко видеть, что тогда | {i : xij = xj } | + 1 ∑ | {i : yi = y} | + sj = 1, xj Априорные вероятности Y (не изменятся): победа ничья поражение 0.4 0.2 0.4
  • 315. Поле Ключевые игроки Y свое чужое нейтральное Y отсутствуют присутствуют победа 3/7 3/7 1/7 победа 0.25 0.75 ничья 3/5 1/5 1/5 ничья 0.50 0.50 поражение 2/7 4/5 1/7 поражение 0.50 0.50 Ключевые игроки противника Погода Y отсутствуют присутствуют Y дождь нет дождя победа 5/6 1/6 победа 2/3 1/3 ничья 3/4 1/4 ничья 1/2 1/2 поражение 1/6 5/6 поражение 1/2 1/2
  • 316. Предсказать Y , если X1 = , X2 = , X3 = , X4 = . Pr { | , , , }= Pr { } · Pr { | } · Pr { | } · Pr { | } · Pr { | = Pr { , , , } 2/5 · 1/7 · 2/3 · 5/6 · 2/3 0.0212 = = 0.6817 0.0212 + 0.0075 + 0.0024 0.0311 Pr { | , , , }= Pr { } · Pr { | } · Pr { | } · Pr { | } · Pr { | } = Pr { , , , } 1/5 · 1/5 · 1/2 · 3/4 · 1/2 0.0075 = = = 0.2416 0.0212 + 0.0075 + 0.0024 0.0311 Pr { | , , , } Pr { º} · Pr { | º} · Pr { | º} · Pr { | º} · Pr { | = Pr { , , , } 2/5 · 1/7 · 1/2 · 1/6 · 1/2 0.0024 = = = 0.0767 0.0212 + 0.0075 + 0.0024 0.0311
  • 318. 4.1. Введение Деревья решений используются для решения задач классификации и восстановления регрессии. В этом подходе пространство признаков разбивается на параллелепипеды со сторонами, параллельными осям координат (ящики), и в каждом ящике ответ аппроксимируется с помощью некоторой простой модели, например, константой. При этом используются только рекурсивные бинарные (гильотинные) разбиения.
  • 319. Разбиение на области в задаче классификации цветов ириса. X1, X2 — длина и ширина чашелистика.
  • 320. 2.5 virginica 2.0 X2 petal width 1.5 1.0 setosa versicolor virginica 0.5 1 2 3 4 5 6 7 X1 petal length
  • 321. Дерево решений в задаче классификации цветов ириса Petal.Length <> 2.45 1 Petal.Width <> 1.75 setosa 50 obs Petal.Length <> 4.95 4 virginica 46 obs 2 3 versicolor virginica 48 obs 6 obs
  • 322. Вначале разбиваем ограничивающий прямоугольник на две области прямой вертикальной линией X1 = 2.45. Затем правый из полученных прямоугольников разбиваем горизонтальной линией X2 = 1.75. И, наконец, правый нижний прямоугольник разбиваем вертикальной линией X1 = 4.95. Получаем разбиение ограничивающего прямоугольника на 4 области. Каждая область соответсвует одному классу. В данном примере, класс virginica представлен двумя областями.
  • 323. Если рассматривается задача восстановления регрессии, то в каждой области Y аппроксимируется константой. Основное преимущество деревьев решений — хорошая интерпретация на исходном языке задачи (в отличие, например, от нейронных сетей или SVM). Например, в нашем случае эта интерпретация выглядит следующим образом. Если длина чашелистика меньше 2.45, то цветок — setosa. В противном случае, если ширина чашелистика больше 1.75, то цветок — virginica и т. д. Если пространство признаков имеет размерность больше двух, то разбиения, аналогичные двумерному разбиению на рис., трудно изобразить графически, но аппарат деревьев решений хорошо работает и в этом случае.
  • 324. 4.2. Построение регрессионых деревьев Как обычно, имеем p входов, 1 выход и N наблюдений (xi, yi), где xi = (xi1, xi2, . . . , xip) (i = 1, 2, . . . , N ). Предположим, что мы имеем разбиение Rp на M областей: R1 , R2 , . . . , RM . В области Rm переменная Y аппроксимируется константой cm: если x ∈ Rm, то Y ≈ f (x) = cm (m = 1, 2, . . . , M ).
  • 325. Для определения cm будем минимизировать среднеквадратичную ошибку ∑ (yi − f (xi))2. xi ∈Rm Легко видеть, что тогда оптимальное значение для cm будет среднее по всем yi, для которых xi ∈ Rm: cm = ave {yi | xi ∈ Rm} . Задача определения самог´ оптимального разбиения (если в качестве критерия о рассматривается минимизация общей среднеквадратичной ошибки) является NP-полной задачей, поэтому используются различные приближенные подходы к ее решению.
  • 326. Рассмотрим, например, жадный алгоритм. На каждом шаге будем выбирать переменную j и точку разбиения s так, чтобы минимизировать среднеквадратичную оценку: min min j, s c1 ∑ (yi − c1)2 + min c2 ∑ (yi − c2)2 , (4) xi ∈R1 (j,s) xi∈R2 (j,s) где R1 (j, s) = {X | Xj ≤ s} , R2(j, s) = {X | Xj > s} . Внутренние минимумы в (4) достигаются в точках c1 = ave {yi | xi ∈ R1(j, s)} , c2 = ave {yi | xi ∈ R2 (j, s)} . Внешний минимум в (4) можно легко найти с помощью перебора (достаточно рассмотреть только конечное множество возможных точек разбиения s). После этого процесс повторяется для каждой из двух полученных областей.
  • 327. Когда останавливаться? • Слишком большое дерево может привести к переобучению. • Слишком маленькое дерево может не отражать некоторых существенных моментов. Возможный критерий: остановить работу, как только изменение (от итерации к следующей) общей суммарой ошибки становится меньше некоторого порогового значения. Более предпочтительная стратегия: Вначале построение дерева осуществляется алгоритмом, описанным выше, и заканчивается, лишь только достигнут некоторый минимальный размер узла (количество объектов, относящихся к узлу), например, 5. После этого осуществляется отсечение (pruning).
  • 328. Пусть T0 — дерево, построенное на первом этапе алгоритма, T ⊆ T0 — поддерево, полученное из T0 отсечением некоторых внутренних узлов (вместе со всеми поддеревьями, выходящими из них). Пусть m — номер листа дерева T , Rm — соответствующая область, |T | — количество листьев в дереве T . Рассмотрим критерий, заключающийся в минимизации функции |T | Cκ(T ) = ∑ NmQm(T ) + κ|T |, m=1 где 1 1 cm = N ∑ yi, Qm(T ) = ∑ (yi − cm)2, Nm xi∈Rm (5) xi ∈Rm κ — некоторый настроечный параметр. Пусть Tκ получено из T0 в результате минимизации Cκ(T ). Параметр κ регулирует соотношение между его размером и «качеством». Большое значение κ приводит к маленьким деревьям. Малые значения κ — наоборот, к большим деревьям. При κ = 0 получаем само дерево T0.
  • 329. Можно показать, что для каждого значения κ дерево Tκ единственно. Следующая процедура позволяет найти Tκ. У дерева T0 будем последовательно обрезать те внутренние узлы, удаление которых приводит к наименьшему увеличению значения |T | ∑ NmQm(T ). m=1 Процедуру последовательного отсечения можно продолжать до тех пор, пока не будет получено дерево, состоящее из одного узла (корня). Можно показать, что для любого κ среди построенных таким образом деревьев содержится дерево Tκ. Параметр κ подбирается так, чтобы минимизировать сумму квадратов в методе перекрестного (скользящего) контроля (cross validation).
  • 330. 4.3. Построение классификационных деревьев Общая схема алгоритма построения дерева для решения задачи классификации такая же, как и для задачи восстановления регрессии. Необходимо только скорректировать определение меры ошибки, аналогичной Qm(T ) из (5) Будем считать, что имеется K классов, пронумерованных числами 1, 2, . . . , K. Пусть m — лист дерева. Ему соответствует область Rm, в которую попало Nm объектов обучающей выборки. Определим 1 pmk = ∑ I(yi = k) Nm xi∈Rm — долю объектов k-го класса среди всех объектов, которые попали в область Rm. Область Rm будет отнесена к классу k(m) = argmax pkm. k
  • 331. В качестве Qm(T ) можно рассматривать различные функции, например: • Misclassification (ошибка отнесения к другому классу) 1 Qm = ∑ I(yi = k(m)) = 1 − max pkm = 1 − pk(m), m. Nm i∈Rm k • Индекс К. Джини K K Qm = ∑ pmk pmk = ∑ pmk (1 − pmk ) = 1 − ∑ p2 . mk k=k k=1 k=1 • Энтропия K Qm = − ∑ pmk log pmk . k=1 Если K = 2, то эти функции равны соответственно 1 − max {p, 1 − p} , p(1 − p), −p log p − (1 − p) log(1 − p), где p — доля объектов 1-го класса, попавших в область Rm.
  • 332. Q(p) 1 и ин Энтропия M Дж i sc las 2× si f ica tio n p 0 0.5 1 Эти функции похожи друг на друга, но индекс Джини и энтропия являются гладкими функциями и поэтому более податливы для численной оптимизации. Легко видеть, что каждая из трех приведенных функций равна нулю тогда и только тогда, когда в узле присутствуют объекты только одного класса. В остальных случаях функции положительны.
  • 333. Дадим две интерпретации индексу Джини. Вместо того, чтобы в некотором листе m классифицировать объект по большинству голосов, мы можем относить объект к классу k с вероятностью pmk . В этом случае средняя ошибка на обучающей выборке равна индексу Джини ∑ pmk pmk . k=k Другая интерпретация связана с кодированием наблюдений единицей для k-го класса и нулем для всех остальных, то дисперсия в этом листе равна pmk (1 − pmk ). Тогда сумма по все классам снова дает индекс Джини.
  • 335. Глава 5 Оценка качества обучения (Предсказательная способность алгоритмов)
  • 336. План • Смещение и разброс • Экспериментальные методы оценки качества обучения: – Метод перекрестного (скользящего) контроля – Бутстрэп • Элементы теории Вапника–Червоненкиса
  • 337. X — множество объектов Y — множество ответов Неизвестная функция f ∗ : X → Y Значение функции f ∗ известно на множестве объектов x1, x2, . . . , xN : f ∗(xi) = yi (i = 1, 2, . . . , N ). Последовательность (x1, y1 ), . . . , (xN , yN ) — обучающая выборка. Представитель (xi, yi) обучающей выборки — прецедент. Задача обучения по прецедентам — в некотором классе F найти эффективно вычислимую функцию f : X → Y , для которой f (xi) = yi (точно или приближенно). Кроме этого, функция f должна обладать обобщающим свойством, т. е. равенство f (x) = f ∗(x) (точное или приближенное) должно выполняться не только для объектов обучающей выборки, но также, по возможности, и для других объектов из X . Пусть X и Y — вероятностные пространства, на которых определены случайные величины X и Y с функциями распределения Pr X, Pr Y соответственно.
  • 338. Для оценки качества алгоритма обучения вводится функция потерь L(f (x)| y). Например, для задачи восстановления регрессии: 2 L(f (x)| y) = y − f (x) L(f (x)| y) = |y − f (x)| Для задачи классификации: индикаторная функция 0, если y = f (x), L(f (x)| y) = I(y = f (x)) = 1, если y = f (x)
  • 339. Ошибку на всем множестве X характеризует ожидаемый риск, или ошибка предсказания, или ошибка обобщения, — математическое ожидание функции потерь R = E L f (X)| Y . Ошибку алгоритма f на обучающей выборке характеризует эмпирический риск — среднее значение функции потерь: N 1 R= N ∑ L(f (xi)| yi). i=1
  • 340. Если данных достаточно, то их делят • на обучающую (train) выборку, • на проверочную (validation) выборку, • на тестовую (test) выборку. Train Validation Test Обучающая выборка используется для построения моделей f . Проверочная — для оценки оценки среднего риска каждой из построенной модели и выбора наилучшей модели. Тестовая — для оценки ошибки предсказания выбранной модели. Пусть (x1 , y1), (x2 , y2), . . . , (xN , yN ) — тестовая или проверочная выборка, тогда среднее значение функции потерь N 1 N ∑L f (xi)| yi i=1 является несмещенной оценкой риска R.
  • 341. Ошибка Test Train Сложность модел
  • 342. 5.1. Смещение и разброс Bias = E f (X) − Y — смещение, показывающее, на сколько среднее значение функции f отличается от истинного среднего 2 Var = E f (X) − E f (X) — дисперсия (разброс) — ожидаемое квадратичное отклонение f (x) от своего среднего Как правило, с ростом сложности модели смещение (по абсолютной величине) уменьшается, а разброс растет. При некоторых дополнительных предположениях (см. ниже), можно получить разложение ошибки в сумму R(f ) = R∗ + Bias2 + Var, где R∗ — неустранимая ошибка (неустранимый риск).
  • 343. Пусть (в задаче восстановления регрессии) Y = f ∗ (X) + ε, где ε — случайная величина с E ε = 0 и Var ε = σ 2. Ошибка, совершаемая алгоритмом f , если на входе имеем объект x (x задан, f случайна, так как зависит от выборки): 2 R(x) = E Y − f (x) |X = x 2 2 = E f ∗(x) + ε − f (x) = E ε2 + 2 f ∗(x) − f (x) E ε +E f ∗(x) − f (x) . σ2 0 2 2 2 E f ∗(x) − f (x) = f ∗ (x) − 2f ∗ (x) E f (x) + E f (x) 2 2 2 2 2 = f ∗(x) − 2f ∗(x) E f (x) + E f (x) + E f (x) − 2 E f (x) + E f (x) 2 2 = f ∗(x) − E f (x) + E f (x) − E f (x) Поэтому 2 2 R(x) = σ 2 + f ∗(x) − E f (x) + E f (x) − E f (x) = σ 2 + Bias2 + Var .
  • 344. 2 2 R(x) = σ 2 + f ∗(x) − E f (x) + E f (x) − E f (x) = σ 2 + Bias2 + Var . Здесь σ 2 характеризует неустранимую ошибку Bias — это смещение, показывающее, на сколько среднее значение функции f отличается от истинного среднего Var — дисперсия (разброс) — ожидаемое квадратичное отклонение f (x) от своего среднего Обычно, чем сложнее используемая модель, тем больше разброс и меньше смещение. С уменьшением сложности модели, наоборот, уменьшается разброс, но увеличивается смещение. Таким образом, нужно выбрать модель с не очень большим и не очень маленьким смещением и не очень большим и не очень маленьким разбросом (Bias-Variance Trade-off)
  • 345. Рассмотрим, например, регрессию методом k ближайших соседей. Будем считать, что xi — фиксированы, а Y = f ∗ (x) + ε, E ε = 0, Var ε = σ 2. 2 R(x) = E Y − f (x) |X = x = σ 2 + Bias2 + Var = 2 2 = σ 2 + f ∗(x) − E f (x) + E f (x) − E f (x) = 2 2 1 1 1 = σ2 + f ∗(x) − k ∑ f ∗(x ) +E k ∑ f ∗(x ) + ε − k ∑ f ∗ (x ) = ∈Nk (x) ∈Nk (x) ∈Nk (x) 2 1 σ2 =σ +2 ∗ f (x) − k ∑ ∗ f (x ) + . k ∈Nk (x) так как 1 1 E f (x) = E k ∑ ∗ f (x ) + ε = k ∑ f ∗(x ). ∈Nk (x) ∈Nk (x) Если k растет, то Bias растет (если функция достаточно гладкая), Var падает.
  • 346. Теперь рассмотрим задачу восстановления регрессии y = f (x) = β x методом наименьших квадратов. 2 R(x) = E Y − f (x) |X = x = σ 2 + Bias2 + Var = 2 2 = σ 2 + f ∗(x) − E f (x) + E f (x) − E f (x) = 2 = σ 2 + f ∗(x) − E f (x) + σ 2 X(X X)−1 x 2. Для гребневой регрессии: 2 R(x) = σ 2 + f ∗(x) − E f (x) + σ 2 X(X X + αI)−1 x 2.
  • 347. 5.2. Экспериментальная оценка качества обучения 5.2.1. Метод перекрестного (скользящего) контроля Разобьем имеющиеся данные на две части: Train Test N1 N2 Модель обучим на обучающей (train) выборке, а оценку ошибки произведем на тестовой (test) выборке. Так как выборки не пересекаются, что оценка R1 ошибки будет несмещенной. Поменяем выборки ролями. Получим новую несмещенную оценку R2 ошибки. Очевидно, что среднее взвешенное (с любыми весами) оценок R1 и R2 также является несмещенной оценкой. Обобщение этой процедуры называется методом перекрестного (скользящего) контроля (cross-validation).
  • 348. Случайным образом разобьем исходную выборку на K непересекающихся примерно равных по размеру частей: Train Train Train Test Train Последовательно каждую из этих частей рассмотрим в качестве тестовой выборки, а объединение остальных частей — в качестве обучающей выборки. Таким образом построим K моделей fk (k = 1, 2, . . . , K) и соответственно K оценок для ошибки предсказания. В качестве окончательной оценки ошибки возьмем их среднее взвешенное.
  • 349. Более подробно. Пусть κ : 1, 2, . . . , N → 1, 2, . . . , K — функция, которая номеру прецедента ставит в соответствие номер его группы. fk — модель, вычисленная по данным, из которых были удалены прецеденты k-й группы. Тогда оценка ошибки предсказания, полученная K-кратным методом перекрестного, или скользящего, контроля (cross-validation method), есть N 1 CV = N ∑ L(yi, fκ(i)(xi)). i=1 Часто используемые значения K: K = 5 или K = 10. K = N — метод перекрестного контроля с одним отделяемым элементом (leave-one-out cross-validation, LOO).
  • 350. Метод перекрестного контроля можно использовать для выбора параметра модели. Пусть F = {f (x, α) : α} — параметризованный класс функций. Для выбора подходящей модели найдем то значение α, на котором N 1 CV(α) = N ∑ L(yi, fκ(i)(xi, α)) i=1 достигает своего минимума.
  • 351. Перекрестный контроль для задачи классификации методом k ближайших соседей. Train Test LOO 0.4 5−CV 10−CV Bayes 0.3 err 0.2 0.1 0.0 0 50 100 150 200 k
  • 352. Какое значение K использовать? Если K = N , то разброс, по-видимому, может быть большим, так как обучающие выборки слишком похожи друг на друга. Небольшие значения K приводят к маленькому разбросу, но используемые для обучения выборки могут быть слишком малы. Метод перекрестного контроля можно использовать также для оценки точности определения любых параметров генеральной совокупности по выборке.
  • 353. 5.2.2. Бутстрэп-метод Бутстрэп (вootstrap), как и метод перекрестного контроля, — общий статистический метод для оценки точности определения параметров генеральной совокупности по выборке. Основное отличие от перекрестного контроля — выборки (обучающая и тестовая) могут пересекаться. Рассмотрим, как этот метод применяется к оценке ошибки обучения. Пусть (x1 , yx), . . . , (xN , yN ) — обучающая выборка. Путем N -кратного изъятия с возвращением случайных элементов из этой выборки построим новую выборку. Изъятие происходит N раз с возвращением, поэтому новая выборка также будет иметь N прецедентов, возможно с повторениями. Таким образом генерируем B (например, B = 100) новых выборок. Каждую из них рассмотрим как обучающую.
  • 354. Пусть fb (x) — функция, построенная по b-й выборке (b = 1, 2, . . . , B). Обобщающую способность функции fb(x) будем оценивать по исходным данным: B N 1 1 err boot = BN ∑∑L yi, fb(xi) . b=1 i=1 (таким образом, строим B моделей, каждую из которых проверяем на исходной выборке и берем среднее) Эта оценка в общем случае будет слишком оптимистичной. Причина — обучающая и тестовая выборки могут перекрываться.
  • 355. Рассмотрим, например, задачу классификации объектов на 2 класса. В каждом классе одинаковое число прецедентов. Пусть случайные величины X и Y независимы. Будем использовать метод ближайшего соседа. Тогда R = 0.5. Оценим err boot.   0,  если i-й объект имеется в b-й выборке,  L(yi, fb(xi)) = 0 с вероятностью 0.5,   если i-го объекта нет в b-й выборке. 1 с вероятностью 0.5, Вероятность того, что i-й объект принадлежит b-й выборке (b фиксировано), равна N 1 Pr {i-й объект ∈ b-й выборке} = 1 − 1 − ≈ 1 − e−1 ≈ 0.632, N поэтому ожидаемое значение для err boot равно 0.5 × (1 − 0.632) = 0.5 × 0.368 = 0.184, что намного меньше R = 0.5.
  • 356. Подражая методу перекрестного контроля с одним отделяемым объектом, запишем N 1 1 err = N ∑ |C −i| ∑−1 L yi, fb(xi) , i=1 b∈C где C −1 — множество номеров тех выборок, которые не содержат i-го прецедента. Слагаемые, для которых |C −i| = 0, опустим. Среднее число различных прецедентов в каждой выборке равно 0.632N , поэтому смещение для них примерно совпадает со смещением в 2-кратном перекрестном контроле. «0.632-оценка» определяется по формуле err0.632 = 0.368 · err +0.632 · err . Интуитивно понятно, что слагаемое 0.368 · err должно приблизить оценку err к реальной R, тем самым сократив смещение.
  • 357. «0.632-оценка» часто приводит к хорошим результатам, но иногда проваливается. Тот же пример. Имеем err = 0, E (err ) = 0.5, поэтому E (err0.632) = 0.632 × 0.5 = 0.316, тогда как R = 0.5.
  • 358. Можно попробовать улучшить «0.632-оценку», если учесть объем переобучения. Вначале определим «ошибку в услових отсутствия информации» 1 N N γ = 2 ∑ ∑ L yi, f (xi ) . N i=1 i =1 Это оценка ошибки в случае, когда объекты и метки классов появляются случайно и независимо. Новая оценка: err0.632+ = (1 − w) · err +w · err , где 0.632 err − err w= , R= . 1 − 0.368R γ − err R — в пределах от 0, когда err = err, т. е. нет переобучения, до 1, когда err = γ. w лежит в пределах от 0.632, когда R = 0, до 1, когда R = 1. Таким образом, оценка err0.632+ занимает промежуточное положение между err и err и учитывает объем переобучения. Для примера с двумя классами w = R = 1, поэтому err0.632+ = err , а E (err ) = 0.5.
  • 360. План • Простое и взвешенное голосование • Бустинг – Простая схема – AdaBoost – Бустинг и аддитивные модели – Бустинг-деревья – Градиентный бустинг (MART) • Баггинг
  • 361. Комбинирование классификаторов, или аркинг (arcing — adaptive reweighting and combining).
  • 362. 6.1. Простое и взвешенное голосования Рассмотрим задачу классификации на K классов. Y = {1, 2, . . . , K} . Пусть имеется M классификаторов («экспертов») f1, f2, . . . , fM fm : X → Y , fm ∈ F , (m = 1, 2, . . . , M ) Построим новый классификатор: простое голосование: M f (x) = max k=1,...,K ∑ I(fm(x) = k), m=1 взвешенное (выпуклая комбинация классификаторов, или «смесь экспертов»): M M f (x) = max k=1,...,K ∑ αm · I(fm(x) = k), αm ≥ 0, ∑ αm = 1, m=1 m=1 или M M f (x) = max k=1,...,K ∑ αm(x) · I(fm(x) = k), αm(x) ≥ 0, ∑ αm(x) = 1. m=1 m=1
  • 363. В задаче восстановления регрессии простое голосование: M 1 f (x) = M ∑ fm(x), m=1 взвешенное голосование («смесь экспертов»): M M f (x) = ∑ αm(x) · fm(x), αm(x) ≥ 0, ∑ αm(x) = 1. m=1 m=1
  • 364. Пример: K = 2, M = 3. Решение принимается с использованием простого голосования. Пусть классификаторы независимы (!). p — вероятность ошибки каждого отдельного классификатора. Тогда вероятность ошибки общего решения (ожидаемый риск) равен R = p3 + 3p2(1 − p) = 3p2 − 2p3.
  • 365. R = 3p2 − 2p3.
  • 366. 1.0 0.8 0.6 R 0.4 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 p
  • 367. 1.0 M=1 M=3 M = 15 0.8 0.6 R 0.4 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 p
  • 368. 1 p> — плохой классификатор, 2 1 p = — toss up a coin 2 1 p = − ε — хороший, но слабый классификатор (ε мало) 2 p = ε — сильный классификатор Можно ли научиться комбинировать слабые классификаторы, чтобы получить сильный? Точность можно улучшить, если • увеличить p (уменьшить ошибку) каждого отдельного классификатора, • уменьшить зависимость между классификаторами.
  • 369. 6.2. Бустинг [R.E. Schapire, 1990] Идея: если уж так сложно добиться независимости экспертов, давайте попробуем строить последовательность классификаторов, каждый из которых осведомлен об ошибках предыдущих. Пусть для простоты только два класса {−1, 1}.
  • 370. 6.2.1. Простая схема 3 классификатора begin f1 обучается на N прецедентах f2 обучается на N прецедентах, таких что f1 ровно на половине дает верный ответ f3 обучается на N прецедентах, на которых f1(x) = f2(x) 3 return f = sign ∑ fm m=1 end Откуда брать данные для новых обучающих выборок? — Например, из исходной обучающей выборки путем изъятия с возвращением.
  • 371. 6.2.2. AdaBoost (от Adaptive Boosting) [Freund, Schapire, 1995] Будем использовать веса w1, w2, . . . , wN . На первой итерации wi = 1/N (i = 1, 2, . . . , N ) и алгоритм построения f1 работает в обычном режиме. На m-й итерации увеличиваются веса тех прецедентов, на которых на (m − 1)-й итерации была допущена ошибка, и уменьшаются веса тех прецедентов, которые на предыдущей итерации были классифицированы правильно.
  • 372. begin Положить wi ← 1/N (i = 1, 2, . . . , N ) for m = 1, 2, . . . , M Найти классификатор fm ∈ Fm, минимизирующий ошибку N errm = ∑ wi · I yi = fm(xi) i=1 1 1 − errm Вычислить αm ← ln 2 errm yi fm (xi) errm wi ← wi exp −αm yi fm(xi) = (i = 1, 2, . . . , N ) 1 − errm N wi ← wi ∑ wi (i = 1, 2, . . . , N ) i=1 end M return f = sign ∑ αmfm m=1 end
  • 373. 1 Теорема 6.1 Если errm ≤ − εm, то для эмпирической ошибки err f итогового 2 классификатора справедливо M M M err f ≤ ∏ 2 errm(1 − errm) = ∏ 1 − 4ε2 ≤ exp −2 m ∑ ε2 m . m=1 m=1 m=1 Д ОКАЗАТЕЛЬСТВО . zm — нормировочный множитель на m-й итерации. (M) 1 e−yif (xi) wi = · . N ∏m zm N N M M 1 1 err f = N ∑ I(yi = f (xi)) ≤ N ∑ exp −yi ∑ αmfm(xi) = ∏ zm. i=1 i=1 m=1 m=1 N N N zm = ∑ wi exp −αmyifm(xi) = ∑ wi eαm I(yi = fm(xi)) + ∑ wi e−αm I(yi = fm(xi)) = m m m i=1 i=1 i=1 αm −αm √ = errm e + (1 − errm)e = 2 errm(1 − errm).
  • 374. Теорема 6.2 Для ошибки предсказания Err f алгоритма AdaBoost справедливо M ·v Err f = err f + O , N где v = VC(fm) — размерность Вапника–Червоненкиса для класса Fm (m = 1, 2, . . . , M ). Большое M — возможно переобучение.
  • 375. Как минимизировать ошибку errm (как учитывать веса wi)? — Некоторые алгоритмы обучения принимают на вход веса wi. Если это не возможно, то каждой итерации проводить повторную выборку из исходной выборки (x1, y1), (x2, y2), . . . , (xN , yN ), изымая (с возвращением) i-й элемент с вероятностью wi.
  • 376. В качестве примера рассмотрим задачу классификации с двумя классами: Слабые классификаторы — деревья решений высоты 1 (stumps)
  • 377. M =1 1.5 Train error = 0.195 Test error = 0.233 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 378. M =5 1.5 Train error = 0.235 Test error = 0.262 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 379. M = 10 1.5 Train error = 0.195 Test error = 0.233 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 380. M = 15 1.5 Train error = 0.185 Test error = 0.224 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 381. M = 20 1.5 Train error = 0.17 Test error = 0.222 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 382. M = 30 1.5 Train error = 0.135 Test error = 0.225 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 383. M = 40 1.5 Train error = 0.14 Test error = 0.221 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 384. M = 50 1.5 Train error = 0.11 Test error = 0.236 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 385. M = 60 1.5 Train error = 0.12 Test error = 0.247 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 386. M = 100 1.5 Train error = 0.07 Test error = 0.24 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 387. M = 150 1.5 Train error = 0.065 Test error = 0.248 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 388. M = 200 1.5 Train error = 0.015 Test error = 0.258 Bayes error = 0.21 1.0 x2 0.5 0.0 0.0 0.5 1.0 1.5 x1
  • 389. Задача классификации рукописных цифр Выборка размера 1934 была случайным образом разбита на две группы: обучающую и тестовую — по 967 объектов в каждой. В качестве слабых классификаторов использовались деревья решений, высоты ≤ 10. Ошибка M на обучающей выборке на тестовой выборке 5 0.070 0.121 10 0.017 0.074 20 0.001 0.056 30 0 0.048 40 0 0.044
  • 390. Все случаи неправильной классификации цифр из тестовой выборки в случае M = 40. Красная цифра — ответ классификатора, синяя — верный ответ. 8 5 3 9 2 2 8 9 2 8 6 9 5 7 5 8 1 3 3 6 3 1 9 5 2 0 4 3 3 1 7 8 4 9 9 4 0 9 5 8 3 5 6 9 4 4 9 2 9 1 9 9 1 4 9 8 5 1 0 2 4 4 2 4 8 8 3 3 7 3 9 8 9 9 1 2 7 7 9 7 8 2 0 9 9 8
  • 391. 6.3. Бустинг и аддитивные модели (другая точка зрения на бустинг) Рассмотрим аддитивную модель M f (x) = ∑ βm b(x, γm), m=1 где βm — параметры (m = 1, 2, . . . , M ), а b(x, γ) — функция векторного аргумента x и векторного параметра γ. Функции b(x, γm) называются базисными. Для настройки (обучения) такой модели можно минимизировать среднее значение функции потерь L(yi, f (xi)): N M min ∑L (βm , γm)M i=1 yi, ∑ βm b(xi, γm) 1 m=1 — это сложно.
  • 392. Как правило, легче подогнать одну базисную функцию: N min ∑ L yi, βb(xi, γ) . ( ) β, γ i=1 Следующий алгоритм осуществляет настройку аддитивной модели, на m-й итерации решая задачу ( ) и последовательно добавляя базисные функции без пересмотра параметров, которые уже были вычислены. begin Положить f0(x) ← 0 for m = 1, 2, . . . , M N Вычислить (βm, γm) ← argmin ∑ L yi, fm−1(xi) + βb(xi, γ) β, γ i=1 Положить fm(x) ← fm−1(x) + βmb(x, γm) end end Оказывается (Friedman), AdaBoost.M1 эквивалентен этому алгоритму, если L(y, f (x)) = exp(−yf (x)).
  • 393. 6.4. Бустинг-деревья Функция, вычисляемая регрессионным или классификационным деревом, может быть представлена в виде J T (x, Θ) = ∑ γj I(x ∈ Rj ). j=1 где Rj (j = 1, 2, . . . , J) — области (ящики) на которые разбито пространство, а Θ = (Rj , γj )J — вектор параметров. 1 Итак, если x ∈ Rj , то f (x) = γj . Хотелось бы в качестве параметров Θ взять те, на которых достигается минимум эмпирического риска: J Θ = argmin ∑ ∑ L(yi, γj ). Θ j=1 xi ∈Rj — это NP-сложная задача.
  • 394. Рассмотрим комбинированную аддитивную модель M f (x) = ∑ T (x, Θm) m=1 и снова на каждом шаге будем решать задачу N Θm = argmin ∑ L yi, fm−1 (xi) + T (xi, Θm , (∗) Θm i=1 где Θm = (Rjm, γjm)Jm . 1 Если области Rjm заданы, то, как правило, легко найти константы γjm , для которых γjm = argmin ∑ L yi, fm−1 (xi) + γjm . γjm xi ∈Rjm Нахождение же оптимального разбиения — трудная задача. В случае среднеквадратичной функции потерь поиск решения (∗) — не более сложная задача, чем определение коэффициентов для одного дерева: γjm есть среднее значение для yi − fm−1(xi) по всем соответствующим областям Ri.
  • 395. В случае двух классов и экспоненциальной функции потерь мы приходим к (m) алгоритму AdaBoost.M1, где wi = exp(−yifm−1 (xi)) Правую часть в (∗) можно упростить: (m) Θm = argmin wi exp −yiT (xi, Θm) . Θm Эту взвешенную экспоненциальныую функцию потерь теперь можно использовать в качестве критерия разбиения области и на этой основе реализовать жадный рекурсивный алгоритм. Заметим, что если Rjm заданы, то оптимальное значение γjm легко определяется: (m) ∑ wi I(yi = 1) xi ∈Rjm γjm = log (m) . ∑ wi I(yi = −1) xi ∈Rjm Однако на практике чаще используют взвешенную среднеквадратичную функцию потерь.
  • 396. 6.5. Градиентный бустинг (MART) Вначале рассмотрим задачу восстановления регрессии. В случае произвольной гладкой функции потерь алгоритмы для настройки модели можно получить по аналогии с соответствующими численными методами оптимизации. Наша задача заключается в минимизации функции N L(f ) = ∑ L yi, f (xi) , i=1 при ограничении M f (x) = ∑ T (x, Θm). m=1 Опуская это ограничение, получаем задачу минимизации min L(f ), f где f = f (x1 ), f (x2), . . . , f (xN ) ∈ RN .
  • 397. На многие численные методы оптимизации можно смотреть как на процесс, который, начиная с f0, переходит от одной точки к другой, делая на m-й итерации шаг hm. За M итераций алгоритм приходит в точку M fM = f0 + ∑ hm , hm ∈ RN . m=1 В методе наискорейшего спуска шаг равен hm = −ρmgm, где gm — градиент функции L(f ), вычисленный в точке fm−1 . Компоненты вектора gm суть: ∂L(yi, f (xi)) gim = (i = 1, 2, . . . , N ). ∂f (xi) f (xi)=fm−1 (xi ) Параметр ρm, характеризующий длину шага, равен ρm = argmin L(fm−1 − ρgm). ρ Это алгоритм градиентного бустинга, или множественных аддитивных регрессионных деревьв (MART — multiple additive regression trees) (Friedman, 1999)
  • 398. N Положить f0 ← argmin ∑ L(yi, γ) γ i=1 for m = 1, 2, . . . , M for i = 1, 2, . . . , N (*) ∂L (yi, f (xi)) gim ← − ∂f (xi) f =fm−1 end N 2 Найти дерево, минимизирующее ∑ −gim − T (xi, ϑ) i=1 Пусть дерево разбивает пространство на области R1m, R2m, . . . , RJmm for j = 1, 2, . . . , Jm γjm ← argmin ∑ L yi, fm−1 (xi) + γ γ xi ∈Rjm end Jm fm ← fm−1 + ∑ γjmI(x ∈ Rjm) (**) j=1 end return fM
  • 399. Подставляя вместо L y, f (x) конкретные функции потерь, получаем различные варианты алгоритмы. Параметрами алгоритма MART являются число итераций M и величины Jm (m = 1, 2, . . . , M ).
  • 400. Алгоритм для классификации аналогичен. Пусть K K K L(y, p(x)) = − ∑ I(y = k) log pk (x) = − ∑ I(y = k)fk (x) + log ∑ efk (x) , k=1 k=1 k=1 K pk (x) = efk (x) ∑ ef (x) . =1 ∂L yi, f1m(xi), . . . , f1m(xi) gikm =− = pk (xi) − I(yi = k) (i = 1, 2, . . . , N ) ∂fkm(xi) На каждой итерации m строки с (*) по (**) повторяются K раз — по одному разу для каждого класса. Результат процедуры — K различных функций fkM (x) (k = 1, 2, . . . , K). Класс, к которому принадлежит объект x, определяется по правилу f (x) = argmax fkM (x). k
  • 401. Положить fk0(x) ← 0 (k = 1, 2, . . . , K) for m = 1, 2, . . . , M K fk (x) pk (x) = e ∑ ef (x) (k = 1, 2, . . . , K) =1 for k = 1, 2, . . . , K gikm ← yik − pk (xi) (i = 1, 2, . . . , N ) N 2 Найти дерево, минимизирующее ∑ −gikm − T (xi, ϑ) i=1 Пусть дерево разбивает пространство на области R1km, R2km, . . . , RJmkm ∑ gikm K −1 xi ∈Rjkm Вычислить γjkm ← · (j = 1, 2, . . . , Jm) K ∑ |gikm|(1 − |gikm|) xi ∈Rjkm Jm fkm(x) ← fk,m−1(x) + ∑ γjkmI(x ∈ Rjkm) j=1 end end return fkM (x) (k = 1, 2, . . . , K)
  • 402. 6.6. Баггинг Bagging — от bootstrap aggregation. Классификатор fm обучается на bootstrap–выборке (m = 1, 2, . . . , M ). Финальный классификатор f — функция голосования: M f (x) = max k=1,...,K ∑ I(fm(x) = k). m=1 Позволяет бороться с неустойчивостью классификаторов fm.
  • 404. План • Матрица расстояний • Многомерное шкалирование (масштабирование) • Алгоритмы кластеризации: – Методы, основанные на теории графов – Методы центров тяжести и медиан – «Форель» • Иерархическая кластеризация: – Агломеративные методы – Разделяющие методы
  • 405. Обучение с учителем X — p-мерная случайная величина, Y — одномерная случайная величина, P (X, Y ) — совместная функция распределения. Имеется набор (x1, y1), (x2, y2), . . . , (xN , yN ) (обучающая выборка) из N реализаций случайной функции (X, Y ). Нужно оценить функцию распределения P (Y |X). Обучение без учителя X — p-мерная случайная величина. Имеется N объектов x1, x2, . . . , xN из N реализаций случайной величины X. Нужно исследовать свойства P (X).
  • 406. 7.1. Матрица различий Многие алгоритмы кластеризации на вход принимают матрицу различий (dissimilarity matrix), или матрицу расстояний D = (dii ) размера N × N . dii равен «расстоянию» от i-го объекта до i -го. При этом под «расстоянием» не обязательно понимается евклидово или какое-либо другое расстояние, удовлетворяющее аксиомам метрического пространства. Например, часто не предполагается, что выполнено неравенство треугольника dii ≤ dik + dki . Однако, как правило, dii = 0, dii = di i ≥ 0 (i = 1, 2, . . . , N , i = 1, 2, . . . , N ). Явные признаковые описания объектов могут вообще отсутствовать.
  • 407. Пример: матрица различий в политической и экономической системах 12 стран мира (на основании опроса студентов, изучающих политические науки, 1980-е гг., Югославия StatLib). Различия в баллах (от 0 до 10): Бразилия Франция Израиль Бельгия Египет Индия СССР США Чили Куба Заир Бельгия 0 5.58 4.83 4.75 3.42 6.42 7.08 6.08 2.50 2.17 7.00 6.25 Бразилия 0 5.08 3.00 5.50 5.00 7.00 6.67 4.92 5.75 6.50 6.83 Египет 0 5.00 5.00 4.67 5.83 6.00 4.50 4.92 8.17 5.75 Заир 0 6.17 4.83 6.67 6.50 5.67 5.58 6.08 6.92 Израиль 0 6.17 6.42 6.92 2.75 3.92 6.42 5.83 Индия 0 6.00 6.17 6.33 6.42 5.58 6.08 Куба 0 2.67 7.33 6.92 3.83 3.75 СССР 0 6.17 6.17 4.25 3.67 США 0 2.25 6.25 6.67 Франция 0 6.67 5.42 Чили 0 4.50 Югославия 0
  • 408. Можно разглядеть 3 кластера (строки и столбцы переставлены). Белый и желтый цвет — большие различия. Красный — малые. USSR Cuba Yugoslavia Chile USA France Belgium Israel Egypt India Brazil Zaire USSR Cuba Yugoslavia Chile USA France Belgium Israel Egypt India Brazil Zaire
  • 409. Как строить матрицу различий, если признаковые описания xij (i = 1, 2, . . . , N , j = 1, 2, . . . , p) известны? Разные подходы. p p d(xi, xi ) = ∑ wj dj (xij , xi j ), ∑ wj = 1, wj ≥ 0, (6) j=1 j=1 где wj — весовые константы, а dj (xij , xi j ) — функция, характеризующая различие в j-й координате. Для количественных, бинарных и порядковых признаков можно взять, например, dj (xij , xi j ) = (xij − xi j )2. Пусть качественная переменная j может принимать m значений s1 , s2, . . . , sm. Функцию dj (xij , xi j ) = dj (sr , sr ) определяем явным перечислением набора значений Lrr = dj (sr , sr ). Матрица L = (Lrr ) должна удовлетворять свойствам: Lrr = Lr r , Lrr = 0, (r = 1, 2, . . . , m, r = 1, 2, . . . , m).
  • 410. Другой подход для измерения различия между объектами (если нет качественных переменных) заключается в использовании корреляции: p ∑ (xij − xi)(xi j − xi) 1 p где xi = ∑ xij j=1 ρ(xi, xi ) = , p p p j=1 ∑ (xij − xi )2 ∑ (xi j − xi)2 j=1 j=1 Измеряется корреляция по переменным, а не по объектам! Здесь наоборот: чем ρ(xi, xi ) больше, тем различие между объектами xi, xi меньше. Если вход стандартизован, то p ∑(xij − xi j )2 = 2 1 − ρ(xi, xi ) . j=1 Таким образом, кластеризация на основе евклидова расстояния (расстояние является мерой различия между парой объектов) эквивалентна кластеризации на основе корреляции (корреляция является мерой сходства между парой объектов).
  • 411. Как выбирать веса wj (j = 1, 2, . . . , p)? Выбор wj = 1/p не обязательно приводит к тому, что влияние различия в каждой переменной будет одинаковым. Величину wj dj (xij , xi j ) нужно соотнести со средним значением d по всем расстояниям d(xi, xi ) между каждой парой объектов xi, xi (i, i = 1, 2, . . . , N ): 1 N N 1 N N p p d = 2 ∑ ∑ d(xi, xi ) = 2 ∑ ∑ ∑ wj dj (xij , xi j ) = ∑ wj dj . N i=1 i =1 N i=1 i =1 j=1 j=1 Здесь 1 N N dj = 2 ∑ ∑ dj (xij , xi j ) N i=1 i =1 есть среднее различие в j-м признаке. Таким образом, относительное влияние wj dj (xij , xi j ) равно wj dj . И, например, если wj = 1/dj , то эти влияния будут одинаковыми в каждой координате.
  • 412. Заметим, что если все переменные количественные и в качестве меры различия выбрана взвешенная сумма квадратов: p d(xi, xi ) = ∑ wj (xij − xi j )2, j=1 то 1 N N dj = 2 ∑ ∑ (xij − xi j )2 = 2 varj , N i=1 i =1 где varj — смещенная выборочная дисперсия для j-й координаты.
  • 413. От выбора коэффициентов wj сильно зависит ответ. Разбиение на классы множества точек на плоскости, полученные методом медиан. На рисунке слева использовались равномерные веса. На рисунке справа перед применением алгоритма данные были приведены к стандартному виду, что эквивалентно использованию весов wj = 1/(2 varj ). 6 1.5 4 0.5 2 x2 x2 0 −0.5 −2 −4 −1.5 −6 −6 −4 −2 0 2 4 −1.5 −0.5 0.5 1.5 x1 x1
  • 414. 7.2. Многомерное шкалирование (масштабирование) Пусть D = (dii ) — матрица различий между каждой парой объектов x1, x2, . . . , xN ∈ Rp . Предполагается, что dii = di i ≥ 0, di = 0 (i, i = 1, 2, . . . , N ). В задаче многомерного шкалирования (multidimensional scaling) требуется найти такие z1, z2, . . . , zN ∈ Rk , что zi − zi ≈ dii (i, i = 1, 2, . . . , N ). Компоненты векторов zi называются MDS-координатами. Понятно, что если в качестве меры различия берется евклидово расстояние и k = p, то задача имеет точное тривиальное решение: в качестве zi надо взять xi (i = 1, 2, . . . , N ). На самом деле, задача интересна для небольших k, например, k = 2. В случае k = 2 точки zi можно визуализировать и тем самым попробовать решить задачу кластеризации визуально.
  • 415. Подходы к решению: Шкалирование Краскала–Шефарда (Kruskal–Shephard scaling) — минимизация стресс-функции S(z1 , z2, . . . , zN ) = ∑ dii − zi − zi 2 i=i (например, методом наискорейшего спуска). Шкалирование Сэммона (Sammon scaling) — минимизация функции 2 dii − zi − zi S(z1 , z2, . . . , zN ) = ∑ i=i dii — маленькие расстояния между точками учитываются сильнее, чем большие.
  • 416. Классический метрический метод. Вместо «различий» dii будем рассматривать «сходства» sii : N 1 sii = xi − x, xi − x , где x= N ∑ xi . i=1 Рассмотрим матрицу S = (sii ). Будем минимизировать функцию ∑ 2 sii − zi − z, zi − z . i=i Эта задача минимизации имеет явное решение в терминах собственных векторов матрицы S. Пусть λ1 ≥ λ2 ≥ . . . ≥ λk суть k наибольших собственных чисел матрицы S, а e1, e2, . . . , ek — соответствующие собственные векторы. E — матрица, составленная из столбцов e1, e2, . . . , ek , √ √ √ D — диагональная матрица с числами λ1 , λ2, . . . , λk на диагонали. Тогда в качестве решений zi (i = 1, 2, . . . , k) нужно взять строки матрицы ED.
  • 417. Если известна матрица S, по ней можно определить D, причем единственным способом. Обратный переход неоднозначен. Например, S можно вычислить по формуле 1 T 1 1T 1 N N S=− T− − + 2 ∑ ∑ tii , 2 N N N i=1 i =1 где 1 — матрица порядка N , заполненная единицами, а T = (tii ) — матрица порядка N , в которой tii = d2 . ii
  • 418. Неметрический метод Шефарда–Краскала основан на минимизации стресс-функции 2 ∑ θ zi − zi − dii ii ∑ d2 ii ii на множестве всех dii и всех монотонно возрастающих функций θ. Если θ зафиксировано, то dii можно найти, например, методом наискорейшего спуска. Если зафиксированы dii , то для поиска θ можно воспользоваться методом изотонной регрессии: функция ищется в классе монотонных ступенчатых функций методом наименьших квадратов. Итерации заканчиваются, когда процесс стабилизируется.
  • 419. Результаты применения классического метрического метода и неметрического метода Шефарда–Краскала к данным из примера ÔÓÐ Ø ×. Было выбрано k = 2. Можно выделить 3 кластера.
  • 421. France 2 Israel Yugoslavia Belgium USA 1 USSR 2nd MDS coordinate Cuba 0 Chile Egypt −1 −2 India Brazil −3 Zaire −2 0 2 1st MDS coordinate
  • 423. 2 France Israel Belgium Yugoslavia USA USSR 1 Cuba 2nd MDS coordinate Chile 0 Egypt −1 −2 Brazil Zaire −3 India −2 0 2 1st MDS coordinate
  • 424. Пример Ø×. Классический метод 2 0 6 0 6 066 6 2 2 2 06 22 2 0 0 2 22 2 0 00 6 6 9 22 22 2 2 2 00 0 0 6 6 0 2 2 2 2 23 22 2 2 9 0 3 2 29 2 2 9 8 2 2 5 02 00 00 66 66 6 6 0 0 6 0 06 22 3 2 25 5 0 0 00 0006 6 60 22 2 0 60 6 0 0 6 0 332 3 3222 9 59 2 3 2 2 29 23 3 3 223 9 8 0 00 06 00 666 0 00 0006 06 6 0 0 2 3 33 2 100 2 22 92 9 5 8 2 5 1 0 0 0 0006660 6 66 6 00 6 6 6 0 6 2 233 22 299 8 95 8 58 5 80 0 000 0 660066 4 6 6 2 3 323 9 282 229 2 9 3 39 3 9 8 0 6 6 666 3 3 22323 3322 22395 2 55 5 95 0 0000 00 00006066 66 066 2 0 6 666 3 3 23239 3 93 8 9 39 8 9 1 100 60 6 0060606 66 33329 22 3 5 92 1 29 23 32 3 29 392 9 9 8 8 1 0 6 00 8 0 0 00 6 2 3 33 2229 3 529 9 2 3 39 9 2 9 2 9 66 66 66 6 6 6 66 60 0 6 6 322 22 22222 9 99899 5595 2 1 0 1000 00 060 66 66 666 6 3 23232 2 898825 3 3 2 89 33 3332 9 393955828 9 9 2 3 22 00 66 3 3 32 3 3 33 333 9 998 3 2 3 3 33 9 8 589 9 0 818 59 8 0 6 060 6 66 6 6 6 6 0 6 0 6 9 22 23 9 3 3 9 99 9 598599 8 55 3 23 8 95 2 2 2 323 2 3 3 2 9 2 3 325 8 3 322 2 8 000 0 6666 0 666 6 4 0060 6 666 6 6 6 0 0 0 0 000 01606 6 6 6 6 2nd MDS coordinate 9 58 95 0 06 0 6 93 2 3 85 2 9 55 1 3 23 2 32 9955 5 51 83 5 8 9 2 33 33 2332 3 235528522 9 95 85 3 32 39 9 2 3 9889 92 85 8 2 8 0 10 0 6 6 66 6 000 0 06 666 6666 66 6 6 2 8 2 98 9 2 1 3 39 39 22 3 55589 5 589285 1 0 00 6 0 66 6 66 3 2 2 3 9 28 8 1 89 5 98 0 0 60 0 6 6 0 6 00 6 6 4 2 3 3 3 5852 589599 5 1 1 8 8 9 88 81 8 3 23 9 606 666 3 33 32 9 2 98 59 89598 5 5 8 0 1 8 60 6 6 6 6 5 59 5 3 3 5 8 5 2 58559 3 39 8 33 8 888885581 8 0 11 5 0 6 04 0 9 8 1 3 3 33 3 3 8 8 3 8 5 4 15 3 33 33 95981 8788588 121 811 1 100 1 4 0 66 0 2 2 29885 818558 550 98 3 2 8585 15 89 52 5 8 55 8 5 8 00 0 0 7 2 38 58 2 5888558891 8 5 1 6 1 0 8 8 85885 5 8 6 2 3 33 8 37 3 3 3 3 82 35 52855 58 5 1 1 5 5 0 1 7 7 3 3 3 3 33 5 5 5 8 5 8 5 87 22581 55 4 4 3 9 381 58 9 8 1 1 1 8 8 2 38 92885155 5 5 81 1 1 51 0 0 0 5 86 5 51 585 5 8 1 4 4 4 3 3 33 7 57 5 38585585 1811151911 5 8 78 8 7 1 5 55 558 9 55 5 9 1 5 0 4 4 4 4 44 4 7 3 33 8 58 3 81515 5 1 1 8 9 3 3 3 4 3 3838791887 95 5 18 11 11 8 1 1 4 8 9 59 5 8 1 11 5 0 9 75 37 3 3 7 57519 515 8 1 1 45 73 4 4 4 4 4 44 9 7 7 7 7 99 7 7874 9 5 195 1 118 81 9 7 1 4 7 73 8 74 9 8 1 11 111 9 85 1 458 4 73 7 7 5 5 91 8 1 18 444 4 4 4 4 44 44 4 4 4 44 4 4 33 74 4 1 7 79 7 4 7 7 7 15 18 5111 1 11 1 5 4 44 4 4 4 4 4 7 4 8 81 1 1 5 4 4 4 44 4 4 4 4 4 9 377 7 3 177 1 1 41 1 1 4 1 9 4 4 44 4 77 9 7 1 7 8 9 4 4 4 44 44 4 44 4 4 4 −100 7 37 7 91 17 77 1 9 1 41 4 4 4 4 44 4 4 4 4 7 7 77 779 9 7 7 79 77 7 7 7 71 75 4 7 1 1 1181 4 1 7 7 7 1 11 111 4 1 4 1 1 91 1 0 4 4 9 7 7 77 9777 7 9 99 119 1111 1 1 4 7 7 7 9 1 17 1 941 91 49 4 44 4 4 4 4 44 4 4 4 4 7 7 777 777 5 5 7 7 9 711 8 1 1 4 9 4 4 4 44 4 4 4 4 4 7 77 7 4 4 199 7 7 77 77 7 7 7 9 191 4 111 1 8 4 99 1 4 77 7 7 77 7 7 77 9 7 1 9 7 9 1 1 911 94 1 44 4 4 4 4 4 4 4 7 77777777 77 77 7 7 1 1 19 7 4 9 4 9 5 7 7 7 77 7 7 9 9 19 1 7 9 9 9 1 7 71 9 9 9 4 4 4 4 4 4 44 4 4 7 77 7 77 9 977 1 4 7 17 4 9 4 4 7 7 7 7 77 7 77 9 77 9 94 4 4 4 44 9 4 9 9 4 4 7 4 4 4 7 77 7 7777 7 7 7 7 99 4 9 −200 777 7 7 7 7 7 7 7 7 7 −200 −100 0 100 200 1st MDS coordinate
  • 425. С помощью LDA тоже можно решать задачу визуализации, но там мы используем метки классов! (было раньше) 22 22 2 2 2 2 222 2 2 2 2 2 2 22 2 00 2 2 222 2 2 22 2 2 2 222 2 2 0 0 00 0 2 22 2 22 22 2 2 2 2 2 22 2 22 22 5 2 0 0000 0000 0 0 0 0 0 0 0 0 0 222 2 222 2 22 2 2 2 222222 2 2 2 2 22 2 0 00 0 0 00 0 0 2 22 2 2 222222 22 2 2 2 22 22222 2 2 0 0 0 0 00 0 0 0 0 00 000 0 0 0 0 0 0 000 0 0 2 2 2 22 22 2 2 2 2 2222 2 0 000 0 0 0 60 0 0 00 0 00 006000 0 0 3 2 2 2 2 222222 3 2 2 2 2 2 22 0 0 0 00 0600 0 6 0 00 8 88 5 522 2 2 2 2 0 0606 000 0 00 0 0 0 0 00 000000006000 0 0 8 5 5 222 5 3 2 3 2 8 8 5 5 2 532 522 323 3 3 2 5 3 0 0 6 0 000 0606 666 0 6 6 8 8 18 8 8 58 5 5 3 53 53 25 3 2 2 3 2 55 3 6 00 6 06 6 0 060006066 8 8 88 8 8 85 8 0 0 0 6 0 6 60 6 0 0666 0 0 00 0 0 6 9 88 88 8 8 89 85 5 5 5 8 8 5 5 5 3 3 53 3 3 3 5 355 5 5 52 55 3333 3 33 5 9 53 33 5 60 66 606006 6 606606 6 6 60 0 666 66066 06 6 0 6 6 6 9 59 5 5 8 88 1 8 88885 5 995555525 55555533 33333333 3 5 23 5 3 33 3 3 3 6 666 0 6 6 6 6 6 666 66 6 6 6 8 18 1888 888188 991 9959553 5 533333 3 333 8 889 89 8 19 1 9 5 88 8 8 581 5 555 3 3 53353 3 8 18 8 89 8 555 953 25353333 33 33 66 6 66 6 666 06 6 6 6 6 6666 6 6 66 6 66 6 0 18 88888818 8 95 5 91 5 555 3 3333333 3 3 889 9 8 9 8 8 1 88 9 1 1 5 9 5 2 3 35 88831 981 88595 5 5 35 9 3 35333 3 3 3 3 3 5 3 06 88 9 88 18 8 98 95 5 5 8 9 5 5 3 188 81 888885 9818 9855 3555 5 333533 3 33 3 6 6 6 6 6 666 6 6 6 6 606 6 66 666 6 6 6 6 66 6 6 6 1 8 8 8 81 8 8 8999 9 9 5 5 9 35 5 3 3 3 53 333 9 95 9 1 9 5 5 333 6 6 6 6 98 9 89 5 5 0 6 606 6 6666 66 6 6 6 1 1 8 1 818889151899888 9 8 99 55 535 53 3333333 33 1 1 9 881 151 19 5 15 3 3 5 3 3 35 3 818 9111 8 8 999 95 5 5 9 5 3 333 3 3 3 8 5 6 6 6666 6 66 6 168 8 1 8 881 8119 88198 9 9 555 5 5 3 33 33 3 8 8 9919 9999891 95 5 89 9 1 1 88 9 119 9 99 3 33 3 666 6 8 199 19 99 9 1 1 1 1 11189 9 81 11 8 5555 5 55 3 3 35 3 9 5 3 11 11 1 8119919 9 191 9 33 5 33 3 19 0 6 6 666 66 6 6 6 66 6 6 66 8 188 111911198198991919 9 5 1 9 19 1 1 1 1 118999 1 15919 5 5 1 1 1 9 1111 9 1 19 1 19 1 1 1 9 6 81 91191 9199 1 9 9 9 1 11 8 11 818 91 1819119 1 1 1 1 1 1 11 1 9 8 8 1 9 33 1 1 1 9 11 111 19 599 1 9 119 9 999 9 9 1 8 9 LD2 9 19 1 1 99 9 1 9 1 1 9 1 1 919 199 19 9 1 9 3 4 1 1 999 1 1 1 19 919 9 1 9 1 3 19 1 9 1 1 9 9 1 1 19 9 9 9 7 4 4 9 9 1 9 9 9 5 7 4 7 4 4 4 4 4 4 4 4 7 77 7 7 4 4 7 7 −5 4 4 4 4 4 4 4 4 444 4 4 4 4 4 4 7 7 7 7 4 4 44 4 4 4 4 7 777 4 4 4 4 44 4 444 4 4 7 7 7 7 7 77 7 7 77 4 44 4 4 4 4 44 4 4 4 4 44 4 4 44 4 7 7 77 7 7 4 4 7 7 7 4 4 4 444 4 4 44 4 4 4 44 4 4 7 7 77 7 7 77 7 777 77 4 4 4 4 4444 4 444 4 44 4 4 4 4 4 4 4 444444 4 44 4 4 4 7 7 7 77 7777 7 7 7 7 7 777 7 7 4 44 4 4 7 777 77 7 7777 7 7 7 77 7 77 4 4 4 4 44 4 4 444 4 4 4 7 77 7 7 7 77 7777 7 7 7 7 7 7 777 7 7 4 44 44 4 4 4 4 4 4 44 7 7 77777777 7 77 77 7 4 44 4 7 777 7777 7 7 77 7 77 7 7 7 77 7 7 7 7 77 7777 7 77 7 7 7 4 7 7 77 7 7 7 4 77 7 7 −10 −5 0 5 LD1
  • 426. 7.2.1. Самоорганизующиеся карты Кохонена Самоорганизующаяся карта Кохонена (self-organized map, SOM) является одним из методов многомерного шкалирования. Прототипы mjj ∈ Rp (j = 1, 2, . . . , K1, j = 1, 2, . . . , K2), K = K1K2 . mjj и mkk — соседи, если |j − k| + |j − k | ≤ ρ N (i, i , ρ) = {(k, k ) : |j − k| + |j − k | ≤ ρ} 0<α<1 Инициализировать значения прототипов mjj ∈ Rp repeat for i = 1, 2, . . . , N Найти ближайший к xi прототип mjj в Rp for (k, k ) ∈ N (i, i , ρ) (т. е. для каждого соседа mkk прототипа mjj ) mkk ← mkk + α(xi − mkk ) end end end
  • 427. Можно использовать не прямоугольную, а гексогональную или треугольную сетку, и т. п.
  • 428. Самоорганизующая карта Кохонена для данных по классификации цветов ириса. Данные содержат 150 объектов, 4 признака. Используется карта с прямоугольной сеткой 6 × 6. Точки, соответствующие объектам, случайным образом расположены вокруг узлов сетки, которым они приписаны. Точки, соответствующие цветам разных сортов, окрашены в разные цвета. Информация о сортах при обучении не использовалась.
  • 430. 2 9 9 6 3 13 3 3 7 2 0 0 1 8 3 0 0 0 7 2 1 0 0 0 6 2 3 0 0 4 16 5 2 0 0 33
  • 431. 7.3. Кластеризация Алгоритмы кластеризации разбивают заданное множество объектов на группы (кластеры), в одном кластере размещая близкие, а в разных — далекие по своим характеристикам объекты. Количество кластеров может быть известно заранее, а может определяться в процессе работы алгоритма. Некоторые алгоритмы кластеризации на вход требуют признаковые описания x1, x2, . . . , xN ∈ Rp объектов. Для других достаточно только матрицы различий D. Если число кластеров известно заранее, то с формальной точки зрения алгоритм кластеризации находит отображение C : {1, 2, . . . , N } → {1, 2, . . . , K} , где N — число имеющихся объектов, а K — число кластеров.
  • 432. 7.3.1. Кластеризация методами теории графов 1. Пусть D — матрица различий. Рассмотрим полный граф с N вершинами. Каждой вершине соответствует объект. Припишем ребрам графа веса dij . Пусть r — некоторый параметр. Удалим из графа все ребра, веса которых больше r. Компоненты связности полученного таким образом графа и есть кластеры. 2. Для полного графа из N вершин, ребрам которого приписаны веса dij , построим миимальное остовное дерево. Удалим из дерева K ребер максимального веса. Получим разбиение множества объектов на K кластеров.
  • 433. 7.3.2. Метод центров тяжести Рассмотрим метод центров тяжести (K-means). Предположим, что множество объектов уже разбито некоторым образом на K групп (кластеров) и значение C(i) равно номеру группы, которой принадлежит i-й объект. Обозначим mk центр тяжести системы точек, принадлежащих k-му кластеру: ∑ xi C(i)=k mk = (k = 1, 2, . . . , K). |{i : C(i) = k}| Будем минимизировать N min ∑ xi − mC(i) 2. (7) C, mk i=1 Для этого применим следующий итерационный алгоритм. Если какое-то разбиение на кластеры уже известно, то обновим C(i) (i = 1, 2, . . . , N ), приписав точке xi тот класс k (k = 1, 2, . . . , m), для которого расстояние от xi до mk минимально. После этого повторим итерацию.
  • 434. Получаем следующий алгоритм. repeat ∑ xi C(i)=k Найти mk ← (k = 1, 2, . . . , K) |{i : C(i) = k}| 2 Положить C(i) ← argmin xi − mk (i = 1, 2, . . . , N ) 1≤k≤K end Итерации в алгоритме повторяются до тех пор, пока C(i) (i = 1, 2, . . . , N ) перестанут изменяться. Алгоритм может не сойтись к точке глобального минимума, но всегда найдет локальный минимум.
  • 435. 7.3.3. Метод медиан Метод центров тяжести работает только с явными описаниями объектов, так как находит mk . Метод медиан, или метод срединных точек, (K-medians или K-medoids) является версией метода центров тяжести, однако ему достаточно только матрицы расстояний D = (dii ). Вместо того, чтобы работать с центрами тяжести, найдем в каждом кластере медиану, или срединную точку mk = xi∗ : k i∗ = argmin k ∑ {i: C(i)=k} C(i )=k d2 . ii Обновим C(i) (i = 1, 2, . . . , N ), приписав точке xi тот класс k (k = 1, 2, . . . , m), для которого расстояние от xi до mk минимально. После этого повторим итерацию.
  • 436. Получаем следующий алгоритм. repeat for k = 1, 2, . . . , K Найти i∗ ← argmin k ∑ D(xi, xi ) {i:C(i)=k} C(i )=k Положить mk = xi∗k end Положить C(i) ← argmin D(xi, mk ) (i = 1, 2, . . . , N ) 1≤k≤K end
  • 437. Результат работы методов центров тяжести и медиан. Для данной системы точек методы дали одинаковый ответ. Кластеры выделены разными цветами. Центры тяжести изображены звездочками, а медианы — кружками. 4 2 x2 0 −2 −4 −2 0 2 4 x1
  • 438. 7.3.4. Метод нечетких множеств Рассмотрим подход к задаче кластеризации, навеянный нечеткой логикой. Зафиксируем некоторое натуральное K и рассмотрим множество U = {1, 2, . . . , K}, которое назовем универсом. Нечетким множеством называется отображение V : U → [0, 1], для которого 0 ≤ V (i) ≤ 1, (i = 1, 2, . . . , N ). Отображение V называется также функцией принадлежности, а значение V (i) — степенью принадлежности элемента i нечеткому множеству V . Предположим, что кластеры являются нечеткими множествами. Пусть тогда uik есть степень принадлежности i-го объекта k-му кластеру. Имеем K ∑ uik = 1, 0 ≤ uik ≤ 1, (i = 1, 2, . . . , N, k = 1, 2, . . . , K). k=1
  • 439. Обозначим mk взвешенный центр тяжести системы точек x1, x2, . . . , xN с весами u1k , u2k , . . . , uN k : N mk = ∑ uik xi. i=1 «Нечеткий» вариант метода центров тяжести заключается в итеративной минимизации N K min ∑ ∑ u2 xi − mk 2. ik uik i=1 k=1 А нечеткий вариант метода медиан состоит в минимизации K ∑ u2 u2 k dii ik i min ∑ i, i . uik k=1 ∑ u2 ik i По окончании процесса полагаем C(i) = argmax uik (i = 1, 2, . . . , N ). k
  • 440. 7.3.5. Метод «форель» Метод «форель» (от «формальный элемент»), предложенный Загоруйко и Елкиной (1967 г.), похож на метод центров тяжести. Он не требует знания количества кластеров, на которые нужно разбить множество объектов. Наоборот, параметром алгоритма является число R, характеризующее близость точек внутри одного кластера. Пусть задана точка x0 в Rp и параметр R. Найдем все объекты из тестовой выборки, попадающие в шар радиуса R с центром x0. Перенесем x0 в центр тяжести системы точек, найденных на предыдущем шаге. Так будем продолжать до тех пор, пока x0 не перестанет изменяться. После этого, если еще остались некластеризованные объекты, то повторим процесс сначала. Точка x0 — это и есть «формальный элемент», так как x0 может не принадлежать множеству рассматриваемых объектов.
  • 441. begin Положить U ← {x1, x2, . . . , xN } (множество некластеризованных объектов) Инициализировать множество кластеров C ← 0 / Инициализировать счетчик количества кластеров k ← 0 while U = 0/ k ←k+1 Выбрать в Rp точку x0 repeat Образовать кластер Ck ← {i : xi − x0 ≤ R, i = 1, 2, . . . , N } 1 Найти центр тяжести x0 ← ∑ xi |Ck | i∈Ck U ← U Ck , C ← C ∪ {ck } end end Возвратить множество C end
  • 442. 7.4. Иерархическая кластеризация (таксономия) Алгоритмы иерархической кластеризации, или таксономии, находят иерархическое представление, такое, что кластеры на каждом уровне получаются объединением кластеров на более низком уровне. Таким образом, речь идет о кластерах кластеров. Можно сказать по-другому: кластеры на более низком уровне получаются дроблением кластеров на более высоком уровне. В вершине этой классификации мы имеет один кластер, включающий все объекты. На низшем уровне имеем N кластеров, каждый из которых включает один объект. Такие иерархические структуры удобно представлять в виде корневых деревьев (дендрограмм). Примеры таксономий: номенклатура живых существ, библиографические классификаторы, различные системы научной классификации и т. п. Алгоритмам иерархической кластеризации не нужно на вход подавать количество кластеров. Имея дендрограмму, исследователь может сам обрезать ее на нужном уровне, получив некоторое количество кластеров.
  • 443. Таксономия 60 клеток на основе анализа уровня экспресии их генов. Иерархия составлена агломеративным усредняющим методом.
  • 444. ME.LOXIMVI LC.A549.ATCC RE.A498 LC.EKVX RE.UO.31 RE.CAKI.1 RE.RXF.393 RE.786.0 RE.ACHN RE.TK.10 CNS.SNB.19 CNS.U251 LC.HOP.62 CNS.SF.295 CNS.SF.268 OV.OVCAR.8 UN.ADR.RES BR.BT.549 LC.NCI.H322M CO.HCT.116 CO.HCT.15 OV.OVCAR.5 PR.PC.3 PR.DU.145 CO.SW.620 OV.OVCAR.3 OV.OVCAR.4 OV.IGROV1 OV.SK.OV.3 LC.NCI.H460 ME.MALME.3M ME.SK.MEL.28 ME.UACC.257 ME.M14 ME.SK.MEL.2 ME.UACC.62 ME.SK.MEL.5 BR.MDA.MB.435 BR.MDA.N LC.NCI.H23 LC.NCI.H522 CNS.SNB.75 BR.HS578T CNS.SF.539 LC.HOP.92 BR.MDA.MB.231.ATCC RE.SN12C LC.NCI.H226 CO.HT29 CO.HCC.2998 CO.KM12 CO.COLO205 BR.MCF7 BR.T.47D LE.CCRF.CEM LE.MOLT.4 LE.HL.60 LE.SR LE.K.562 LE.RPMI.8226
  • 445. 7.4.1. Агломеративные методы Агломеративные методы, или методы «снизу вверх», строят дерево в направлении от листьев к корню. dii — мера различия («расстояние») между i-м и i -м объектами (i = 1, 2, . . . , N ), dRS — мера различия между кластерами R и S, которая каким-либо образом определяется исходя из попарных различий между элементами из R и из S. Некоторые возможные способы определения dRS : по минимальному различию (по принципу «ближнего соседа») dRS = min dii , i∈R, i ∈S по максимальному различию (по принципу «дальнего соседа») dRS = max dii , i∈R, i ∈S по усредненному различию (по принципу «средней связи») 1 |R| · |S| i∈R i∑ ∑ dii . dRS = ∈S
  • 446. Агломеративные методы начинают работу с N кластеров, каждый из которых содержит один объект. Пусть на некотором этапе имеется некоторый набор кластеров. В этом наборе находится пара кластеров, скажем, R и S, для которой dRS минимально. Тогда объекты из этих групп объединяются в один кластер и т. д. Использование разных функций dRS приводит к различным уточнениям данного метода. Первая из упомянутых выше функций (по минимальному различию) обычно приводит к сильно несбалансированным деревьям, длинным и плохо связанным кластерам. Вторая (по минимальному различию) приводит к сбалансированным деревьям и «компактным» кластерам, но, с другой стороны, даже весьма близкие объекты могут оказаться в далеких друг от друга (по иерархии) кластерах. Третий метод занимает промежуточное положение между ними.
  • 447. Single Average Complete
  • 448. 7.4.2. Разделяющие (дивизивные) методы Разделяющие методы, или методы «сверху вниз», строят дерево в направлении от корня к листьям. Один из подходов: На первом шаге ко множеству объектов применим какой-либо алгоритм (центров тяжести, медиан и т. п.), разбивающий это множество на два кластера. Затем разобъем каждый из полученных кластеров и т. д.
  • 449. Другой подход: Достаточно описать, как разбить произвольный кластер R. Сначала найдем в R объект, для которого среднее расстояние до всех остальных объектов максимально: 1 i∗ = argmax i∈R ∑ dii |R| − 1 i ∈R, i =i Удалим i∗ из R и поместим в S. Далее выполняем следующие итерации. Среди оставшихся в R объектов найдем 1 1 i∗ = argmax i∈R ∑ |R| − 1 i ∈R, i =i dii − ∑ dii |S| i ∈S Также поместим его в S и удалим из R. Эту итерацию будем продолжать до тех пор, пока 1 1 max ∑ dii − |S| ∑ dii |R| − 1 i ∈R, i =i ≥ 0. i ∈S Тогда имеем разбиение исходного кластера на два подкластера R и S.
  • 450. Процедура для разбиения кластера R на два подкластера R и S: begin S←0 / i∗ ← argmax |R|−1 ∑i ∈R, i =i dii 1 i∈R R ← R {i∗} S ← S ∪ {i∗} 1 1 while max ∑ d − ∑ d ≥0 |R| − 1 i ∈R, i =i ii |S| i ∈S ii 1 1 i∗ = argmax ∑ dii − ∑ d i∈R |R| − 1 i ∈R, i =i |S| i ∈S ii R ← R {i∗} S ← S ∪ {i∗} end Имеем разбиение исходного кластера на два подкластера R и S. end
  • 451. 7.5. Оценка параметров распределения 7.5.1. EM-алгоритм Смесь гауссианов X1 ∼ N (µ1 , σ1), X2 ∼ N (µ2, σ2), X = (1 − ∆) · X1 + ∆ · X2, где ∆ — случайная величина (скрытая переменная), принимающая два значения 0 и 1 с вероятностями Pr (∆ = 1) = π, Pr (∆ = 0) = 1 − π соответственно. Необходимо по выборке x1, x2, . . . , xN восстановить значения параметров µ1, σ1, µ2 , σ2, π.
  • 452. 1.5 x2 1.0 0.5 0.0 0.5 1.0 x1
  • 453. 1.5 x2 1.0 0.5 0.0 0.5 1.0 x1
  • 454. 4 2 1.5 1.0 0.0 0.5 0.5 1.0
  • 455. 1.6 1.4 1.2 1.0 x2 0.8 0.6 0.4 −0.2 0.0 0.2 0.4 0.6 0.8 1.0 x1
  • 456. Будем максимизировать логарифмическую функцию правдоподобия N (x1, x2, . . . , xN , µ1 , σ1, µ2, σ2, π) = ∑ log (1 − π)N (xi, µ1 , σ1) + πN (xi, µ2 , σ2) . i=1 Максимизация — Maximization step. Если значения ∆1 , ∆2, . . . , ∆N случайной величины ∆ известны, то логарифмическая функция правдоподобия принимает вид N 0 (x1 , . . . , xN , ∆1 , . . . , ∆N , µ1 , σ1, µ2 , σ2 , π) = ∑ log (1 − ∆i)N (xi, µ1 , σ1) + ∆iN (xi, µ2 i=1 2 и ее минимум достигается, когда µ1 и σ1 равна среднему и выборочной дисперсии 2 для тех данных, для которых ∆i = 0, и, аналогично, µ2 и σ2 равна среднему и выборочной дисперсии для тех данных, для которых ∆i = 1. Ожидание — Expectation step. Истинные значения ∆i не известны, но при заданных µ1 , σ1, µ2, σ2 их можно заменить на ожидаемые значения γi(µ1, σ1, µ2 , σ2) = E (∆i |x1, . . . , xN , µ1 , σ1, µ2, σ2) = Pr (∆i = 1|x1, . . . , xN , µ1 , σ1, µ2 , σ2 Процесс продолжается до тех пор, пока значения искомых параметров не стабилизируются.
  • 457. Алгоритм Expectation–maximization («ожидание–максимизация») Установить начальные значения для µ1, σ1, µ2 , σ2, π. Например, 1 N 1 2 µ1 ← xi, µ2 ← xi , где i, i — случайны, σ1 ← σ2 ← 2 ∑ (xi − x)2 , π ← N i=1 2 repeat Expectation step πN (xi, σ2, µ2) γi ← (i = 1, 2, . . . , N ) (1 − π)N (xi, σ1, µ1) + πN (xi, σ2, µ2) Maximization step N N ∑ (1 − γi)xi ∑ (1 − γi)(xi − µ1)2 i=1 2 i=1 µ1 ← N , σ1 ← N , ∑ (1 − γi) ∑ (1 − γi) i=1 i=1 N N ∑ γixi ∑ γi(xi − µ1 )2 1 N µ2 ← i=1 N , 2 σ2 ← i=1 N , π← ∑ γi N i=1 ∑ γi ∑ γi i=1 i=1 end
  • 458. EM-алгоритм распросраняется на случай смеси K гауссианов.
  • 459. Варианты Стандартное отклонение σk может быть: (а) Единым для всех: σk = σ (б) Разным p≥2 Матрица ковариации Σk может быть: 1. (а) Единой для всех: Σk = Σ (k = 1, 2, . . . , K) (б) Разной 2. (а) Скалярной: Σk = λk I (б) Диагональной: Σk = Dk (в) Произвольной (положительно определенной): Σk
  • 460. 90 80 waiting 70 60 50 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 eruptions
  • 461. 90 80 waiting 70 60 50 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 eruptions
  • 462. 0.04 0.02 100 0.00 80 2 60 4 40
  • 463. 100 1e −0 4 0.001 0.005 90 0.03 80 1e−05 0.04 1e−04 waiting 0.02 70 0.001 0.01 60 1e−04 1e−05 50 0.02 0.01 0.005 40 2 3 4 5 eruptions
  • 464. 90 80 waiting 70 60 50 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 eruptions
  • 465. 0.04 0.02 100 0.00 80 2 60 4 40
  • 466. 100 1e −0 4 90 0.01 0.03 0.04 80 1e−05 1e−04 waiting 0.02 70 0.001 0.005 0.01 0.001 60 1e−04 0.03 1e−05 50 0.02 0.005 40 2 3 4 5 eruptions
  • 467. 90 80 waiting 70 60 50 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 eruptions
  • 468. 0.04 0.02 100 0.00 80 2 60 4 40
  • 469. waiting 40 50 60 70 80 90 100 2 3 eruptions 4 5
  • 470. 90 80 waiting 70 60 50 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 eruptions
  • 471. 0.04 0.02 100 0.00 80 2 60 4 40
  • 472. 100 1e−04 0.001 90 0.01 0.02 0.04 80 1e−05 0.03 waiting 70 0.005 0.01 1e−04 60 1e−05 04 0. 50 0.03 0.02 0.005 40 2 3 4 5 eruptions
  • 473. 7.6. EM. Общий случай Наблюдаемые значения: x = (x1, x2, . . . , xN ) Скрытые переменные: ∆ = (∆1, ∆2, . . . , ∆N ) Логарифмическая функция правдоподобия: (θ, x) Логарифмическая функция правдоподобия, если ∆ известны: 0 (θ, x, ∆)
  • 474. begin Установить начальные значения для θ. repeat Expectation step Вычислить Q(θ , θ) ← E ( 0(θ , x, ∆)| x, θ) как функцию от θ Maximization step θ ← argmax Q(θ , θ) θ end end Можно показать, что (θ , x, ∆) ≥ (θ, x, ∆)
  • 475. Глава 8 Теория машинного обучения Истоки: В.П. Вапник, А.Я. Червоненкис [1971]
  • 476. Лемма 8.1 Пусть A1, A2 , . . . , Aq — некоторые события (зависимые или независимые), заданные на одном вероятностном пространстве, тогда Pr (A1 ∪ A2 ∪ . . . ∪ Aq ) ≤ Pr A1 + Pr A2 + . . . + Pr Aq . Лемма 8.2 (С.Н. Бернштейн, H. Chernoff, W. Hoeffding) Пусть Z1, Z2, . . . , ZN — независимые одинаково распределенные случайные величины. Pr (Zi = 1) = θ, Pr (Zi = 0) = 1 − θ (схема Бернулли). Тогда 2 Pr (|θ − θ| > γ) ≤ 2e−2γ N , где N 1 θ= N ∑ Zi. i=1
  • 477. Рассмотрим задачу классификации на 2 класса. F — некоторое множество функций f : Rp → {0, 1}. (X, Y ) — (p + 1)-мерная с.в. с неизвестной функцией распределения P (x, y) Ожидаемый риск R(f ) = E I f (X) = Y = Pr I f (X) = Y . (x1, y1), (x2 , y2), . . . , (xN , yN ) — обучающая выборка. Эмпирический риск (частота ошибки) на данной выборке есть N 1 R(f ) = N ∑I f (xi) = yi . i=1 Задача: оценить R(f ) в терминах R(f ). Принцип минимизации эмпирической риска: f = argmin R(f ) f ∈F
  • 478. 8.1. Случай конечного F Пусть F = {f1, f2, . . . , fq }. Рассмотрим f ∈ F . Введем семейство случайных величин Zi = I f (Xi) = Yi (i = 1, 2, . . . , N ). Zi распределены одинаково и независимо — схема испытаний Бернулли. По лемме 2 2 Pr (|R(f ) − R(f )| > γ) ≤ 2e−2γ N Откуда −2γ 2N Pr (|R(f ) − R(f )| ≤ γ) ≥ 1 − 2e Итак, для конкретной f эмпирический риск близок к ожидаемому с большой вероятностью. Нас же интересует более сильное условие: Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ
  • 479. Pr ∃ f ∈ F : |R(f ) − R(f )| > γ = Pr (A1 ∪ . . . ∪ Aq ) ≤ q q ≤ ∑ Pr (Ai) ≤ ∑ 2e −2γ 2N −2γ 2N = 2qe i=1 i=1 Мы доказали утверждение: Утверждение 8.3 (О равномерной сходимости R к R в случае конечного F ) −2γ 2N Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ ≥ 1 − 2qe 1 2q Следствие 8.4 Если N ≥ 2 ln , тогда 2γ δ Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ ≥ 1 − δ. Следствие 8.5 1 2q Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ ln ≥1−δ N δ
  • 480. Следствие 8.6 (Принцип минимизации эмпирического риска) Пусть f ∗ = argmin R(f ), f = argmin R(f ), f ∈F f ∈F тогда 1 2q Pr R(f ) ≤ R(f ∗ ) + 2 ln ≥ 1 − δ. N δ Д ОКАЗАТЕЛЬСТВО . 0 ≤ R(f ) − R(f ∗ ) = R(f ) − R(f ) + R(f ) − R(f ∗) + R(f ∗ ) − R(f ∗ ) = = R(f ) − R(f ) + R(f ) − R(f ∗ ) + R(f ∗ ) − R(f ∗ ) ≤ 2γ. ≤γ ≤0 ≤γ Поэтому Pr R(f ) − R(f ∗ ) ≤ 2γ ≥ Pr R(f ) − R(f ) ≤ γ и R(f ∗ ) − R(f ∗ ) ≤ γ ≥ 1 − δ, 1 2q где δ = ln . N δ
  • 481. 8.2. Случай бесконечного F Коэффициентом разнообразия (shatter coefficient) ∆0(F , x) множества F на выборке x называется количество различных бинарных векторов вида f (x1), f (x2 ), . . . , f (xN ) , порождаемых всевозможными функциями f из F .
  • 482. Пример. В качестве F рассмотрим класс пороговых функций (линейных решающих правил) F = TFp = {f (x) = I(β0 + β, x ≤ 0) : β0 ∈ R, β ∈ Rp } ∆0 (TFp, x) = 8 (все возможные разбиения)
  • 484. Если 3 точки на прямой, то ∆0 (TFp, x) = 6 Если N точек на прямой, то ∆0(TFp, x) = 2N Если 4 точки (в общем положении) в R2, то . . . ∆0 (TFp, x) = 14 т. е. все без двух
  • 485. Функцией роста ∆(F , N ) класса F называется максимальное значение ∆0 (F , x), если максимум берется по всем возможным выборкам x длины N : ∆(F , N ) = max ∆0(F , x). |x|=N Утверждение 8.7 Функция роста класса пороговых функций равна N −1 N −1 N −1 ∆(TFp, N ) = 2 + + ... + . 0 1 p Например, ∆(TF2, 2) = 4, ∆(TF2, 3) = 8, ∆(TF2, 4) = 14, ∆(TF2, 5) = 22 ∆(TF3, 2) = 4, ∆(TF3, 3) = 8, ∆(TF3, 4) = 16, ∆(TF3, 5) = 30
  • 486. Система из N неравенств с неизвестными β0, β1, . . . , βp: β0 + β, x ≤ 0, если f (x) = 0 β0 + β, x > 0, если f (x) = 1 Не нарушая общности, можем считать, что точка 0 — один из объектов. Множество всех функций разобьется на два равномощных класса: для которых f (0) = 0 и для которых f (0) = 1 Будем считать только первые, а затем результат умножим на 2. Для них можно считать, что β0 = −1: −1 + β, x ≤ 0, если f (x) = 0 −1 + β, x > 0, если f (x) = 1
  • 487. β2 β1
  • 488. β2 2 1 3 4 5 8 6 7 9 11 10 β1 Количество областей
  • 489. Найдем максимальное количество Γ(p, N ) областей, на которые можно разбить p-мерное пространство N гиперплоскостями.
  • 490. Справедливо рекуррентное соотношение Γ(p, N ) = Γ(p, N − 1) + Γ(p − 1, N − 1), откуда получаем N N N Γ(p, N ) = + + ... + . 0 1 p
  • 491. Размерностью Вапника–Червоненкиса (VC-размерностью), или емкостью, VC(F ) класса F называется максимальное N , при котором ∆(F , N ) = 2N . Если максимального N не существует, то будем считать, что размерность Вапника-Червоненкиса равна бесконечности. Эквивалентно: Размерностью Вапника–Червоненкиса называется наибольшая мощность множества в X , разбиваемая (shatter) функциями из F . Говорят, что F разбивает множество {x1, x2, . . . , xN }, если для любого двоичного набора y ∈ {0, 1}N найдется f ∈ F , такое, что y = f (x1 ), f (x2 ), . . . , f (xN ) . Чтобы доказать, что VC F = h достаточно проделать две вещи: 1) доказать VC F ≥ h; для этого достаточно построить {x1, x2, . . . , xN }, разбиваемое функциями из F ; 2) доказать VC F ≤ h; для этого достаточно показать, что никакое множество из n + 1 точек нельзя разбить функциями из F .
  • 492. Утверждение 8.8 Если F конечно, то VC(F ) ≤ log2 |F |. Утверждение 8.9 Размерность Вапника–Червоненкиса класса пороговых функций равна VC(TFp) = p + 1.
  • 493. Теорема 8.10 (Вапник–Червоненкис) (О равномерной сходимости R к R в случае конечной VC F ) Пусть F задано и VC F конечно, тогда Pr ∀ f ∈ F : |R(f ) − R(f )| ≤ γ ≥ 1 − δ, (8) Pr R(f ) ≤ R(f ∗ ) + 2γ ≥ 1 − δ. (9) где VC F N 1 1 γ=O ln + ln . (10) N VC F N δ В правой части неравенства R(f ) ≤ R(f ∗ ) + 2γ с ростом VC F первое слагаемое убывает, а второе (при VC F < N ) возрастает. Сумма достигает своего минимума при некотором оптимальном значении VC F . Также можно доказать, что если VC F = ∞, то равномерной сходимости нет.
  • 494. Пусть F = {f : f (x, α), α ∈ [0, 1]} — класс решающих правил R(α) — средний риск, R(α) — эмпирический риск на функции f (x, α) R(α) R(α) ∗ R(α) R(α ) α α∗ α R(α) далеко от минимального значения R(α∗ ). lim Pr |R(f ) − R(f )| ≤ γ = 1. N →∞
  • 495. Равномерная сходимость R(α) R(α) R(α) R(α∗ ) α α α∗ lim Pr ∀f :∈ F : |R(f ) − R(f )| ≤ γ = 1. N →∞
  • 496. Принцип структурной минимизации риска, предложенный Вапником, предназначен для отыскания оптимальной сложности. Пусть в F выделена некоторая цепочка подсемейств F1 ⊂ F2 ⊂ . . . ⊂ FK = F . Необходимо выбрать семейство с минимальным значением верхней оценки в (9). К сожалению, оценки (8)–(10) являются слишком завышенными, чтобы их можно было использовать для практических вычислений. Однако они представляют большой интерес с теоретической точки зрения и являются стимулом для дальнейших исследований в поиске подобных оценок, в частности в теории вероятностно–приближенно–корректного обучения (probably approximately correct learning, PAC–learning). Изложенные здесь результаты распространяются на задачу классификации с б´ льшим числом классов и на задачу восстановления регрессии. о Пусть F — некоторый класс функций f : X → Y . Размерностью Вапника–Червоненкиса для класса F называется VC F = VC F , где F = I f (x) − y : f ∈ F , y ∈ Y .
  • 497. Теорема 8.11 (Лемма Зауэра; Sauer, 1972; Shelah, 1972) Пусть класс F имеет конечную размерность Вапника–Червоненкиса VC(F ) = h, тогда h N N N eN ∆(F , N ) ≤ + + ... + < 0 1 h h