Предыдущий раздел относился к полностью наблюдаемому случаю. Но многие реальные задачи характеризуются наличием скрытых переменных (иногда называемых латентными переменными), которые не наблюдаются в данных, доступных для обучения. Например, истории болезни часто включают описания наблюдаемых симптомов, применяемого лечения и, возможно, результата лечения, но редко содержат сведения6 о непосредственном наблюдении за развитием самого заболевания! Очевидно, напрашивается вопрос: "Если ход развития заболевания не наблюдается, то почему бы не построить модель без него?" Ответ на этот вопрос можно найти на рис. 20.7, где показана небольшая фиктивная диагностическая модель для сердечного заболевания. Существуют три наблюдаемых фактора, способствующих или препятствующих развитию заболевания, и три наблюдаемых симптома (которые имеют слишком сложные медицинские названия, поэтому им присвоены условные обозначения). Предполагается, что каждая переменная имеет три возможных значения (например, попе (отсутствующий), moderate (умеренный) и severe (серьезный)). Удаление скрытой переменной из сети, приведенной на рис. 20.7, а, влечет за собой создание сети, показанной на рис. 20.7, б при этом общее количество параметров увеличивается с 78 до 708. Таким образом, скрытые переменные позволяют резко уменьшить количество параметров, требуемых для определения байесовский сети. А такой факт, в свою очередь, позволяет резко уменьшить объем данных, необходимых для определения в процессе обучения рассматриваемых параметров. Рис. 20.7. Иллюстрация необходимости использования скрытых переменных: простая диагностическая сеть для сердечного заболевания, в которой предполагается наличие скрытой переменной; каждая переменная имеет три возможных значения и соответствующий ей узел обозначен количеством независимых параметров в распределении ее условной вероятности; общее количество параметров равно 78 (а); эквивалентная сеть с удаленным узлом HeartDisease. Обратите внимание на то, что переменные симптомов больше не являются условно независимыми, если даны значения их родительских переменных. Для этой сети требуется 708 параметров (б) Скрытые переменные важны, но их введение приводит к усложнению задачи обучения. Например, на рис. 20.7, а не показано наглядно, как найти в процессе обучения распределение условных вероятностей для переменной HeartDisease, если заданы ее родительские переменные, поскольку значение переменной HeartDisease в каждом случае не известно; такая же проблема возникает при поиске в процессе обучения распределений вероятностей для симптомов. В этом разделе описан алгоритм, называемый ожиданием—максимизацией, или сокращенно ЕМ (Expectation-Maximization), который позволяет решить эту проблему очень общим способом. Мы рассмотрим три примера, а затем приведем общее описание. На первых порах складывается впечатление, что этот алгоритм действует как по волшебству, но как только будет достигнуто его интуитивное понимание, читатель сможет найти приложения для алгоритма ЕМ в огромном спектре задач обучения.
|