Введение в машинное обучение. Равиль Ильгизович Мухамедиев

Введение в машинное обучение - Равиль Ильгизович Мухамедиев


Скачать книгу
наступления события B при истинности гипотезы A – P(B|A), то мы можем рассчитать условную вероятность гипотезы А при наступлении события B:

      Рассмотрим пример.

      Предположим, что нам известна статистика дворовых игр в футбол и погода, при которых они состоялись, например, в таком виде:

      То есть мы имеем информацию о количестве игр (14) и сведения о трех видах погоды, при которой они проходили: sunny – солнечно, rainy – дождливо, overcast – пасмурно. Попробуем рассчитать, состоится ли очередная игра, если на улице солнечно (sunny). Для этого нам нужно рассчитать вероятность того, что игра состоится ('yes') при условии 'Sunny', то есть нам нужно рассчитать:

      P('yes'|'Sunny').

      Другими словами, мы хотим оценить вероятность справедливости гипотезы, что А = 'yes' – игра состоится при условии, что B = 'Sunny'.

      Для такого расчета нам нужно вычислить априорные вероятности того, что погода солнечная – P('Sunny') и что игра вообще состоится P('yes'). Кроме этого, рассчитать условную вероятность того, что погода является солнечной при состоявшейся игре P('Sunny'|'yes'). Тогда в соответствии с теоремой Байеса мы сможем рассчитать искомую вероятность:

      P('yes'|'Sunny') = P('Sunny'|'yes') * P('yes') / P('Sunny')

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

      A_value = 'yes'

      B_hypothes = 'Sunny'

      Тогда цель нашего расчета – получить значение величины:

      P(A_value|B_hypothes) = P('yes'|'Sunny') = P('Sunny'|'yes') * P('yes') / P('Sunny')

      Рассчитаем условную вероятность:

      P('Sunny'|'yes') = 3 / 9 = 0.33

      Рассчитаем априорные вероятности солнечной погоды и того, что игра состоится:

      P('Sunny') = 5 / 14 = 0.36

      P('yes') = 9 / 14 = 0.64

      Подставив полученные значения, получим:

      P('yes'|'Sunny') = 0.33 * 0.64 / 0.36 = 0.60.

      2.11.2. Алгоритм Naïve Bayes

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

      где NBI1 – вывод наивного байесовского классификатора (Naïve Bayes Inference); сi – i-e свойство или признак из F (features), влияющий на вывод классификатора. Отметим, что если P('yes')= P('no'), то первый сомножитель будет равен 1. Это означает, что если априорные вероятности исходов одинаковы, то формула упрощается к виду:

      Оценки вероятностей вычисляются следующим образом:

      где freq – частота; N – частота всех случаев данного класса. Примером служит выражение P('Sunny'|'yes') = 3 / 9 = 0,33.

      В выражении Eq. 2 величина NBI принимает значения от 0 до +∞. Если NBI < 1, то это свидетельствует в пользу отрицательной гипотезы ('no'). Если NBI > 1, то это свидетельство того, что текущее сочетание условий дает возможность положительного вывода ('yes'). Отметим, что если мы используем выражение Eq. 2, то мы должны примириться с неравновесностью такого вывода.

      Кроме того, если некоторые признаки встречаются только в сочетании с 'yes' или 'no', то мы можем получить ошибку вывода, когда произведение обращается в ноль либо происходит деление на ноль. Третья проблема связана с тем, что оценки условных вероятностей обычно имеют небольшое значение, и если их


Скачать книгу